@wirecat/cli-core 0.381.0 → 0.383.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 +50 -0
- package/dist/attachments/documents.d.ts +3 -0
- package/dist/attachments/documents.js +17 -0
- package/dist/cli/bot/watch.js +3 -0
- package/dist/cli/messenger/chat-answers.d.ts +2 -0
- package/dist/cli/messenger/chat-answers.js +2 -0
- package/dist/cli/messenger/chat-lists.d.ts +2 -0
- package/dist/cli/messenger/context.d.ts +2 -2
- package/dist/cli/messenger/context.js +2 -1
- package/dist/cli/messenger/conversation-answers.d.ts +1 -0
- package/dist/cli/messenger/message-answers.d.ts +1 -0
- package/dist/cli/messenger/message-items.js +1 -0
- package/dist/cli/messenger/message-writes.d.ts +1 -0
- package/dist/cli/messenger/serve-relay.d.ts +1 -0
- package/dist/cli/messenger/stored.d.ts +3 -1
- package/dist/cli/messenger/stored.js +12 -5
- package/dist/cli/messenger/watch-command.js +2 -0
- package/dist/documents/blocks.d.ts +45 -0
- package/dist/documents/blocks.js +48 -0
- package/dist/documents/index.d.ts +5 -0
- package/dist/documents/index.js +4 -0
- package/dist/documents/markdown-blocks.d.ts +3 -0
- package/dist/documents/markdown-blocks.js +123 -0
- package/dist/documents/push-model.d.ts +89 -0
- package/dist/documents/push-model.js +1 -0
- package/dist/documents.d.ts +1 -0
- package/dist/documents.js +1 -0
- package/dist/domain/models.d.ts +31 -4
- package/dist/entities/chat.d.ts +4 -0
- package/dist/entities/chat.js +4 -0
- package/dist/entities/contact.d.ts +4 -0
- package/dist/entities/evidence.d.ts +8 -0
- package/dist/entities/index.d.ts +17 -0
- package/dist/entities/message.d.ts +2 -0
- package/dist/entities/message.js +2 -0
- package/dist/errors/reasons.js +3 -0
- package/dist/meetings/answers.d.ts +1 -0
- package/dist/meetings/index.d.ts +1 -1
- package/dist/meetings/index.js +1 -1
- package/dist/meetings/item.d.ts +10 -0
- package/dist/meetings/item.js +34 -18
- package/dist/ports/traits.d.ts +6 -0
- package/dist/services/chats.js +16 -2
- package/dist/services/deps.d.ts +2 -0
- package/dist/services/deps.js +2 -0
- package/dist/services/documents/block-diff.d.ts +24 -0
- package/dist/services/documents/block-diff.js +91 -0
- package/dist/services/documents/push.d.ts +60 -0
- package/dist/services/documents/push.js +218 -0
- package/dist/services/inbox.d.ts +1 -0
- package/dist/services/inbox.js +10 -3
- package/dist/store/keys.d.ts +1 -1
- package/dist/store/messages.d.ts +7 -1
- package/dist/store/messages.js +16 -3
- package/dist/store/sqlite/chat-rekey.js +9 -1
- package/dist/store/sqlite/chats.d.ts +2 -2
- package/dist/store/sqlite/chats.js +37 -8
- package/dist/store/sqlite/manifest.js +2 -0
- package/dist/store/sqlite/meeting-hit-query.js +18 -3
- package/dist/store/sqlite/messages.d.ts +9 -2
- package/dist/store/sqlite/messages.js +29 -2
- package/dist/store/sqlite/migrations.generated.js +16 -0
- package/dist/store/sqlite/reads.d.ts +50 -0
- package/dist/store/sqlite/reads.js +3 -1
- package/dist/store/sqlite/schema.d.ts +96 -0
- package/dist/store/sqlite/schema.js +6 -0
- package/dist/store/sqlite/search.d.ts +33 -0
- package/dist/store/sqlite/values.d.ts +4 -0
- package/dist/store/sqlite/values.js +3 -0
- package/package.json +5 -1
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/** A local file a push mirrors: its path relative to the mirrored folder, with `/` separators. */
|
|
2
|
+
export interface LocalDocument {
|
|
3
|
+
path: string;
|
|
4
|
+
absolute: string;
|
|
5
|
+
hash: string;
|
|
6
|
+
kind: string;
|
|
7
|
+
}
|
|
8
|
+
export interface Pushed<S> {
|
|
9
|
+
id: string;
|
|
10
|
+
url: string;
|
|
11
|
+
/** What the provider reads back after its own write; the next push compares the remote against it. */
|
|
12
|
+
snapshot: S;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* What an update found before writing. Only `write` reaches the remote, so a conflict or a file with nothing to
|
|
16
|
+
* change never counts as a write.
|
|
17
|
+
*/
|
|
18
|
+
export type Prepared<S> = {
|
|
19
|
+
conflict: string;
|
|
20
|
+
} | {
|
|
21
|
+
missing: true;
|
|
22
|
+
} | {
|
|
23
|
+
unchanged: Pushed<S>;
|
|
24
|
+
} | {
|
|
25
|
+
write(): Promise<Pushed<S>>;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* A provider that writes local files as its own native documents. Every write is one provider call per
|
|
29
|
+
* file (or one all-or-nothing batch): a write cut in half would read back as somebody else's edit.
|
|
30
|
+
*/
|
|
31
|
+
export interface DocumentTarget<S> {
|
|
32
|
+
identity(): Promise<string>;
|
|
33
|
+
/** The provider's document kind for a local path, or undefined when the path is not pushed. */
|
|
34
|
+
kindOf(path: string): string | undefined;
|
|
35
|
+
/** Finds the folder carrying `origin` or creates it: a crash between create and save must not duplicate it. */
|
|
36
|
+
ensureFolder(input: {
|
|
37
|
+
parent: string;
|
|
38
|
+
name: string;
|
|
39
|
+
origin: string;
|
|
40
|
+
}): Promise<string>;
|
|
41
|
+
findByOrigin(origin: string): Promise<Pushed<S> | undefined>;
|
|
42
|
+
create(input: {
|
|
43
|
+
file: LocalDocument;
|
|
44
|
+
name: string;
|
|
45
|
+
parent: string;
|
|
46
|
+
origin: string;
|
|
47
|
+
operationId: string;
|
|
48
|
+
signal?: AbortSignal;
|
|
49
|
+
}): Promise<Pushed<S>>;
|
|
50
|
+
/** Reads the remote and compares it with `recorded`; a conflict instead of a write unless `force`. */
|
|
51
|
+
prepare(input: {
|
|
52
|
+
id: string;
|
|
53
|
+
file: LocalDocument;
|
|
54
|
+
recorded: S;
|
|
55
|
+
force: boolean;
|
|
56
|
+
signal?: AbortSignal;
|
|
57
|
+
}): Promise<Prepared<S>>;
|
|
58
|
+
}
|
|
59
|
+
export interface PushEntry<S> {
|
|
60
|
+
id: string;
|
|
61
|
+
url: string;
|
|
62
|
+
kind: string;
|
|
63
|
+
hash: string;
|
|
64
|
+
snapshot: S;
|
|
65
|
+
pushedAt: string;
|
|
66
|
+
}
|
|
67
|
+
export interface PushState<S> {
|
|
68
|
+
version: 1;
|
|
69
|
+
principal: string;
|
|
70
|
+
root: string;
|
|
71
|
+
target: string;
|
|
72
|
+
folders: Record<string, string>;
|
|
73
|
+
entries: Record<string, PushEntry<S>>;
|
|
74
|
+
/** Saved before a create, so a crash after the provider wrote but before this state was saved finds the file. */
|
|
75
|
+
pending: Record<string, {
|
|
76
|
+
origin: string;
|
|
77
|
+
operationId: string;
|
|
78
|
+
}>;
|
|
79
|
+
}
|
|
80
|
+
export interface PushStatePort<S> {
|
|
81
|
+
read(): PushState<S>;
|
|
82
|
+
save(state: PushState<S>): void;
|
|
83
|
+
}
|
|
84
|
+
export interface PushPlan {
|
|
85
|
+
create: LocalDocument[];
|
|
86
|
+
update: LocalDocument[];
|
|
87
|
+
unchanged: LocalDocument[];
|
|
88
|
+
orphans: string[];
|
|
89
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/documents.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { readSpreadsheet } from "./attachments/documents.js";
|
|
1
2
|
export type { Engine, Extraction, FileHint, LoadEngine } from "./attachments/extract.js";
|
|
2
3
|
export { extractText, importEngine, MAX_FILE_BYTES, MAX_TEXT_CHARS } from "./attachments/extract.js";
|
|
3
4
|
export { attachmentMaxBytes } from "./attachments/limits.js";
|
package/dist/documents.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { readSpreadsheet } from "./attachments/documents.js";
|
|
1
2
|
export { extractText, importEngine, MAX_FILE_BYTES, MAX_TEXT_CHARS } from "./attachments/extract.js";
|
|
2
3
|
export { attachmentMaxBytes } from "./attachments/limits.js";
|
|
3
4
|
export { columnName, sheetText } from "./attachments/sheets.js";
|
package/dist/domain/models.d.ts
CHANGED
|
@@ -33,9 +33,16 @@ export interface Chat {
|
|
|
33
33
|
/** ISO 8601, or `null` when the chat has never had a message. */
|
|
34
34
|
lastMessageAt: string | null;
|
|
35
35
|
participantsCount: number | null;
|
|
36
|
-
/** Absent where the messenger does not say. */
|
|
36
|
+
/** Absent where the messenger does not say. A mute that has ended reads as `false`. */
|
|
37
37
|
muted?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* ISO 8601 UTC: when the mute ends. `null` or absent with `muted` is for good. Saving a chat: absent keeps the stored
|
|
40
|
+
* end, and `muted: false` clears it.
|
|
41
|
+
*/
|
|
42
|
+
mutedUntil?: string | null;
|
|
38
43
|
archived?: boolean;
|
|
44
|
+
/** The owner marked the chat unread, whatever its count; absent where the messenger does not say. */
|
|
45
|
+
markedUnread?: boolean;
|
|
39
46
|
/** Unread messages that mention the owner or reply to them. */
|
|
40
47
|
unreadMentions?: number;
|
|
41
48
|
/** Absent where the messenger does not say. */
|
|
@@ -50,7 +57,8 @@ export interface Chat {
|
|
|
50
57
|
* A chat as an adapter saves it. A `title`, `unreadCount`, `lastMessageAt`, `participantsCount` or `membershipState`
|
|
51
58
|
* left out keeps the stored value; `null` stores none. So a push that knows only some of them, such as a notice that
|
|
52
59
|
* a group left its community, leaves the rest out. `membershipState: "member"` says the owner is in the chat again: it
|
|
53
|
-
* takes off a "left" mark and keeps any other state, such as "archived". It is never stored.
|
|
60
|
+
* takes off a "left" mark and keeps any other state, such as "archived". It is never stored. `muted`, `mutedUntil`,
|
|
61
|
+
* `archived` and `markedUnread` left out keep the stored value too.
|
|
54
62
|
*/
|
|
55
63
|
export type ChatUpdate = Omit<Chat, KeptFields | "membershipState"> & Partial<Pick<Chat, KeptFields>> & {
|
|
56
64
|
membershipState?: MembershipState | "member" | null;
|
|
@@ -332,7 +340,15 @@ export interface Message {
|
|
|
332
340
|
* keeps what the store holds: a fetch, an edit or another messenger's message says nothing about it.
|
|
333
341
|
*/
|
|
334
342
|
starred?: boolean;
|
|
343
|
+
/**
|
|
344
|
+
* How far the owner's own message got in a one-to-one chat, from the messenger's receipts: `read` once the other
|
|
345
|
+
* person opened it. Absent when no receipt came. On a save, absent keeps what the store holds, and a state never
|
|
346
|
+
* moves back: a late `delivered` after `read` changes nothing.
|
|
347
|
+
*/
|
|
348
|
+
delivery?: Delivery;
|
|
335
349
|
}
|
|
350
|
+
/** `delivered` reached the other person's phone; `read` they opened it (a voice note or view-once file played counts). */
|
|
351
|
+
export type Delivery = "delivered" | "read";
|
|
336
352
|
/**
|
|
337
353
|
* A message found by searching, carrying the chat's name as well as its id: a search spans every
|
|
338
354
|
* chat, so an answer that named only the id would make the reader look each one up.
|
|
@@ -413,6 +429,16 @@ export interface MessageStarEvent {
|
|
|
413
429
|
messageId: Id;
|
|
414
430
|
starred: boolean;
|
|
415
431
|
}
|
|
432
|
+
/** A receipt for the owner's own message in a one-to-one chat; saved, it never moves the stored state back. */
|
|
433
|
+
export interface MessageDeliveryEvent {
|
|
434
|
+
event: "delivery";
|
|
435
|
+
chatId: Id;
|
|
436
|
+
chatTitle: string | null;
|
|
437
|
+
messageId: Id;
|
|
438
|
+
delivery: Delivery;
|
|
439
|
+
/** ISO 8601 — when the receipt says it happened. */
|
|
440
|
+
at: string;
|
|
441
|
+
}
|
|
416
442
|
/** Who joined, left, was added, removed, promoted or demoted, or a new title, as it happens; saved for `chats events`. */
|
|
417
443
|
export interface ChatEventNotice {
|
|
418
444
|
event: "chat_event";
|
|
@@ -420,13 +446,14 @@ export interface ChatEventNotice {
|
|
|
420
446
|
chatTitle: string | null;
|
|
421
447
|
change: ChatEvent;
|
|
422
448
|
}
|
|
423
|
-
/** What a listening connection reports: a
|
|
449
|
+
/** What a listening connection reports: a message, a change to one, a vote, a reaction, a star, a receipt, a chat change. */
|
|
424
450
|
export type MessageEvent = {
|
|
425
451
|
event: "message";
|
|
426
452
|
message: MessageHit;
|
|
427
|
-
} | MessageChange | PollVoteEvent | PersonReactionEvent | MessageStarEvent | ChatEventNotice;
|
|
453
|
+
} | MessageChange | PollVoteEvent | PersonReactionEvent | MessageStarEvent | MessageDeliveryEvent | ChatEventNotice;
|
|
428
454
|
/** One chat's share of `inbox`: other people's messages since the last check, oldest first. */
|
|
429
455
|
export interface InboxChat extends Pick<Chat, "id" | "title" | "kind" | "unreadCount"> {
|
|
456
|
+
/** A chat marked unread with nothing counted: its newest message from someone else. */
|
|
430
457
|
messages: Message[];
|
|
431
458
|
/** There are more than `--limit`; these are the newest of them. */
|
|
432
459
|
more: boolean;
|
package/dist/entities/chat.d.ts
CHANGED
|
@@ -11,7 +11,11 @@ export declare const chat: v.StrictObjectSchema<{
|
|
|
11
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
|
+
/** When the mute ends; absent with `muted` true is for good. */
|
|
15
|
+
readonly muted_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>;
|
|
14
16
|
readonly archived: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
17
|
+
/** The owner marked it unread, whatever `unread_count` says. */
|
|
18
|
+
readonly marked_unread: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
15
19
|
readonly membership_state: v.OptionalSchema<v.PicklistSchema<["joined", "left", "public", "imported", "archived", "external"], undefined>, undefined>;
|
|
16
20
|
readonly parent_chat_id: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
17
21
|
readonly scope: v.OptionalSchema<v.PicklistSchema<["personal", "work"], undefined>, undefined>;
|
package/dist/entities/chat.js
CHANGED
|
@@ -14,7 +14,11 @@ export const chat = v.strictObject({
|
|
|
14
14
|
last_message_at: v.nullable(time),
|
|
15
15
|
participants_count: v.nullable(count),
|
|
16
16
|
muted: v.optional(v.boolean()),
|
|
17
|
+
/** When the mute ends; absent with `muted` true is for good. */
|
|
18
|
+
muted_until: v.optional(time),
|
|
17
19
|
archived: v.optional(v.boolean()),
|
|
20
|
+
/** The owner marked it unread, whatever `unread_count` says. */
|
|
21
|
+
marked_unread: v.optional(v.boolean()),
|
|
18
22
|
membership_state: v.optional(v.picklist(["joined", "left", "public", "imported", "archived", "external"])),
|
|
19
23
|
parent_chat_id: v.optional(id),
|
|
20
24
|
scope: v.optional(v.picklist(["personal", "work"])),
|
|
@@ -24,7 +24,9 @@ export declare const contact: v.StrictObjectSchema<{
|
|
|
24
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
|
+
readonly muted_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>;
|
|
27
28
|
readonly archived: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
29
|
+
readonly marked_unread: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
28
30
|
readonly membership_state: v.OptionalSchema<v.PicklistSchema<["joined", "left", "public", "imported", "archived", "external"], undefined>, undefined>;
|
|
29
31
|
readonly parent_chat_id: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
30
32
|
readonly scope: v.OptionalSchema<v.PicklistSchema<["personal", "work"], undefined>, undefined>;
|
|
@@ -72,7 +74,9 @@ export declare const contact: v.StrictObjectSchema<{
|
|
|
72
74
|
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
75
|
readonly participants_count: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
74
76
|
readonly muted: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
77
|
+
readonly muted_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>;
|
|
75
78
|
readonly archived: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
79
|
+
readonly marked_unread: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
76
80
|
readonly membership_state: v.OptionalSchema<v.PicklistSchema<["joined", "left", "public", "imported", "archived", "external"], undefined>, undefined>;
|
|
77
81
|
readonly parent_chat_id: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
78
82
|
readonly scope: v.OptionalSchema<v.PicklistSchema<["personal", "work"], undefined>, undefined>;
|
|
@@ -142,6 +142,7 @@ export declare const contribution: v.StrictObjectSchema<{
|
|
|
142
142
|
}, undefined>, undefined>, undefined>;
|
|
143
143
|
readonly scheduled_for: 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
144
|
readonly starred: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
145
|
+
readonly delivery: v.OptionalSchema<v.PicklistSchema<["delivered", "read"], undefined>, undefined>;
|
|
145
146
|
readonly email: v.OptionalSchema<v.StrictObjectSchema<{
|
|
146
147
|
readonly subject: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
147
148
|
readonly from: v.NullableSchema<v.StrictObjectSchema<{
|
|
@@ -322,6 +323,7 @@ export declare const contribution: v.StrictObjectSchema<{
|
|
|
322
323
|
}, undefined>, undefined>, undefined>;
|
|
323
324
|
readonly scheduled_for: 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>;
|
|
324
325
|
readonly starred: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
326
|
+
readonly delivery: v.OptionalSchema<v.PicklistSchema<["delivered", "read"], undefined>, undefined>;
|
|
325
327
|
readonly email: v.OptionalSchema<v.StrictObjectSchema<{
|
|
326
328
|
readonly subject: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
327
329
|
readonly from: v.NullableSchema<v.StrictObjectSchema<{
|
|
@@ -540,6 +542,7 @@ export declare const contribution: v.StrictObjectSchema<{
|
|
|
540
542
|
}, undefined>, undefined>, undefined>;
|
|
541
543
|
readonly scheduled_for: 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>;
|
|
542
544
|
readonly starred: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
545
|
+
readonly delivery: v.OptionalSchema<v.PicklistSchema<["delivered", "read"], undefined>, undefined>;
|
|
543
546
|
readonly email: v.OptionalSchema<v.StrictObjectSchema<{
|
|
544
547
|
readonly subject: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
545
548
|
readonly from: v.NullableSchema<v.StrictObjectSchema<{
|
|
@@ -720,6 +723,7 @@ export declare const contribution: v.StrictObjectSchema<{
|
|
|
720
723
|
}, undefined>, undefined>, undefined>;
|
|
721
724
|
readonly scheduled_for: 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>;
|
|
722
725
|
readonly starred: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
726
|
+
readonly delivery: v.OptionalSchema<v.PicklistSchema<["delivered", "read"], undefined>, undefined>;
|
|
723
727
|
readonly email: v.OptionalSchema<v.StrictObjectSchema<{
|
|
724
728
|
readonly subject: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
725
729
|
readonly from: v.NullableSchema<v.StrictObjectSchema<{
|
|
@@ -974,6 +978,7 @@ export declare const evidence: v.UnionSchema<[v.StrictObjectSchema<{
|
|
|
974
978
|
}, undefined>, undefined>, undefined>;
|
|
975
979
|
readonly scheduled_for: 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>;
|
|
976
980
|
readonly starred: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
981
|
+
readonly delivery: v.OptionalSchema<v.PicklistSchema<["delivered", "read"], undefined>, undefined>;
|
|
977
982
|
readonly email: v.OptionalSchema<v.StrictObjectSchema<{
|
|
978
983
|
readonly subject: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
979
984
|
readonly from: v.NullableSchema<v.StrictObjectSchema<{
|
|
@@ -1154,6 +1159,7 @@ export declare const evidence: v.UnionSchema<[v.StrictObjectSchema<{
|
|
|
1154
1159
|
}, undefined>, undefined>, undefined>;
|
|
1155
1160
|
readonly scheduled_for: 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>;
|
|
1156
1161
|
readonly starred: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
1162
|
+
readonly delivery: v.OptionalSchema<v.PicklistSchema<["delivered", "read"], undefined>, undefined>;
|
|
1157
1163
|
readonly email: v.OptionalSchema<v.StrictObjectSchema<{
|
|
1158
1164
|
readonly subject: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
1159
1165
|
readonly from: v.NullableSchema<v.StrictObjectSchema<{
|
|
@@ -1372,6 +1378,7 @@ export declare const evidence: v.UnionSchema<[v.StrictObjectSchema<{
|
|
|
1372
1378
|
}, undefined>, undefined>, undefined>;
|
|
1373
1379
|
readonly scheduled_for: 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>;
|
|
1374
1380
|
readonly starred: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
1381
|
+
readonly delivery: v.OptionalSchema<v.PicklistSchema<["delivered", "read"], undefined>, undefined>;
|
|
1375
1382
|
readonly email: v.OptionalSchema<v.StrictObjectSchema<{
|
|
1376
1383
|
readonly subject: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
1377
1384
|
readonly from: v.NullableSchema<v.StrictObjectSchema<{
|
|
@@ -1552,6 +1559,7 @@ export declare const evidence: v.UnionSchema<[v.StrictObjectSchema<{
|
|
|
1552
1559
|
}, undefined>, undefined>, undefined>;
|
|
1553
1560
|
readonly scheduled_for: 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>;
|
|
1554
1561
|
readonly starred: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
1562
|
+
readonly delivery: v.OptionalSchema<v.PicklistSchema<["delivered", "read"], undefined>, undefined>;
|
|
1555
1563
|
readonly email: v.OptionalSchema<v.StrictObjectSchema<{
|
|
1556
1564
|
readonly subject: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
1557
1565
|
readonly from: v.NullableSchema<v.StrictObjectSchema<{
|
package/dist/entities/index.d.ts
CHANGED
|
@@ -190,6 +190,7 @@ export declare const ENTITIES: {
|
|
|
190
190
|
}, undefined>, undefined>, undefined>;
|
|
191
191
|
readonly scheduled_for: 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>;
|
|
192
192
|
readonly starred: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
193
|
+
readonly delivery: v.OptionalSchema<v.PicklistSchema<["delivered", "read"], undefined>, undefined>;
|
|
193
194
|
readonly email: v.OptionalSchema<v.StrictObjectSchema<{
|
|
194
195
|
readonly subject: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
195
196
|
readonly from: v.NullableSchema<v.StrictObjectSchema<{
|
|
@@ -370,6 +371,7 @@ export declare const ENTITIES: {
|
|
|
370
371
|
}, undefined>, undefined>, undefined>;
|
|
371
372
|
readonly scheduled_for: 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>;
|
|
372
373
|
readonly starred: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
374
|
+
readonly delivery: v.OptionalSchema<v.PicklistSchema<["delivered", "read"], undefined>, undefined>;
|
|
373
375
|
readonly email: v.OptionalSchema<v.StrictObjectSchema<{
|
|
374
376
|
readonly subject: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
375
377
|
readonly from: v.NullableSchema<v.StrictObjectSchema<{
|
|
@@ -550,6 +552,7 @@ export declare const ENTITIES: {
|
|
|
550
552
|
}, undefined>, undefined>, undefined>;
|
|
551
553
|
readonly scheduled_for: 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>;
|
|
552
554
|
readonly starred: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
555
|
+
readonly delivery: v.OptionalSchema<v.PicklistSchema<["delivered", "read"], undefined>, undefined>;
|
|
553
556
|
readonly email: v.OptionalSchema<v.StrictObjectSchema<{
|
|
554
557
|
readonly subject: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
555
558
|
readonly from: v.NullableSchema<v.StrictObjectSchema<{
|
|
@@ -1028,6 +1031,7 @@ export declare const ENTITIES: {
|
|
|
1028
1031
|
}, undefined>, undefined>, undefined>;
|
|
1029
1032
|
readonly scheduled_for: 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>;
|
|
1030
1033
|
readonly starred: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
1034
|
+
readonly delivery: v.OptionalSchema<v.PicklistSchema<["delivered", "read"], undefined>, undefined>;
|
|
1031
1035
|
readonly email: v.OptionalSchema<v.StrictObjectSchema<{
|
|
1032
1036
|
readonly subject: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
1033
1037
|
readonly from: v.NullableSchema<v.StrictObjectSchema<{
|
|
@@ -1208,6 +1212,7 @@ export declare const ENTITIES: {
|
|
|
1208
1212
|
}, undefined>, undefined>, undefined>;
|
|
1209
1213
|
readonly scheduled_for: 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>;
|
|
1210
1214
|
readonly starred: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
1215
|
+
readonly delivery: v.OptionalSchema<v.PicklistSchema<["delivered", "read"], undefined>, undefined>;
|
|
1211
1216
|
readonly email: v.OptionalSchema<v.StrictObjectSchema<{
|
|
1212
1217
|
readonly subject: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
1213
1218
|
readonly from: v.NullableSchema<v.StrictObjectSchema<{
|
|
@@ -1448,7 +1453,9 @@ export declare const ENTITIES: {
|
|
|
1448
1453
|
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>;
|
|
1449
1454
|
readonly participants_count: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
1450
1455
|
readonly muted: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
1456
|
+
readonly muted_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>;
|
|
1451
1457
|
readonly archived: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
1458
|
+
readonly marked_unread: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
1452
1459
|
readonly membership_state: v.OptionalSchema<v.PicklistSchema<["joined", "left", "public", "imported", "archived", "external"], undefined>, undefined>;
|
|
1453
1460
|
readonly parent_chat_id: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
1454
1461
|
readonly scope: v.OptionalSchema<v.PicklistSchema<["personal", "work"], undefined>, undefined>;
|
|
@@ -1527,7 +1534,9 @@ export declare const ENTITIES: {
|
|
|
1527
1534
|
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>;
|
|
1528
1535
|
readonly participants_count: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
1529
1536
|
readonly muted: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
1537
|
+
readonly muted_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>;
|
|
1530
1538
|
readonly archived: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
1539
|
+
readonly marked_unread: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
1531
1540
|
readonly membership_state: v.OptionalSchema<v.PicklistSchema<["joined", "left", "public", "imported", "archived", "external"], undefined>, undefined>;
|
|
1532
1541
|
readonly parent_chat_id: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
1533
1542
|
readonly scope: v.OptionalSchema<v.PicklistSchema<["personal", "work"], undefined>, undefined>;
|
|
@@ -1575,7 +1584,9 @@ export declare const ENTITIES: {
|
|
|
1575
1584
|
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>;
|
|
1576
1585
|
readonly participants_count: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
1577
1586
|
readonly muted: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
1587
|
+
readonly muted_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>;
|
|
1578
1588
|
readonly archived: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
1589
|
+
readonly marked_unread: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
1579
1590
|
readonly membership_state: v.OptionalSchema<v.PicklistSchema<["joined", "left", "public", "imported", "archived", "external"], undefined>, undefined>;
|
|
1580
1591
|
readonly parent_chat_id: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
1581
1592
|
readonly scope: v.OptionalSchema<v.PicklistSchema<["personal", "work"], undefined>, undefined>;
|
|
@@ -2032,6 +2043,7 @@ export declare const ENTITIES: {
|
|
|
2032
2043
|
readonly duration_ms: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
2033
2044
|
readonly timezone: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
2034
2045
|
readonly participants_count: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
2046
|
+
readonly issues: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["time_without_zone"], undefined>, undefined>, undefined>;
|
|
2035
2047
|
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`">]>;
|
|
2036
2048
|
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`">]>;
|
|
2037
2049
|
}, undefined>;
|
|
@@ -2049,6 +2061,7 @@ export declare const ENTITIES: {
|
|
|
2049
2061
|
readonly duration_ms: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
2050
2062
|
readonly timezone: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
2051
2063
|
readonly participants_count: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
2064
|
+
readonly issues: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["time_without_zone"], undefined>, undefined>, undefined>;
|
|
2052
2065
|
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`">]>;
|
|
2053
2066
|
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`">]>;
|
|
2054
2067
|
readonly event_id: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
@@ -3372,6 +3385,7 @@ export declare const ENTITIES: {
|
|
|
3372
3385
|
}, undefined>, undefined>, undefined>;
|
|
3373
3386
|
readonly scheduled_for: 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>;
|
|
3374
3387
|
readonly starred: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
3388
|
+
readonly delivery: v.OptionalSchema<v.PicklistSchema<["delivered", "read"], undefined>, undefined>;
|
|
3375
3389
|
readonly email: v.OptionalSchema<v.StrictObjectSchema<{
|
|
3376
3390
|
readonly subject: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
3377
3391
|
readonly from: v.NullableSchema<v.StrictObjectSchema<{
|
|
@@ -3552,6 +3566,7 @@ export declare const ENTITIES: {
|
|
|
3552
3566
|
}, undefined>, undefined>, undefined>;
|
|
3553
3567
|
readonly scheduled_for: 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>;
|
|
3554
3568
|
readonly starred: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
3569
|
+
readonly delivery: v.OptionalSchema<v.PicklistSchema<["delivered", "read"], undefined>, undefined>;
|
|
3555
3570
|
readonly email: v.OptionalSchema<v.StrictObjectSchema<{
|
|
3556
3571
|
readonly subject: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
3557
3572
|
readonly from: v.NullableSchema<v.StrictObjectSchema<{
|
|
@@ -3770,6 +3785,7 @@ export declare const ENTITIES: {
|
|
|
3770
3785
|
}, undefined>, undefined>, undefined>;
|
|
3771
3786
|
readonly scheduled_for: 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>;
|
|
3772
3787
|
readonly starred: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
3788
|
+
readonly delivery: v.OptionalSchema<v.PicklistSchema<["delivered", "read"], undefined>, undefined>;
|
|
3773
3789
|
readonly email: v.OptionalSchema<v.StrictObjectSchema<{
|
|
3774
3790
|
readonly subject: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
3775
3791
|
readonly from: v.NullableSchema<v.StrictObjectSchema<{
|
|
@@ -3950,6 +3966,7 @@ export declare const ENTITIES: {
|
|
|
3950
3966
|
}, undefined>, undefined>, undefined>;
|
|
3951
3967
|
readonly scheduled_for: 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>;
|
|
3952
3968
|
readonly starred: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
3969
|
+
readonly delivery: v.OptionalSchema<v.PicklistSchema<["delivered", "read"], undefined>, undefined>;
|
|
3953
3970
|
readonly email: v.OptionalSchema<v.StrictObjectSchema<{
|
|
3954
3971
|
readonly subject: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
3955
3972
|
readonly from: v.NullableSchema<v.StrictObjectSchema<{
|
|
@@ -151,6 +151,8 @@ export declare const message: v.StrictObjectSchema<{
|
|
|
151
151
|
readonly scheduled_for: 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>;
|
|
152
152
|
/** The owner starred it; only where the messenger has stars, and only when set. */
|
|
153
153
|
readonly starred: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
154
|
+
/** The owner's own message in a one-to-one chat: `delivered`, or `read` once opened; absent when no receipt came. */
|
|
155
|
+
readonly delivery: v.OptionalSchema<v.PicklistSchema<["delivered", "read"], undefined>, undefined>;
|
|
154
156
|
readonly email: v.OptionalSchema<v.StrictObjectSchema<{
|
|
155
157
|
readonly subject: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
156
158
|
readonly from: v.NullableSchema<v.StrictObjectSchema<{
|
package/dist/entities/message.js
CHANGED
|
@@ -64,6 +64,8 @@ export const message = v.strictObject({
|
|
|
64
64
|
scheduled_for: v.optional(time),
|
|
65
65
|
/** The owner starred it; only where the messenger has stars, and only when set. */
|
|
66
66
|
starred: v.optional(v.literal(true)),
|
|
67
|
+
/** The owner's own message in a one-to-one chat: `delivered`, or `read` once opened; absent when no receipt came. */
|
|
68
|
+
delivery: v.optional(v.picklist(["delivered", "read"])),
|
|
67
69
|
email: v.optional(v.strictObject({
|
|
68
70
|
subject: v.nullable(text),
|
|
69
71
|
from: v.nullable(mailPerson),
|
package/dist/errors/reasons.js
CHANGED
|
@@ -26,6 +26,9 @@ const OTHERS = [
|
|
|
26
26
|
validation("extraction.text-too-long", "the text is too long for memory extraction"),
|
|
27
27
|
validation("file.locked", "another process holds the file's lock"),
|
|
28
28
|
["profile.wrong-account", "authentication_error", "the signed-in source account does not match this profile"],
|
|
29
|
+
validation("push.too-many-files", "the folder holds more files than one push takes"),
|
|
30
|
+
validation("push.unreadable", "the folder to push could not be read"),
|
|
31
|
+
validation("spreadsheet.unreadable", "the workbook could not be read"),
|
|
29
32
|
validation("store.refused", "the local store refused the document text"),
|
|
30
33
|
["store.not-writable", "permission_error", "the message store cannot be written from this process"],
|
|
31
34
|
validation("catalog.scope-limit", "the selected catalog exceeds its entry limit"),
|
|
@@ -77,6 +77,7 @@ export declare const meetingDetails: v.StrictObjectSchema<{
|
|
|
77
77
|
readonly duration_ms: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
78
78
|
readonly timezone: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
79
79
|
readonly participants_count: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
80
|
+
readonly issues: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["time_without_zone"], undefined>, undefined>, undefined>;
|
|
80
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`">]>;
|
|
81
82
|
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`">]>;
|
|
82
83
|
/** The stored event and series it belongs to, as `meetings_list` takes them. */
|
package/dist/meetings/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export { type FindingEvidence, type FindingOutcome, findingHash, MEETING_FINDING
|
|
|
8
8
|
export { type Finding, type FindingsInput, type FindingsReceipt, type FindingsRules, findingFingerprint, validateFindings, } from "./findings-rules.js";
|
|
9
9
|
export { MEETING_HIT_QUERY, meetingWordsQuery, parseMeetingQuery } from "./hit-query.js";
|
|
10
10
|
export { type ImportFile, importFiles } from "./import.js";
|
|
11
|
-
export { MEETING_QUERY, type MeetingItem, type MeetingOwner, meeting, meetingItem } from "./item.js";
|
|
11
|
+
export { MEETING_ISSUES, MEETING_QUERY, type MeetingIssue, type MeetingItem, type MeetingOwner, meeting, meetingIssuesOf, meetingItem, } from "./item.js";
|
|
12
12
|
export { createMeetingContext, MEETING_FACT_TYPES, type MeetingContextAction, type MeetingContextChange, type MeetingContextOperation, type MeetingContextPorts, type MeetingContextReceipt, validateMeetingContextChange, } from "./meeting-context.js";
|
|
13
13
|
export { createMeetingManagement, dispatchMeetingMutation, type ManagedMeeting, type ManagedMeetingChange, type MeetingManagement, type MeetingManagementPorts, type MeetingMutationOptions, type MeetingMutationProposal, type MeetingMutationReceipt, type MeetingOperationOptions, type MeetingProviderContext, validateMeetingChange, } from "./meeting-management.js";
|
|
14
14
|
export type { Attachment, ChatLine, Event, EventSeries, JsonValue, Meeting, MeetingSeries, Metadata, Occurrence, Participant, RecordTimes, SourceChatLine, SourceMeeting, Summary, SummaryContent, Transcript, TranscriptLine, TranscriptRow, } from "./model.js";
|
package/dist/meetings/index.js
CHANGED
|
@@ -6,7 +6,7 @@ export { findingHash, MEETING_FINDINGS_KIND, meetingFindingFingerprint, validate
|
|
|
6
6
|
export { findingFingerprint, validateFindings, } from "./findings-rules.js";
|
|
7
7
|
export { MEETING_HIT_QUERY, meetingWordsQuery, parseMeetingQuery } from "./hit-query.js";
|
|
8
8
|
export { importFiles } from "./import.js";
|
|
9
|
-
export { MEETING_QUERY, meeting, meetingItem } from "./item.js";
|
|
9
|
+
export { MEETING_ISSUES, MEETING_QUERY, meeting, meetingIssuesOf, meetingItem, } from "./item.js";
|
|
10
10
|
export { createMeetingContext, MEETING_FACT_TYPES, validateMeetingContextChange, } from "./meeting-context.js";
|
|
11
11
|
export { createMeetingManagement, dispatchMeetingMutation, validateMeetingChange, } from "./meeting-management.js";
|
|
12
12
|
export { normalizeMeetingParticipantQuery, validateMeetingParticipantSearch, } from "./participant-search.js";
|
package/dist/meetings/item.d.ts
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import * as v from "valibot";
|
|
2
2
|
import type { Meeting } from "./model.js";
|
|
3
|
+
/**
|
|
4
|
+
* Why a stored meeting's facts may be off, kept so the data stays but a reader knows to doubt it.
|
|
5
|
+
* `time_without_zone`: the provider sent a time with no zone, and it was read in the computer's zone.
|
|
6
|
+
*/
|
|
7
|
+
export declare const MEETING_ISSUES: readonly ["time_without_zone"];
|
|
8
|
+
export type MeetingIssue = (typeof MEETING_ISSUES)[number];
|
|
9
|
+
/** The issues a provider adapter put in `metadata.issues`, the known ones only, in their listed order. */
|
|
10
|
+
export declare const meetingIssuesOf: (metadata: Meeting["metadata"]) => MeetingIssue[];
|
|
3
11
|
/** A stored meeting as every command and tool answers it; `src/entities/` registers it as `meeting`. */
|
|
4
12
|
export declare const meeting: v.StrictObjectSchema<{
|
|
5
13
|
readonly ref: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a reference such as `note:42`">]>;
|
|
@@ -16,6 +24,8 @@ export declare const meeting: v.StrictObjectSchema<{
|
|
|
16
24
|
readonly duration_ms: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
17
25
|
readonly timezone: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
18
26
|
readonly participants_count: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
27
|
+
/** Present only when something about this meeting is doubtful. */
|
|
28
|
+
readonly issues: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["time_without_zone"], undefined>, undefined>, undefined>;
|
|
19
29
|
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`">]>;
|
|
20
30
|
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`">]>;
|
|
21
31
|
}, undefined>;
|
package/dist/meetings/item.js
CHANGED
|
@@ -4,6 +4,16 @@ import * as v from "valibot";
|
|
|
4
4
|
import { formatMeetingReference } from "./reference.js";
|
|
5
5
|
const text = v.string();
|
|
6
6
|
const count = v.pipe(v.number(), v.integer(), v.minValue(0));
|
|
7
|
+
/**
|
|
8
|
+
* Why a stored meeting's facts may be off, kept so the data stays but a reader knows to doubt it.
|
|
9
|
+
* `time_without_zone`: the provider sent a time with no zone, and it was read in the computer's zone.
|
|
10
|
+
*/
|
|
11
|
+
export const MEETING_ISSUES = ["time_without_zone"];
|
|
12
|
+
/** The issues a provider adapter put in `metadata.issues`, the known ones only, in their listed order. */
|
|
13
|
+
export const meetingIssuesOf = (metadata) => {
|
|
14
|
+
const listed = metadata?.issues;
|
|
15
|
+
return Array.isArray(listed) ? MEETING_ISSUES.filter((issue) => listed.includes(issue)) : [];
|
|
16
|
+
};
|
|
7
17
|
/** A stored meeting as every command and tool answers it; `src/entities/` registers it as `meeting`. */
|
|
8
18
|
export const meeting = v.strictObject({
|
|
9
19
|
ref: reference,
|
|
@@ -20,33 +30,39 @@ export const meeting = v.strictObject({
|
|
|
20
30
|
duration_ms: v.nullable(count),
|
|
21
31
|
timezone: v.optional(v.nullable(text)),
|
|
22
32
|
participants_count: v.nullable(count),
|
|
33
|
+
/** Present only when something about this meeting is doubtful. */
|
|
34
|
+
issues: v.optional(v.array(v.picklist(MEETING_ISSUES))),
|
|
23
35
|
created_at: isoTime,
|
|
24
36
|
updated_at: isoTime,
|
|
25
37
|
});
|
|
26
38
|
const iso = (ms) => (ms === null ? null : new Date(ms).toISOString());
|
|
27
|
-
export const meetingItem = (row, owner) =>
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
})
|
|
39
|
+
export const meetingItem = (row, owner) => {
|
|
40
|
+
const issues = meetingIssuesOf(row.metadata);
|
|
41
|
+
return {
|
|
42
|
+
ref: formatMeetingReference({ type: "meeting", accountId: row.accountId, meetingId: row.id }),
|
|
43
|
+
id: String(row.id),
|
|
44
|
+
provider: owner.provider,
|
|
45
|
+
account: owner.account,
|
|
46
|
+
title: row.title,
|
|
47
|
+
description: row.description,
|
|
48
|
+
location: row.location,
|
|
49
|
+
url: row.joinUrl,
|
|
50
|
+
started_at: iso(row.startedAt),
|
|
51
|
+
ended_at: iso(row.endedAt),
|
|
52
|
+
duration_ms: row.durationMs,
|
|
53
|
+
timezone: row.timezone,
|
|
54
|
+
participants_count: row.participantsCount,
|
|
55
|
+
...(issues.length ? { issues } : {}),
|
|
56
|
+
created_at: new Date(row.createdAt).toISOString(),
|
|
57
|
+
updated_at: new Date(row.updatedAt).toISOString(),
|
|
58
|
+
};
|
|
59
|
+
};
|
|
44
60
|
/** `meetings list` fields: what the meetings table holds of the meeting itself. */
|
|
45
61
|
export const MEETING_QUERY = {
|
|
46
62
|
entity: "meeting",
|
|
47
63
|
backend: "sql",
|
|
48
64
|
fields: queryFieldsOf(meeting, {
|
|
49
|
-
exclude: ["ref", "provider", "account", "description", "location", "url", "timezone"],
|
|
65
|
+
exclude: ["ref", "provider", "account", "description", "location", "url", "timezone", "issues"],
|
|
50
66
|
examples: {
|
|
51
67
|
id: "id:12",
|
|
52
68
|
title: "title:*standup*",
|
package/dist/ports/traits.d.ts
CHANGED
|
@@ -72,6 +72,12 @@ export interface MessengerTraits {
|
|
|
72
72
|
* adapter's `history` — `messages sync <chat>`. `--all` stays refused: there is no chat list to walk. No when unset.
|
|
73
73
|
*/
|
|
74
74
|
historyOnDemand?: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Who keeps a chat's unread count. `messenger` when unset: the store holds what the messenger last said. `store`: the
|
|
77
|
+
* messenger says it only now and then (a history push, a read on the phone), so each message from someone else that
|
|
78
|
+
* `watch` or `listen` saves for the first time, sent after the last count, adds one.
|
|
79
|
+
*/
|
|
80
|
+
unreadCounts?: "messenger" | "store";
|
|
75
81
|
/**
|
|
76
82
|
* Whether `search messages --backend` is offered: the adapter has `searchMessages`. `chat` when its server
|
|
77
83
|
* searches one chat at a time, so only a query that names one chat asks it. No when unset.
|