@wirecat/cli-core 0.378.0 → 0.379.0
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 +21 -0
- package/dist/cli/envelope.d.ts +10 -0
- package/dist/cli/list-query.js +2 -2
- package/dist/cli/meeting-preparation-read.js +5 -5
- package/dist/cli/meeting-series-inventory-read.js +3 -4
- package/dist/cli/messenger/contacts-command.js +1 -1
- package/dist/cli/messenger/stats-command.js +3 -1
- package/dist/domain/moment.d.ts +8 -0
- package/dist/domain/moment.js +14 -0
- package/dist/domain/send-time.d.ts +2 -2
- package/dist/domain/send-time.js +4 -3
- package/dist/entities/account-session.d.ts +2 -2
- package/dist/entities/admin-report.d.ts +8 -8
- package/dist/entities/agenda.d.ts +12 -12
- package/dist/entities/chat-event.d.ts +1 -1
- package/dist/entities/chat-stats.d.ts +5 -5
- package/dist/entities/chat.d.ts +4 -4
- package/dist/entities/contact-note.d.ts +2 -2
- package/dist/entities/contact.d.ts +13 -13
- package/dist/entities/conversation.d.ts +3 -3
- package/dist/entities/counter-reading.d.ts +1 -1
- package/dist/entities/counters.d.ts +2 -2
- package/dist/entities/document.d.ts +2 -2
- package/dist/entities/evidence.d.ts +72 -72
- package/dist/entities/fact.d.ts +3 -3
- package/dist/entities/fields.d.ts +3 -1
- package/dist/entities/fields.js +2 -0
- package/dist/entities/hit.d.ts +1 -1
- package/dist/entities/index.d.ts +216 -215
- package/dist/entities/index.js +1 -0
- package/dist/entities/invite-link.d.ts +1 -1
- package/dist/entities/job.d.ts +2 -2
- package/dist/entities/join-request.d.ts +1 -1
- package/dist/entities/meeting-communications.d.ts +4 -4
- package/dist/entities/meeting-findings.d.ts +2 -2
- package/dist/entities/meeting-preparation-parts.d.ts +9 -9
- package/dist/entities/meeting-preparation.d.ts +23 -23
- package/dist/entities/meeting-series-inventory.d.ts +3 -3
- package/dist/entities/member.d.ts +3 -3
- package/dist/entities/memory.d.ts +3 -3
- package/dist/entities/message.d.ts +6 -6
- package/dist/entities/note.d.ts +3 -3
- package/dist/entities/official-stats.d.ts +2 -2
- package/dist/entities/poll-vote.d.ts +1 -1
- package/dist/entities/ranking.d.ts +2 -2
- package/dist/entities/relationship.d.ts +1 -1
- package/dist/entities/retention.d.ts +4 -4
- package/dist/entities/saved-search.d.ts +2 -2
- package/dist/entities/tagging.d.ts +1 -1
- package/dist/entities/task.d.ts +7 -7
- package/dist/entities/topic.d.ts +2 -2
- package/dist/mcp/tools/stats.js +3 -1
- package/dist/meetings/answers.d.ts +14 -14
- package/dist/meetings/cli/index.js +7 -4
- package/dist/meetings/cli/search.js +11 -13
- package/dist/meetings/item.d.ts +4 -4
- package/dist/meetings/project-evidence-answer.d.ts +3 -3
- package/dist/services/admin-statistics.js +2 -2
- package/dist/services/moment.d.ts +4 -2
- package/dist/services/moment.js +13 -4
- package/dist/store/sqlite/facts.js +2 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,27 @@ Notable changes to `@wirecat/cli-core` (`@wirecat/cli-messaging` up to 0.261.0,
|
|
|
5
5
|
minor version may break callers, and says how under "Changed — may break callers". `pnpm docs:check` checks the
|
|
6
6
|
shape of this file.
|
|
7
7
|
|
|
8
|
+
## Unreleased
|
|
9
|
+
|
|
10
|
+
## 0.379.0 — 21.10.2026
|
|
11
|
+
|
|
12
|
+
### Changed — may break callers
|
|
13
|
+
|
|
14
|
+
- **A typed date or time is read in a zone, and a date alone covers the whole local day** (cli-base `WC-TIME-3`,
|
|
15
|
+
`WC-TIME-5`). `--since-time`, `--until-time`, `--at-time`, `--due`, `--remind-time`, `chats mute --until`, fact
|
|
16
|
+
`occurredAt`, `meetings sync --since-time` and `search meetings --since-time`/`--until-time` used `Date.parse`: a date
|
|
17
|
+
alone was UTC midnight, a time without a zone was the process zone, and `--timezone` was ignored. Now a zone the
|
|
18
|
+
value names wins; otherwise the command's `--timezone` (stats, admin statistics, the MCP `stats` tool), else the
|
|
19
|
+
computer's IANA zone. A date alone starts at local midnight; as an end (`--until-time`) it is the last millisecond
|
|
20
|
+
of that local day, so the day is no longer dropped. A local time that daylight saving skips or repeats is refused.
|
|
21
|
+
List-query `time` terms (`timeBounds`) default to the computer's zone, not UTC. What to watch for: `momentOf` and
|
|
22
|
+
`aheadOf` keep their signature and take an optional `{ zone, end }`; a caller that passed a date alone and expected
|
|
23
|
+
UTC midnight now gets local midnight. `search meetings` now takes a time without an offset instead of refusing it.
|
|
24
|
+
The answers do not name the zone used yet (`meta.timezone`); that follows.
|
|
25
|
+
- **cli-base 0.48.0.** `isoTime` refuses offsets other than `Z`; two input schemas that take a caller's time with any
|
|
26
|
+
offset (meeting preparation, meeting series inventory) use the new `zonedTime` instead. The peer range moves to
|
|
27
|
+
`>=0.48.0 <0.49.0`, and `node-ci.yml` runs the tests in `Asia/Vladivostok`.
|
|
28
|
+
|
|
8
29
|
## 0.378.0 — 21.10.2026
|
|
9
30
|
|
|
10
31
|
### Added
|
package/dist/cli/envelope.d.ts
CHANGED
|
@@ -84,6 +84,11 @@ export declare const answerSchema: (item?: v.GenericSchema) => v.UnionSchema<[v.
|
|
|
84
84
|
readonly source: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "must not be empty">]>;
|
|
85
85
|
}, undefined>, undefined>, undefined>;
|
|
86
86
|
readonly truncated: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
87
|
+
readonly timezone: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "must not be empty">]>, undefined>;
|
|
88
|
+
readonly window: v.OptionalSchema<v.StrictObjectSchema<{
|
|
89
|
+
readonly since: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
90
|
+
readonly until: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
91
|
+
}, undefined>, undefined>;
|
|
87
92
|
}, undefined>;
|
|
88
93
|
}, undefined>, v.StrictObjectSchema<{
|
|
89
94
|
readonly item: v.GenericSchema;
|
|
@@ -132,6 +137,11 @@ export declare const answerSchema: (item?: v.GenericSchema) => v.UnionSchema<[v.
|
|
|
132
137
|
readonly source: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "must not be empty">]>;
|
|
133
138
|
}, undefined>, undefined>, undefined>;
|
|
134
139
|
readonly truncated: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
140
|
+
readonly timezone: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "must not be empty">]>, undefined>;
|
|
141
|
+
readonly window: v.OptionalSchema<v.StrictObjectSchema<{
|
|
142
|
+
readonly since: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
143
|
+
readonly until: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
144
|
+
}, undefined>, undefined>;
|
|
135
145
|
}, undefined>;
|
|
136
146
|
}, undefined>], undefined>;
|
|
137
147
|
/**
|
package/dist/cli/list-query.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { annotate } from "@wirecat/cli-base/commands";
|
|
2
|
-
import { dateRange, defineQuery, fieldsHelp, fieldsNamed, OPERATORS_BY_TYPE, parseLucene, QUERY_LIMITS, queryError, queryFieldsOf, validateQuery, } from "@wirecat/cli-base/query";
|
|
2
|
+
import { dateRange, defineQuery, fieldsHelp, fieldsNamed, OPERATORS_BY_TYPE, parseLucene, QUERY_LIMITS, queryError, queryFieldsOf, timezoneOf, validateQuery, } from "@wirecat/cli-base/query";
|
|
3
3
|
import * as v from "valibot";
|
|
4
4
|
import { queryWordsAfterOptions } from "../meetings/cli/index.js";
|
|
5
5
|
import { listOf } from "./envelope.js";
|
|
@@ -131,7 +131,7 @@ export const queryTerms = (words, registry, command) => {
|
|
|
131
131
|
return terms;
|
|
132
132
|
};
|
|
133
133
|
/** A `time` term as epoch ms bounds: `time>=7d`, `time:[2026-10-01 TO 2026-10-07]`, `time:today`. */
|
|
134
|
-
export const timeBounds = (term, zone =
|
|
134
|
+
export const timeBounds = (term, zone = timezoneOf()) => {
|
|
135
135
|
if (!term)
|
|
136
136
|
return {};
|
|
137
137
|
const upper = term.operator === "range" ? (term.upper ?? "*") : term.value;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CliError } from "@wirecat/cli-base";
|
|
2
|
-
import { isoTime } from "@wirecat/cli-base/standards";
|
|
3
2
|
import * as v from "valibot";
|
|
4
3
|
import { communicationFields } from "../context/communication-selection.js";
|
|
4
|
+
import { zonedTime } from "../entities/index.js";
|
|
5
5
|
import { validateMeetingChange } from "../meetings/index.js";
|
|
6
6
|
import { MEETING_PREPARATION_LIMITS, validateMeetingPreparationRequest, } from "../services/index.js";
|
|
7
7
|
import { validatePreparationCommunications } from "../services/meeting-communications-selection.js";
|
|
@@ -12,11 +12,11 @@ const bound = (name) => {
|
|
|
12
12
|
};
|
|
13
13
|
export const meetingPreparationInput = v.strictObject({
|
|
14
14
|
series_id: v.pipe(v.string(), v.minLength(1), v.maxLength(1000)),
|
|
15
|
-
communications: v.optional(v.strictObject({ ...communicationFields, after: v.optional(
|
|
15
|
+
communications: v.optional(v.strictObject({ ...communicationFields, after: v.optional(zonedTime), before: v.optional(zonedTime) })),
|
|
16
16
|
project: v.optional(v.pipe(v.string(), v.minLength(1), v.maxLength(200))),
|
|
17
|
-
after: v.optional(
|
|
18
|
-
until: v.optional(
|
|
19
|
-
history_after: v.optional(
|
|
17
|
+
after: v.optional(zonedTime),
|
|
18
|
+
until: v.optional(zonedTime),
|
|
19
|
+
history_after: v.optional(zonedTime),
|
|
20
20
|
meetings: bound("meetings"),
|
|
21
21
|
cues: bound("cues"),
|
|
22
22
|
context_limit: bound("contextLimit"),
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { CliError } from "@wirecat/cli-base";
|
|
2
|
-
import { isoTime } from "@wirecat/cli-base/standards";
|
|
3
2
|
import * as v from "valibot";
|
|
4
|
-
import { meetingSeriesInventory } from "../entities/index.js";
|
|
3
|
+
import { meetingSeriesInventory, zonedTime } from "../entities/index.js";
|
|
5
4
|
import { validateMeetingChange, validateMeetingSeriesInventoryCursor, } from "../meetings/index.js";
|
|
6
5
|
import { itemOf, metaNow, sealed, snakeKeys } from "./envelope.js";
|
|
7
6
|
const bounded = (min, max) => v.optional(v.pipe(v.number(), v.integer(), v.minValue(min), v.maxValue(max)));
|
|
8
7
|
export const meetingSeriesInventoryInput = v.strictObject({
|
|
9
|
-
after: v.optional(
|
|
10
|
-
until: v.optional(
|
|
8
|
+
after: v.optional(zonedTime),
|
|
9
|
+
until: v.optional(zonedTime),
|
|
11
10
|
limit: bounded(1, 100),
|
|
12
11
|
max_read_bytes: bounded(1, 1048576),
|
|
13
12
|
bytes: bounded(2048, 1048576),
|
|
@@ -153,7 +153,7 @@ export const contactsCommand = (messenger) => {
|
|
|
153
153
|
const found = await context.withServices((services) => services.people.timeline(person, {
|
|
154
154
|
...(scope === undefined ? {} : { scope: scope }),
|
|
155
155
|
...(sinceTime === undefined ? {} : { since: momentOf(sinceTime, "--since-time") }),
|
|
156
|
-
...(untilTime === undefined ? {} : { until: momentOf(untilTime, "--until-time") }),
|
|
156
|
+
...(untilTime === undefined ? {} : { until: momentOf(untilTime, "--until-time", Date.now(), { end: true }) }),
|
|
157
157
|
...(limit === undefined ? {} : { limit }),
|
|
158
158
|
...(cursor === undefined ? {} : { cursor }),
|
|
159
159
|
}));
|
|
@@ -64,7 +64,9 @@ export const statsCommand = (messenger, loadRenderer = chartRenderer) => {
|
|
|
64
64
|
const found = await context.withServices((services) => services.chats.stats(chat, {
|
|
65
65
|
by,
|
|
66
66
|
timezone,
|
|
67
|
-
...(sinceTime === undefined
|
|
67
|
+
...(sinceTime === undefined
|
|
68
|
+
? {}
|
|
69
|
+
: { since: momentOf(sinceTime, "--since-time", Date.now(), { zone: timezone }) }),
|
|
68
70
|
}));
|
|
69
71
|
const chart = chatChart(found, { kind: chartKind, by, timezone });
|
|
70
72
|
let chartFile;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface MomentZone {
|
|
2
|
+
/** The IANA zone a date or a time without a zone is read in; the computer's zone when left out. */
|
|
3
|
+
zone?: string;
|
|
4
|
+
/** A date alone means the last millisecond of that local day, not its first: the end of a range. */
|
|
5
|
+
end?: boolean;
|
|
6
|
+
}
|
|
7
|
+
/** A typed date or time as epoch ms, with the flag named when it is not one. */
|
|
8
|
+
export declare const calendarMoment: (wanted: string, flag: string, { zone, end }?: MomentZone) => number;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CliError } from "@wirecat/cli-base";
|
|
2
|
+
import { timezoneOf, zonedMoment } from "@wirecat/cli-base/query";
|
|
3
|
+
/** A typed date or time as epoch ms, with the flag named when it is not one. */
|
|
4
|
+
export const calendarMoment = (wanted, flag, { zone, end = false } = {}) => {
|
|
5
|
+
try {
|
|
6
|
+
return zonedMoment(wanted, timezoneOf(zone), { start: 0, end: wanted.length }, { end });
|
|
7
|
+
}
|
|
8
|
+
catch (error) {
|
|
9
|
+
if (!(error instanceof CliError))
|
|
10
|
+
throw error;
|
|
11
|
+
const alternative = error.details?.alternative;
|
|
12
|
+
throw new CliError("validation_error", `${flag}: "${wanted}" is not a time${alternative ? ` — ${alternative}` : ""}`);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
* `--at-time`: a time like `2026-09-25T09:00`, or a delay like `30m`, `2h`, `1d`, as an ISO time — the
|
|
3
3
|
* same words max-cli takes. Rounded down to the minute, because messengers send at the start of it
|
|
4
4
|
* (MAX measured, max-cli `FIND-141`), so the time printed is the time it goes. A time without an
|
|
5
|
-
* offset is
|
|
5
|
+
* offset is read in `zone`, the computer's zone when none is given.
|
|
6
6
|
*/
|
|
7
|
-
export declare const sendTime: (value: string, now?: number, flag?: string) => string;
|
|
7
|
+
export declare const sendTime: (value: string, now?: number, flag?: string, zone?: string) => string;
|
package/dist/domain/send-time.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CliError } from "@wirecat/cli-base";
|
|
2
|
+
import { calendarMoment } from "./moment.js";
|
|
2
3
|
const MINUTE = 60_000;
|
|
3
4
|
const YEAR = 365 * 24 * 60 * MINUTE;
|
|
4
5
|
const DELAY = /^(\d+)(m|h|d)$/;
|
|
@@ -7,13 +8,13 @@ const UNIT_MS = { m: MINUTE, h: 60 * MINUTE, d: 24 * 60 * MINUTE };
|
|
|
7
8
|
* `--at-time`: a time like `2026-09-25T09:00`, or a delay like `30m`, `2h`, `1d`, as an ISO time — the
|
|
8
9
|
* same words max-cli takes. Rounded down to the minute, because messengers send at the start of it
|
|
9
10
|
* (MAX measured, max-cli `FIND-141`), so the time printed is the time it goes. A time without an
|
|
10
|
-
* offset is
|
|
11
|
+
* offset is read in `zone`, the computer's zone when none is given.
|
|
11
12
|
*/
|
|
12
|
-
export const sendTime = (value, now = Date.now(), flag = "--at-time") => {
|
|
13
|
+
export const sendTime = (value, now = Date.now(), flag = "--at-time", zone) => {
|
|
13
14
|
const trimmed = value.trim();
|
|
14
15
|
const [, amount, unit] = DELAY.exec(trimmed) ?? [];
|
|
15
16
|
const at = /^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}/.test(trimmed)
|
|
16
|
-
?
|
|
17
|
+
? calendarMoment(trimmed.replace(" ", "T"), flag, zone === undefined ? {} : { zone })
|
|
17
18
|
: amount && unit
|
|
18
19
|
? now + Number(amount) * (UNIT_MS[unit] ?? 0)
|
|
19
20
|
: Number.NaN;
|
|
@@ -5,6 +5,6 @@ export declare const accountSession: v.StrictObjectSchema<{
|
|
|
5
5
|
readonly client: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
6
6
|
readonly device: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
7
7
|
readonly location: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
8
|
-
readonly last_active_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
9
|
-
readonly created_at: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
8
|
+
readonly last_active_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
9
|
+
readonly created_at: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>, undefined>;
|
|
10
10
|
}, undefined>;
|
|
@@ -13,8 +13,8 @@ export declare const adminRow: v.StrictObjectSchema<{
|
|
|
13
13
|
readonly median_ms: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>, undefined>;
|
|
14
14
|
readonly p90_ms: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>, undefined>;
|
|
15
15
|
readonly age_ms: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
16
|
-
readonly joined_at: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
17
|
-
readonly window_end: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
16
|
+
readonly joined_at: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
17
|
+
readonly window_end: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
18
18
|
readonly pending: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
19
19
|
readonly views: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
20
20
|
readonly observed_replies: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
@@ -22,7 +22,7 @@ export declare const adminRow: v.StrictObjectSchema<{
|
|
|
22
22
|
readonly counters: v.OptionalSchema<v.ArraySchema<v.StrictObjectSchema<{
|
|
23
23
|
readonly counter: v.PicklistSchema<["views", "reactions", "comments"], undefined>;
|
|
24
24
|
readonly value: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
25
|
-
readonly observed_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
25
|
+
readonly observed_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
26
26
|
readonly source: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
27
27
|
readonly age_ms: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
28
28
|
readonly freshness: v.PicklistSchema<["fresh", "stale", "unknown"], undefined>;
|
|
@@ -32,7 +32,7 @@ export declare const adminRow: v.StrictObjectSchema<{
|
|
|
32
32
|
/** One administrator report over stored history: unanswered questions, responses, newcomers or discussion. */
|
|
33
33
|
export declare const adminReport: v.StrictObjectSchema<{
|
|
34
34
|
readonly report: v.PicklistSchema<["unanswered", "responses", "newcomers", "discussion"], undefined>;
|
|
35
|
-
readonly cutoff: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
35
|
+
readonly cutoff: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>;
|
|
36
36
|
/** Rows the report found; `rows` holds the first `--limit` of them. */
|
|
37
37
|
readonly total: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
38
38
|
readonly summary: v.StrictObjectSchema<{
|
|
@@ -54,7 +54,7 @@ export declare const adminReport: v.StrictObjectSchema<{
|
|
|
54
54
|
readonly archives: v.ArraySchema<v.StrictObjectSchema<{
|
|
55
55
|
readonly chat_ref: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a reference such as `note:42`">]>;
|
|
56
56
|
readonly state: v.StringSchema<undefined>;
|
|
57
|
-
readonly fetched_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
57
|
+
readonly fetched_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
58
58
|
}, undefined>, undefined>;
|
|
59
59
|
readonly archives_total: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
60
60
|
readonly membership: v.StringSchema<undefined>;
|
|
@@ -74,8 +74,8 @@ export declare const adminReport: v.StrictObjectSchema<{
|
|
|
74
74
|
readonly median_ms: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>, undefined>;
|
|
75
75
|
readonly p90_ms: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>, undefined>;
|
|
76
76
|
readonly age_ms: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
77
|
-
readonly joined_at: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
78
|
-
readonly window_end: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
77
|
+
readonly joined_at: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
78
|
+
readonly window_end: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
79
79
|
readonly pending: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
80
80
|
readonly views: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
81
81
|
readonly observed_replies: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
@@ -83,7 +83,7 @@ export declare const adminReport: v.StrictObjectSchema<{
|
|
|
83
83
|
readonly counters: v.OptionalSchema<v.ArraySchema<v.StrictObjectSchema<{
|
|
84
84
|
readonly counter: v.PicklistSchema<["views", "reactions", "comments"], undefined>;
|
|
85
85
|
readonly value: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
86
|
-
readonly observed_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
86
|
+
readonly observed_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
87
87
|
readonly source: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
88
88
|
readonly age_ms: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
89
89
|
readonly freshness: v.PicklistSchema<["fresh", "stale", "unknown"], undefined>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as v from "valibot";
|
|
2
2
|
/** What needs a look today, from the store alone and without one message's text. */
|
|
3
3
|
export declare const agenda: v.StrictObjectSchema<{
|
|
4
|
-
readonly at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
4
|
+
readonly at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>;
|
|
5
5
|
readonly account: v.StringSchema<undefined>;
|
|
6
|
-
readonly stored_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
6
|
+
readonly stored_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
7
7
|
/** The store saved nothing for a day: a chat may look quiet only because nothing was synced. */
|
|
8
8
|
readonly stale: v.BooleanSchema<undefined>;
|
|
9
9
|
readonly tasks: v.ArraySchema<v.StrictObjectSchema<{
|
|
@@ -14,20 +14,20 @@ export declare const agenda: v.StrictObjectSchema<{
|
|
|
14
14
|
readonly category: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
15
15
|
/** The message or note it came from. */
|
|
16
16
|
readonly source: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a reference such as `note:42`">]>, undefined>;
|
|
17
|
-
readonly due_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
18
|
-
readonly next_check_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
17
|
+
readonly due_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
18
|
+
readonly next_check_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
19
19
|
/** Who works on it now; only the asker's own claims are listed unless the query names claimed:. */
|
|
20
20
|
readonly claimed_by: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
21
|
-
readonly claimed_until: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
21
|
+
readonly claimed_until: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
22
22
|
/** An agent's close waiting on the owner: `tasks close` confirms it, `tasks reject` refuses it. */
|
|
23
23
|
readonly close_suggestion: v.NullableSchema<v.StrictObjectSchema<{
|
|
24
24
|
readonly as: v.PicklistSchema<["done", "dismissed"], undefined>;
|
|
25
25
|
readonly by: v.StringSchema<undefined>;
|
|
26
26
|
readonly certainty: v.NumberSchema<undefined>;
|
|
27
27
|
readonly reason: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
28
|
-
readonly at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
28
|
+
readonly at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>;
|
|
29
29
|
}, undefined>, undefined>;
|
|
30
|
-
readonly created_at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
30
|
+
readonly created_at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>;
|
|
31
31
|
readonly reasons: v.ArraySchema<v.PicklistSchema<["overdue", "due", "check", "unplanned", "close-suggested"], undefined>, undefined>;
|
|
32
32
|
}, undefined>, undefined>;
|
|
33
33
|
/** Someone else wrote last, and the owner has not answered. */
|
|
@@ -37,7 +37,7 @@ export declare const agenda: v.StrictObjectSchema<{
|
|
|
37
37
|
readonly kind: v.PicklistSchema<["dialog", "group", "channel", "saved", "unknown"], undefined>;
|
|
38
38
|
/** The newest message, never its text; `null` while it is not stored. */
|
|
39
39
|
readonly last_message: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a reference such as `note:42`">]>, undefined>;
|
|
40
|
-
readonly last_message_at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
40
|
+
readonly last_message_at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>;
|
|
41
41
|
/** `null` when the newest message is not stored, or the messenger did not say who sent it. */
|
|
42
42
|
readonly last_from_owner: v.NullableSchema<v.BooleanSchema<undefined>, undefined>;
|
|
43
43
|
/** Open tasks whose source is in this chat. */
|
|
@@ -50,7 +50,7 @@ export declare const agenda: v.StrictObjectSchema<{
|
|
|
50
50
|
readonly kind: v.PicklistSchema<["dialog", "group", "channel", "saved", "unknown"], undefined>;
|
|
51
51
|
/** The newest message, never its text; `null` while it is not stored. */
|
|
52
52
|
readonly last_message: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a reference such as `note:42`">]>, undefined>;
|
|
53
|
-
readonly last_message_at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
53
|
+
readonly last_message_at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>;
|
|
54
54
|
/** `null` when the newest message is not stored, or the messenger did not say who sent it. */
|
|
55
55
|
readonly last_from_owner: v.NullableSchema<v.BooleanSchema<undefined>, undefined>;
|
|
56
56
|
/** Open tasks whose source is in this chat. */
|
|
@@ -63,7 +63,7 @@ export declare const agenda: v.StrictObjectSchema<{
|
|
|
63
63
|
readonly kind: v.PicklistSchema<["dialog", "group", "channel", "saved", "unknown"], undefined>;
|
|
64
64
|
/** The newest message, never its text; `null` while it is not stored. */
|
|
65
65
|
readonly last_message: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a reference such as `note:42`">]>, undefined>;
|
|
66
|
-
readonly last_message_at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
66
|
+
readonly last_message_at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>;
|
|
67
67
|
/** `null` when the newest message is not stored, or the messenger did not say who sent it. */
|
|
68
68
|
readonly last_from_owner: v.NullableSchema<v.BooleanSchema<undefined>, undefined>;
|
|
69
69
|
/** Open tasks whose source is in this chat. */
|
|
@@ -77,8 +77,8 @@ export declare const agenda: v.StrictObjectSchema<{
|
|
|
77
77
|
readonly kind: v.PicklistSchema<readonly ["bug", "feature", "chore", "question", "request", "mention", "promise"], undefined>;
|
|
78
78
|
readonly category: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
79
79
|
readonly source: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a reference such as `note:42`">]>, undefined>;
|
|
80
|
-
readonly due_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
81
|
-
readonly created_at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
80
|
+
readonly due_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
81
|
+
readonly created_at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>;
|
|
82
82
|
/** `person:<id>`, each one who does it. */
|
|
83
83
|
readonly assignees: v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a reference such as `note:42`">]>, undefined>;
|
|
84
84
|
}, undefined>, undefined>;
|
|
@@ -2,7 +2,7 @@ import * as v from "valibot";
|
|
|
2
2
|
/** Somebody joined, left, was added or removed, or changed their profile, in one chat. */
|
|
3
3
|
export declare const chatEvent: v.StrictObjectSchema<{
|
|
4
4
|
readonly chat_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
5
|
-
readonly time: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
5
|
+
readonly time: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>;
|
|
6
6
|
/** `join`, `leave`, `add`, `remove`, `create`, `title`, `pin`, `profile`; a messenger may pass others through. */
|
|
7
7
|
readonly type: v.StringSchema<undefined>;
|
|
8
8
|
/** The service message that says so, where there is one. */
|
|
@@ -5,8 +5,8 @@ import * as v from "valibot";
|
|
|
5
5
|
*/
|
|
6
6
|
export declare const chatStats: v.StrictObjectSchema<{
|
|
7
7
|
readonly chat: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a reference such as `note:42`">]>;
|
|
8
|
-
readonly since: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
9
|
-
readonly until: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
8
|
+
readonly since: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>;
|
|
9
|
+
readonly until: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>;
|
|
10
10
|
/** The store holds the chat whole and the messenger read every join and leave; otherwise lower bounds. */
|
|
11
11
|
readonly complete: v.BooleanSchema<undefined>;
|
|
12
12
|
readonly completeness: v.StrictObjectSchema<{
|
|
@@ -14,7 +14,7 @@ export declare const chatStats: v.StrictObjectSchema<{
|
|
|
14
14
|
readonly up_to_date: v.NullableSchema<v.BooleanSchema<undefined>, undefined>;
|
|
15
15
|
readonly gaps: v.BooleanSchema<undefined>;
|
|
16
16
|
readonly reaches_start: v.BooleanSchema<undefined>;
|
|
17
|
-
readonly fetched_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
17
|
+
readonly fetched_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
18
18
|
}, undefined>;
|
|
19
19
|
readonly messages: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
20
20
|
readonly senders: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
@@ -26,7 +26,7 @@ export declare const chatStats: v.StrictObjectSchema<{
|
|
|
26
26
|
readonly comments: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
27
27
|
readonly top_posts: v.ArraySchema<v.StrictObjectSchema<{
|
|
28
28
|
readonly ref: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a reference such as `note:42`">]>;
|
|
29
|
-
readonly timestamp: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
29
|
+
readonly timestamp: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>;
|
|
30
30
|
readonly reactions: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
31
31
|
readonly views: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
32
32
|
readonly forwards: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
@@ -69,7 +69,7 @@ export declare const taskStats: v.StrictObjectSchema<{
|
|
|
69
69
|
readonly rows: v.ArraySchema<v.StrictObjectSchema<{
|
|
70
70
|
readonly chat: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a reference such as `note:42`">]>;
|
|
71
71
|
readonly open: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
72
|
-
readonly oldest_open_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
72
|
+
readonly oldest_open_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
73
73
|
readonly median_close_ms: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
74
74
|
}, undefined>, undefined>;
|
|
75
75
|
}, undefined>;
|
package/dist/entities/chat.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export declare const chat: v.StrictObjectSchema<{
|
|
|
8
8
|
readonly kind: v.PicklistSchema<["dialog", "group", "channel", "saved", "unknown"], undefined>;
|
|
9
9
|
readonly unread_count: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
10
10
|
readonly unread_mentions: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
11
|
-
readonly last_message_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
11
|
+
readonly last_message_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
12
12
|
readonly participants_count: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
13
13
|
readonly muted: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
14
14
|
readonly archived: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
@@ -36,9 +36,9 @@ export declare const chat: v.StrictObjectSchema<{
|
|
|
36
36
|
readonly name: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
37
37
|
readonly username: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
38
38
|
readonly role: v.OptionalSchema<v.PicklistSchema<["owner", "admin", "member"], undefined>, undefined>;
|
|
39
|
-
readonly last_seen_at: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
40
|
-
readonly registered_at: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
41
|
-
readonly joined_at: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
39
|
+
readonly last_seen_at: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>, undefined>;
|
|
40
|
+
readonly registered_at: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>, undefined>;
|
|
41
|
+
readonly joined_at: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>, undefined>;
|
|
42
42
|
readonly invited_by: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>, undefined>;
|
|
43
43
|
readonly is_bot: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
44
44
|
readonly deleted: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
@@ -7,6 +7,6 @@ export declare const contactNote: v.StrictObjectSchema<{
|
|
|
7
7
|
readonly text: v.StringSchema<undefined>;
|
|
8
8
|
/** Starts at 1; an edit names the revision it read. */
|
|
9
9
|
readonly revision: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
10
|
-
readonly created_at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
11
|
-
readonly updated_at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
10
|
+
readonly created_at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>;
|
|
11
|
+
readonly updated_at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>;
|
|
12
12
|
}, undefined>;
|
|
@@ -10,7 +10,7 @@ export declare const contact: v.StrictObjectSchema<{
|
|
|
10
10
|
/** Whatever they wrote about themselves. */
|
|
11
11
|
readonly description: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
12
12
|
/** The newest message in a one-to-one chat with them. */
|
|
13
|
-
readonly last_messaged_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
13
|
+
readonly last_messaged_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
14
14
|
/** `contacts show`: the chats shared with them. */
|
|
15
15
|
readonly chats: v.OptionalSchema<v.ArraySchema<Omit<v.StrictObjectSchema<{
|
|
16
16
|
readonly ref: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a reference such as `note:42`">]>;
|
|
@@ -21,7 +21,7 @@ export declare const contact: v.StrictObjectSchema<{
|
|
|
21
21
|
readonly kind: v.PicklistSchema<["dialog", "group", "channel", "saved", "unknown"], undefined>;
|
|
22
22
|
readonly unread_count: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
23
23
|
readonly unread_mentions: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
24
|
-
readonly last_message_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
24
|
+
readonly last_message_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
25
25
|
readonly participants_count: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
26
26
|
readonly muted: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
27
27
|
readonly archived: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
@@ -47,9 +47,9 @@ export declare const contact: v.StrictObjectSchema<{
|
|
|
47
47
|
readonly name: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
48
48
|
readonly username: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
49
49
|
readonly role: v.OptionalSchema<v.PicklistSchema<["owner", "admin", "member"], undefined>, undefined>;
|
|
50
|
-
readonly last_seen_at: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
51
|
-
readonly registered_at: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
52
|
-
readonly joined_at: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
50
|
+
readonly last_seen_at: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>, undefined>;
|
|
51
|
+
readonly registered_at: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>, undefined>;
|
|
52
|
+
readonly joined_at: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>, undefined>;
|
|
53
53
|
readonly invited_by: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>, undefined>;
|
|
54
54
|
readonly is_bot: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
55
55
|
readonly deleted: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
@@ -69,7 +69,7 @@ export declare const contact: v.StrictObjectSchema<{
|
|
|
69
69
|
readonly kind: v.PicklistSchema<["dialog", "group", "channel", "saved", "unknown"], undefined>;
|
|
70
70
|
readonly unread_count: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
71
71
|
readonly unread_mentions: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
72
|
-
readonly last_message_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
72
|
+
readonly last_message_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
73
73
|
readonly participants_count: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
74
74
|
readonly muted: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
75
75
|
readonly archived: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
@@ -95,9 +95,9 @@ export declare const contact: v.StrictObjectSchema<{
|
|
|
95
95
|
readonly name: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
96
96
|
readonly username: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
97
97
|
readonly role: v.OptionalSchema<v.PicklistSchema<["owner", "admin", "member"], undefined>, undefined>;
|
|
98
|
-
readonly last_seen_at: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
99
|
-
readonly registered_at: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
100
|
-
readonly joined_at: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
98
|
+
readonly last_seen_at: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>, undefined>;
|
|
99
|
+
readonly registered_at: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>, undefined>;
|
|
100
|
+
readonly joined_at: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>, undefined>;
|
|
101
101
|
readonly invited_by: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>, undefined>;
|
|
102
102
|
readonly is_bot: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
103
103
|
readonly deleted: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
@@ -127,7 +127,7 @@ export declare const contact: v.StrictObjectSchema<{
|
|
|
127
127
|
title: string | null;
|
|
128
128
|
kind: "channel" | "dialog" | "group" | "saved" | "unknown";
|
|
129
129
|
last_message_at: string | null;
|
|
130
|
-
}, v.IsoTimestampIssue<string> | v.MinLengthIssue<string, 1> | v.PicklistIssue | v.RegexIssue<string> | v.StrictObjectIssue | v.StringIssue>;
|
|
130
|
+
}, v.EndsWithIssue<string, "Z"> | v.IsoTimestampIssue<string> | v.MinLengthIssue<string, 1> | v.PicklistIssue | v.RegexIssue<string> | v.StrictObjectIssue | v.StringIssue>;
|
|
131
131
|
readonly "~types"?: {
|
|
132
132
|
readonly input: {
|
|
133
133
|
ref: string;
|
|
@@ -143,7 +143,7 @@ export declare const contact: v.StrictObjectSchema<{
|
|
|
143
143
|
kind: "channel" | "dialog" | "group" | "saved" | "unknown";
|
|
144
144
|
last_message_at: string | null;
|
|
145
145
|
};
|
|
146
|
-
readonly issue: v.IsoTimestampIssue<string> | v.MinLengthIssue<string, 1> | v.PicklistIssue | v.RegexIssue<string> | v.StrictObjectIssue | v.StringIssue;
|
|
146
|
+
readonly issue: v.EndsWithIssue<string, "Z"> | v.IsoTimestampIssue<string> | v.MinLengthIssue<string, 1> | v.PicklistIssue | v.RegexIssue<string> | v.StrictObjectIssue | v.StringIssue;
|
|
147
147
|
} | undefined;
|
|
148
148
|
}, undefined>, undefined>;
|
|
149
149
|
/** `contacts show --with-notes`: the owner's private notes about them. */
|
|
@@ -151,7 +151,7 @@ export declare const contact: v.StrictObjectSchema<{
|
|
|
151
151
|
readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
152
152
|
readonly text: v.StringSchema<undefined>;
|
|
153
153
|
readonly revision: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
154
|
-
readonly created_at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
155
|
-
readonly updated_at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
154
|
+
readonly created_at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>;
|
|
155
|
+
readonly updated_at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>;
|
|
156
156
|
}, undefined>, undefined>, undefined>;
|
|
157
157
|
}, undefined>;
|
|
@@ -5,11 +5,11 @@ export declare const conversation: v.StrictObjectSchema<{
|
|
|
5
5
|
readonly chat: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a reference such as `note:42`">]>;
|
|
6
6
|
/** The message it starts with. */
|
|
7
7
|
readonly first_message: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a reference such as `note:42`">]>;
|
|
8
|
-
readonly started_at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
9
|
-
readonly ended_at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
8
|
+
readonly started_at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>;
|
|
9
|
+
readonly ended_at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>;
|
|
10
10
|
readonly messages_count: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
11
11
|
/** How many people wrote in it. */
|
|
12
12
|
readonly senders_count: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
13
|
-
readonly built_at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
13
|
+
readonly built_at: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>;
|
|
14
14
|
readonly rules_version: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
15
15
|
}, undefined>;
|
|
@@ -4,7 +4,7 @@ export declare const milliseconds: v.SchemaWithPipe<readonly [v.NumberSchema<und
|
|
|
4
4
|
export declare const counterReading: v.StrictObjectSchema<{
|
|
5
5
|
readonly counter: v.PicklistSchema<["views", "reactions", "comments"], undefined>;
|
|
6
6
|
readonly value: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
7
|
-
readonly observed_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
7
|
+
readonly observed_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
8
8
|
readonly source: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
9
9
|
readonly age_ms: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
10
10
|
readonly freshness: v.PicklistSchema<["fresh", "stale", "unknown"], undefined>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as v from "valibot";
|
|
2
2
|
/** Stored counters of the matching messages, each with how fresh its observation is. */
|
|
3
3
|
export declare const counters: v.StrictObjectSchema<{
|
|
4
|
-
readonly cutoff: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
4
|
+
readonly cutoff: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>;
|
|
5
5
|
readonly max_age_ms: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
6
6
|
/** Pins exactly these messages for `counters refresh --selection`. */
|
|
7
7
|
readonly selection: v.StrictObjectSchema<{
|
|
@@ -14,7 +14,7 @@ export declare const counters: v.StrictObjectSchema<{
|
|
|
14
14
|
readonly counters: v.ArraySchema<v.StrictObjectSchema<{
|
|
15
15
|
readonly counter: v.PicklistSchema<["views", "reactions", "comments"], undefined>;
|
|
16
16
|
readonly value: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
17
|
-
readonly observed_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time
|
|
17
|
+
readonly observed_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
18
18
|
readonly source: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
19
19
|
readonly age_ms: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
20
20
|
readonly freshness: v.PicklistSchema<["fresh", "stale", "unknown"], undefined>;
|