@wirecat/cli-core 0.399.0 → 0.401.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 +111 -0
- package/README.md +1 -1
- package/dist/analysis/consents.d.ts +11 -6
- package/dist/analysis/consents.js +5 -2
- package/dist/cli/bot/mcp.js +2 -1
- package/dist/cli/bot/store.js +1 -1
- package/dist/cli/config-command.js +20 -1
- package/dist/cli/context.d.ts +2 -0
- package/dist/cli/context.js +1 -1
- package/dist/cli/effects.d.ts +4 -1
- package/dist/cli/effects.js +10 -2
- package/dist/cli/index.d.ts +3 -2
- package/dist/cli/index.js +3 -2
- package/dist/cli/json-fields.js +12 -1
- package/dist/cli/meeting-evidence-answer.d.ts +46 -0
- package/dist/cli/meeting-evidence-answer.js +22 -0
- package/dist/cli/meeting-preparation-answer.js +1 -13
- package/dist/cli/messenger/account-command.js +15 -6
- package/dist/cli/messenger/account-profile-query.d.ts +2 -0
- package/dist/cli/messenger/account-profile-query.js +13 -0
- package/dist/cli/messenger/account-sessions-command.js +1 -2
- package/dist/cli/messenger/admin-commands.js +12 -12
- package/dist/cli/messenger/admin-contacts-command.js +6 -3
- package/dist/cli/messenger/admin-folders-command.js +5 -5
- package/dist/cli/messenger/admin-moderation-command.js +4 -4
- package/dist/cli/messenger/admin-statistics-command.js +6 -14
- package/dist/cli/messenger/analysis-consents-query.d.ts +5 -0
- package/dist/cli/messenger/analysis-consents-query.js +20 -0
- package/dist/cli/messenger/archive-commands.js +3 -3
- package/dist/cli/messenger/attachments-command.js +3 -0
- package/dist/cli/messenger/backfill-command.js +5 -4
- package/dist/cli/messenger/chat-queries.d.ts +1 -0
- package/dist/cli/messenger/chat-queries.js +12 -2
- package/dist/cli/messenger/chats-command.js +2 -2
- package/dist/cli/messenger/chats-documents-command.js +7 -5
- package/dist/cli/messenger/chats-members-command.js +7 -3
- package/dist/cli/messenger/chats-read-command.js +1 -1
- package/dist/cli/messenger/chats-tracking-command.js +14 -6
- package/dist/cli/messenger/contacts-command.js +9 -5
- package/dist/cli/messenger/conversations-command.js +20 -16
- package/dist/cli/messenger/doctor-command.js +4 -1
- package/dist/cli/messenger/document-links-query.d.ts +2 -0
- package/dist/cli/messenger/document-links-query.js +9 -0
- package/dist/cli/messenger/download-command.js +1 -0
- package/dist/cli/messenger/flood-command.d.ts +2 -2
- package/dist/cli/messenger/flood-command.js +3 -3
- package/dist/cli/messenger/gaps-command.js +2 -2
- package/dist/cli/messenger/guard-commands.js +35 -13
- package/dist/cli/messenger/images-command.js +1 -0
- package/dist/cli/messenger/media-archive-command.js +2 -0
- package/dist/cli/messenger/media-archive-move-command.js +1 -0
- package/dist/cli/messenger/media-archive-timer-command.js +1 -1
- package/dist/cli/messenger/mentions-command.js +15 -2
- package/dist/cli/messenger/message-writes.d.ts +192 -2
- package/dist/cli/messenger/message-writes.js +6 -2
- package/dist/cli/messenger/messages-command.js +2 -0
- package/dist/cli/messenger/messages-delete-command.js +1 -0
- package/dist/cli/messenger/messages-edit-command.js +1 -0
- package/dist/cli/messenger/messages-evidence-command.js +3 -1
- package/dist/cli/messenger/messages-forward-command.js +1 -0
- package/dist/cli/messenger/messages-pin-command.js +3 -0
- package/dist/cli/messenger/messages-send-command.js +10 -6
- package/dist/cli/messenger/metadata-command.js +6 -1
- package/dist/cli/messenger/models-command.js +10 -5
- package/dist/cli/messenger/polls-command.js +4 -0
- package/dist/cli/messenger/private-people-command.js +3 -3
- package/dist/cli/messenger/rankings-command.js +6 -11
- package/dist/cli/messenger/reactions-command.js +2 -0
- package/dist/cli/messenger/recipients-query.d.ts +5 -0
- package/dist/cli/messenger/recipients-query.js +18 -0
- package/dist/cli/messenger/records-command.js +13 -8
- package/dist/cli/messenger/review.js +1 -1
- package/dist/cli/messenger/schedule-command.js +2 -2
- package/dist/cli/messenger/search-answers.js +2 -0
- package/dist/cli/messenger/search-command.js +3 -1
- package/dist/cli/messenger/searches-command.js +5 -1
- package/dist/cli/messenger/sends-query.d.ts +5 -0
- package/dist/cli/messenger/sends-query.js +33 -0
- package/dist/cli/messenger/serve-command.js +1 -0
- package/dist/cli/messenger/server-command.js +0 -3
- package/dist/cli/messenger/statistics-query.d.ts +14 -0
- package/dist/cli/messenger/statistics-query.js +143 -0
- package/dist/cli/messenger/stats-command.js +5 -5
- package/dist/cli/messenger/store-maintenance-command.js +10 -10
- package/dist/cli/messenger/stored.js +4 -1
- package/dist/cli/messenger/tags-command.js +7 -1
- package/dist/cli/messenger/tasks-command.js +57 -14
- package/dist/cli/messenger/transcribe-command.js +1 -0
- package/dist/cli/messenger/watch-answers.d.ts +6 -0
- package/dist/cli/messenger/watch-answers.js +69 -0
- package/dist/cli/messenger/watch-command.d.ts +1 -1
- package/dist/cli/messenger/watch-command.js +56 -7
- package/dist/cli/program.js +5 -1
- package/dist/cli/runs/command.js +25 -38
- package/dist/cli/runs/query.d.ts +5 -0
- package/dist/cli/runs/query.js +32 -0
- package/dist/cli/runs/search-command.d.ts +4 -0
- package/dist/cli/runs/search-command.js +27 -0
- package/dist/cli/runs/search-query.d.ts +4 -0
- package/dist/cli/runs/search-query.js +50 -0
- package/dist/cli/runs/search.d.ts +2 -1
- package/dist/cli/runs/search.js +6 -6
- package/dist/documents/index.d.ts +1 -0
- package/dist/documents/index.js +1 -0
- package/dist/domain/attachments.js +9 -1
- package/dist/domain/rankings-options.js +3 -3
- package/dist/entities/account-change.d.ts +89 -0
- package/dist/entities/account-change.js +20 -0
- package/dist/entities/account-profile.d.ts +7 -0
- package/dist/entities/account-profile.js +8 -0
- package/dist/entities/analysis-consent.d.ts +9 -0
- package/dist/entities/analysis-consent.js +4 -0
- package/dist/entities/attachment-results.d.ts +96 -0
- package/dist/entities/attachment-results.js +31 -0
- package/dist/entities/batch-result.d.ts +27 -0
- package/dist/entities/batch-result.js +18 -0
- package/dist/entities/chat-admin.d.ts +234 -0
- package/dist/entities/chat-admin.js +84 -0
- package/dist/entities/chat-change.d.ts +25 -0
- package/dist/entities/chat-change.js +11 -0
- package/dist/entities/chat-metadata.d.ts +34 -0
- package/dist/entities/chat-metadata.js +15 -0
- package/dist/entities/chat-moderation.d.ts +44 -0
- package/dist/entities/chat-moderation.js +37 -0
- package/dist/entities/chat-tracking.d.ts +26 -0
- package/dist/entities/chat-tracking.js +23 -0
- package/dist/entities/contact-activity.d.ts +52 -0
- package/dist/entities/contact-activity.js +42 -0
- package/dist/entities/contact-context.d.ts +1568 -0
- package/dist/entities/contact-context.js +191 -0
- package/dist/entities/contact-write.d.ts +22 -0
- package/dist/entities/contact-write.js +6 -0
- package/dist/entities/conversation-preparation.d.ts +63 -0
- package/dist/entities/conversation-preparation.js +23 -0
- package/dist/entities/conversation-results.d.ts +567 -0
- package/dist/entities/conversation-results.js +94 -0
- package/dist/entities/document-link.d.ts +13 -0
- package/dist/entities/document-link.js +11 -0
- package/dist/entities/extraction-report.d.ts +95 -0
- package/dist/entities/extraction-report.js +34 -0
- package/dist/entities/hit.d.ts +4 -0
- package/dist/entities/hit.js +4 -0
- package/dist/entities/image-embedding.d.ts +9 -0
- package/dist/entities/image-embedding.js +10 -0
- package/dist/entities/index.d.ts +8284 -1921
- package/dist/entities/index.js +178 -3
- package/dist/entities/listener.d.ts +2150 -0
- package/dist/entities/listener.js +46 -0
- package/dist/entities/media-archive.d.ts +43 -0
- package/dist/entities/media-archive.js +32 -0
- package/dist/entities/meeting-evidence.d.ts +86 -0
- package/dist/entities/meeting-evidence.js +25 -0
- package/dist/entities/meeting-preparation-parts.d.ts +14 -0
- package/dist/entities/meeting-preparation-parts.js +15 -13
- package/dist/entities/meeting-task-proposal.d.ts +14 -0
- package/dist/entities/meeting-task-proposal.js +19 -0
- package/dist/entities/meeting.d.ts +1 -1
- package/dist/entities/meeting.js +1 -1
- package/dist/entities/mention.d.ts +63 -0
- package/dist/entities/mention.js +44 -0
- package/dist/entities/message-change.d.ts +19 -0
- package/dist/entities/message-change.js +6 -0
- package/dist/entities/message-context.d.ts +617 -0
- package/dist/entities/message-context.js +20 -0
- package/dist/entities/message-read.d.ts +73 -0
- package/dist/entities/message-read.js +58 -0
- package/dist/entities/message-transfer.d.ts +379 -0
- package/dist/entities/message-transfer.js +83 -0
- package/dist/entities/message-write.d.ts +378 -0
- package/dist/entities/message-write.js +10 -0
- package/dist/entities/model-key.d.ts +14 -0
- package/dist/entities/model-key.js +10 -0
- package/dist/entities/poll.d.ts +40 -0
- package/dist/entities/poll.js +16 -0
- package/dist/entities/private-contact.d.ts +10 -0
- package/dist/entities/private-contact.js +4 -0
- package/dist/entities/reaction-change.d.ts +7 -0
- package/dist/entities/reaction-change.js +8 -0
- package/dist/entities/recipient.d.ts +29 -0
- package/dist/entities/recipient.js +11 -0
- package/dist/entities/recorded-run.d.ts +103 -0
- package/dist/entities/recorded-run.js +44 -0
- package/dist/entities/saved-search.d.ts +4 -0
- package/dist/entities/saved-search.js +2 -0
- package/dist/entities/send-attempt.d.ts +31 -0
- package/dist/entities/send-attempt.js +29 -0
- package/dist/entities/store-maintenance.d.ts +319 -0
- package/dist/entities/store-maintenance.js +145 -0
- package/dist/entities/store-records.d.ts +442 -0
- package/dist/entities/store-records.js +99 -0
- package/dist/entities/tag-change.d.ts +74 -0
- package/dist/entities/tag-change.js +31 -0
- package/dist/entities/task-pair.d.ts +31 -0
- package/dist/entities/task-pair.js +23 -0
- package/dist/entities/task-results.d.ts +524 -0
- package/dist/entities/task-results.js +142 -0
- package/dist/errors/reasons.js +3 -0
- package/dist/mcp/agent.d.ts +3 -1
- package/dist/mcp/agent.js +17 -10
- package/dist/mcp/bot/server.d.ts +2 -0
- package/dist/mcp/bot/server.js +1 -0
- package/dist/mcp/server.js +3 -1
- package/dist/mcp/tools/attachments.js +1 -0
- package/dist/meetings/cli/index.js +4 -2
- package/dist/meetings/cli/passage.js +1 -0
- package/dist/meetings/index.d.ts +2 -1
- package/dist/meetings/index.js +1 -0
- package/dist/meetings/links.d.ts +16 -0
- package/dist/meetings/read-answers.d.ts +185 -0
- package/dist/meetings/read-answers.js +213 -0
- package/dist/ports/messenger.d.ts +10 -1
- package/dist/runs/run.d.ts +10 -2
- package/dist/runs/run.js +11 -3
- package/dist/sends/guard.d.ts +1 -1
- package/dist/sends/guard.js +9 -5
- package/dist/sends/journal.d.ts +9 -2
- package/dist/sends/journal.js +9 -2
- package/dist/sends/permissions.d.ts +5 -1
- package/dist/sends/permissions.js +42 -2
- package/dist/sends/recipients.d.ts +8 -0
- package/dist/sends/recipients.js +9 -0
- package/dist/sends/upload.d.ts +4 -4
- package/dist/sends/upload.js +24 -20
- package/dist/services/admin-statistics.js +3 -3
- package/dist/services/chat-documents.d.ts +1 -0
- package/dist/services/chat-documents.js +9 -3
- package/dist/services/chats.d.ts +1 -1
- package/dist/services/chats.js +5 -2
- package/dist/services/documents/mirrors.d.ts +98 -0
- package/dist/services/documents/mirrors.js +144 -0
- package/dist/services/meeting-links.d.ts +2 -17
- package/dist/services/messages.js +1 -0
- package/dist/services/search-all-meetings.js +21 -8
- package/dist/services/task-rules.d.ts +1 -1
- package/dist/services/tasks.d.ts +2 -2
- package/dist/services/tasks.js +1 -1
- package/dist/store/exports.d.ts +1 -1
- package/dist/store/exports.js +1 -1
- package/dist/store/messages.d.ts +3 -1
- package/dist/store/messages.js +2 -2
- package/dist/store/roster.d.ts +4 -1
- package/dist/store/roster.js +2 -2
- package/dist/store/sqlite/chats.d.ts +12 -0
- package/dist/store/sqlite/chats.js +1 -0
- package/dist/store/sqlite/document-links.d.ts +1 -1
- package/dist/store/sqlite/document-links.js +5 -5
- package/dist/store/sqlite/drizzle/bun.js +3 -3
- package/dist/store/sqlite/drizzle/bun.js.map +1 -1
- package/dist/store/sqlite/drizzle/core.js +2 -2
- package/dist/store/sqlite/drizzle/core.js.map +1 -1
- package/dist/store/sqlite/drizzle/node.js +3 -3
- package/dist/store/sqlite/drizzle/node.js.map +1 -1
- package/dist/store/sqlite/drizzle/{shared-O7CTKP45.js → shared-HKXF6HKX.js} +57 -57
- package/dist/store/sqlite/drizzle/{shared-O7CTKP45.js.map → shared-HKXF6HKX.js.map} +1 -1
- package/dist/store/sqlite/involvements.js +2 -1
- package/dist/store/sqlite/roster.d.ts +2 -1
- package/dist/store/sqlite/roster.js +3 -2
- package/package.json +2 -2
- package/parity.json +14 -69
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import * as v from "valibot";
|
|
2
|
+
import { batchResult } from "./batch-result.js";
|
|
3
|
+
import { chat } from "./chat.js";
|
|
4
|
+
import { catchUpPreparation } from "./conversation-preparation.js";
|
|
5
|
+
import { count, id, text, time } from "./fields.js";
|
|
6
|
+
import { job } from "./job.js";
|
|
7
|
+
import { message } from "./message.js";
|
|
8
|
+
import { messageSyncStarted } from "./message-transfer.js";
|
|
9
|
+
const range = v.strictObject({ from: v.number(), to: v.number() });
|
|
10
|
+
export const storeChatStatus = v.strictObject({
|
|
11
|
+
chat_id: id,
|
|
12
|
+
title: v.nullable(text),
|
|
13
|
+
kind: chat.entries.kind,
|
|
14
|
+
messages: count,
|
|
15
|
+
oldest_at: v.nullable(time),
|
|
16
|
+
newest_at: v.nullable(time),
|
|
17
|
+
last_stored_at: v.nullable(time),
|
|
18
|
+
held: v.array(range),
|
|
19
|
+
});
|
|
20
|
+
export const storeClear = v.strictObject({
|
|
21
|
+
cleared: v.boolean(),
|
|
22
|
+
dry_run: v.optional(v.literal(true)),
|
|
23
|
+
chats: count,
|
|
24
|
+
messages: count,
|
|
25
|
+
left: v.array(v.strictObject({ id, title: v.nullable(text), messages: count })),
|
|
26
|
+
});
|
|
27
|
+
/** Exports answer with message rows, one written file, or an incremental directory receipt. */
|
|
28
|
+
export const storeExport = v.union([
|
|
29
|
+
message,
|
|
30
|
+
v.strictObject({
|
|
31
|
+
path: text,
|
|
32
|
+
format: v.picklist(["jsonl", "markdown"]),
|
|
33
|
+
count,
|
|
34
|
+
encrypted: v.optional(v.literal(true)),
|
|
35
|
+
}),
|
|
36
|
+
v.strictObject({
|
|
37
|
+
path: text,
|
|
38
|
+
encrypted: v.optional(v.literal(true)),
|
|
39
|
+
chats: v.array(v.strictObject({ id, title: v.nullable(text), file: v.nullable(text), messages: count, deleted: count })),
|
|
40
|
+
}),
|
|
41
|
+
]);
|
|
42
|
+
export const storeGapPlan = v.strictObject({
|
|
43
|
+
version: v.literal(1),
|
|
44
|
+
scope: v.literal("interior"),
|
|
45
|
+
account: v.strictObject({ provider: text, account: id }),
|
|
46
|
+
chat: id,
|
|
47
|
+
ordering: v.picklist(["id", "time"]),
|
|
48
|
+
held: v.array(range),
|
|
49
|
+
gaps: v.array(range),
|
|
50
|
+
unknown: v.strictObject({ older: v.boolean(), newer: v.literal(true) }),
|
|
51
|
+
fingerprint: text,
|
|
52
|
+
limits: v.strictObject({ max_gaps: count, limit: count, time_ms: count, page_size: count }),
|
|
53
|
+
});
|
|
54
|
+
export const storeGapRepair = v.union([
|
|
55
|
+
messageSyncStarted,
|
|
56
|
+
v.strictObject({
|
|
57
|
+
version: v.literal(1),
|
|
58
|
+
scope: v.literal("interior"),
|
|
59
|
+
chat: id,
|
|
60
|
+
before: storeGapPlan,
|
|
61
|
+
after: storeGapPlan,
|
|
62
|
+
repaired: v.array(range),
|
|
63
|
+
fetched: count,
|
|
64
|
+
requests: count,
|
|
65
|
+
complete: v.boolean(),
|
|
66
|
+
prepared: v.optional(catchUpPreparation),
|
|
67
|
+
stopped: v.optional(v.picklist(["bound", "partial_or_inaccessible", "fetch_failed"])),
|
|
68
|
+
}),
|
|
69
|
+
]);
|
|
70
|
+
/** Persisted older jobs can lack recovery flags; newer diagnostics remain available. */
|
|
71
|
+
const problem = v.objectWithRest({ code: text, message: text, retryable: v.optional(v.boolean()), retry_after_ms: v.optional(v.number()) }, v.unknown());
|
|
72
|
+
const progress = v.strictObject({
|
|
73
|
+
job: id,
|
|
74
|
+
profile: text,
|
|
75
|
+
done: count,
|
|
76
|
+
total: v.nullable(count),
|
|
77
|
+
remaining: v.nullable(count),
|
|
78
|
+
state: v.picklist(["partial", "complete"]),
|
|
79
|
+
updated_at: v.nullable(time),
|
|
80
|
+
cursor_age_ms: v.nullable(count),
|
|
81
|
+
});
|
|
82
|
+
export const storeJobDetails = v.strictObject({
|
|
83
|
+
...v.omit(job, ["id", "issue", "error"]).entries,
|
|
84
|
+
job: id,
|
|
85
|
+
profile: text,
|
|
86
|
+
issue: v.optional(problem),
|
|
87
|
+
error: v.optional(problem),
|
|
88
|
+
batch: v.optional(batchResult),
|
|
89
|
+
resume: v.optional(v.strictObject({ before: v.optional(text) })),
|
|
90
|
+
progress,
|
|
91
|
+
held: v.optional(v.array(range)),
|
|
92
|
+
log: text,
|
|
93
|
+
});
|
|
94
|
+
export const storeJobCancel = v.strictObject({ job: id, cancelled: v.literal(true) });
|
|
95
|
+
export const storeJobRetry = v.union([
|
|
96
|
+
v.strictObject({ ...messageSyncStarted.entries, retried: id }),
|
|
97
|
+
v.strictObject({ retried: id, chat: text, error: v.strictObject({ code: text, message: text }) }),
|
|
98
|
+
]);
|
|
99
|
+
export const storeJobClear = v.strictObject({ cleared: v.array(id) });
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import * as v from "valibot";
|
|
2
|
+
export declare const tagTarget: v.VariantSchema<"type", [v.StrictObjectSchema<{
|
|
3
|
+
readonly type: v.LiteralSchema<"chat", undefined>;
|
|
4
|
+
readonly chat_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
5
|
+
}, undefined>, v.StrictObjectSchema<{
|
|
6
|
+
readonly type: v.LiteralSchema<"contact", undefined>;
|
|
7
|
+
readonly person_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
8
|
+
}, undefined>, v.StrictObjectSchema<{
|
|
9
|
+
readonly type: v.LiteralSchema<"message", undefined>;
|
|
10
|
+
readonly chat_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
11
|
+
readonly message_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
12
|
+
readonly locator: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a reference such as `note:42`">]>;
|
|
13
|
+
}, undefined>, v.StrictObjectSchema<{
|
|
14
|
+
readonly type: v.LiteralSchema<"task", undefined>;
|
|
15
|
+
readonly task_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
16
|
+
}, undefined>], undefined>;
|
|
17
|
+
export declare const tagChange: v.UnionSchema<[v.StrictObjectSchema<{
|
|
18
|
+
readonly target: v.VariantSchema<"type", [v.StrictObjectSchema<{
|
|
19
|
+
readonly type: v.LiteralSchema<"chat", undefined>;
|
|
20
|
+
readonly chat_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
21
|
+
}, undefined>, v.StrictObjectSchema<{
|
|
22
|
+
readonly type: v.LiteralSchema<"contact", undefined>;
|
|
23
|
+
readonly person_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
24
|
+
}, undefined>, v.StrictObjectSchema<{
|
|
25
|
+
readonly type: v.LiteralSchema<"message", undefined>;
|
|
26
|
+
readonly chat_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
27
|
+
readonly message_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
28
|
+
readonly locator: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a reference such as `note:42`">]>;
|
|
29
|
+
}, undefined>, v.StrictObjectSchema<{
|
|
30
|
+
readonly type: v.LiteralSchema<"task", undefined>;
|
|
31
|
+
readonly task_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
32
|
+
}, undefined>], undefined>;
|
|
33
|
+
readonly unchanged: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
34
|
+
readonly added: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
35
|
+
}, undefined>, v.StrictObjectSchema<{
|
|
36
|
+
readonly target: v.VariantSchema<"type", [v.StrictObjectSchema<{
|
|
37
|
+
readonly type: v.LiteralSchema<"chat", undefined>;
|
|
38
|
+
readonly chat_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
39
|
+
}, undefined>, v.StrictObjectSchema<{
|
|
40
|
+
readonly type: v.LiteralSchema<"contact", undefined>;
|
|
41
|
+
readonly person_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
42
|
+
}, undefined>, v.StrictObjectSchema<{
|
|
43
|
+
readonly type: v.LiteralSchema<"message", undefined>;
|
|
44
|
+
readonly chat_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
45
|
+
readonly message_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
46
|
+
readonly locator: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a reference such as `note:42`">]>;
|
|
47
|
+
}, undefined>, v.StrictObjectSchema<{
|
|
48
|
+
readonly type: v.LiteralSchema<"task", undefined>;
|
|
49
|
+
readonly task_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
50
|
+
}, undefined>], undefined>;
|
|
51
|
+
readonly unchanged: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
52
|
+
readonly removed: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
53
|
+
}, undefined>], undefined>;
|
|
54
|
+
export declare const automaticTags: v.StrictObjectSchema<{
|
|
55
|
+
readonly items: v.ArraySchema<v.UnionSchema<[v.StrictObjectSchema<{
|
|
56
|
+
readonly chat_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
57
|
+
readonly tags: v.ArraySchema<v.StrictObjectSchema<{
|
|
58
|
+
readonly tag: v.StringSchema<undefined>;
|
|
59
|
+
readonly score: v.NumberSchema<undefined>;
|
|
60
|
+
readonly fields: v.ArraySchema<v.PicklistSchema<["title", "username", "description"], undefined>, undefined>;
|
|
61
|
+
}, undefined>, undefined>;
|
|
62
|
+
readonly algorithm: v.StringSchema<undefined>;
|
|
63
|
+
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>;
|
|
64
|
+
readonly source: v.PicklistSchema<["metadata", "stored-chat"], undefined>;
|
|
65
|
+
}, undefined>, v.StrictObjectSchema<{
|
|
66
|
+
readonly chat_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
67
|
+
readonly error: v.StrictObjectSchema<{
|
|
68
|
+
readonly code: v.StringSchema<undefined>;
|
|
69
|
+
readonly message: v.StringSchema<undefined>;
|
|
70
|
+
}, undefined>;
|
|
71
|
+
}, undefined>], undefined>, undefined>;
|
|
72
|
+
readonly has_more: v.BooleanSchema<undefined>;
|
|
73
|
+
readonly dry_run: v.BooleanSchema<undefined>;
|
|
74
|
+
}, undefined>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as v from "valibot";
|
|
2
|
+
import { id, reference, text, time } from "./fields.js";
|
|
3
|
+
export const tagTarget = v.variant("type", [
|
|
4
|
+
v.strictObject({ type: v.literal("chat"), chat_id: id }),
|
|
5
|
+
v.strictObject({ type: v.literal("contact"), person_id: id }),
|
|
6
|
+
v.strictObject({ type: v.literal("message"), chat_id: id, message_id: id, locator: reference }),
|
|
7
|
+
v.strictObject({ type: v.literal("task"), task_id: id }),
|
|
8
|
+
]);
|
|
9
|
+
const receipt = { target: tagTarget, unchanged: v.array(text) };
|
|
10
|
+
export const tagChange = v.union([
|
|
11
|
+
v.strictObject({ ...receipt, added: v.array(text) }),
|
|
12
|
+
v.strictObject({ ...receipt, removed: v.array(text) }),
|
|
13
|
+
]);
|
|
14
|
+
export const automaticTags = v.strictObject({
|
|
15
|
+
items: v.array(v.union([
|
|
16
|
+
v.strictObject({
|
|
17
|
+
chat_id: id,
|
|
18
|
+
tags: v.array(v.strictObject({
|
|
19
|
+
tag: text,
|
|
20
|
+
score: v.number(),
|
|
21
|
+
fields: v.array(v.picklist(["title", "username", "description"])),
|
|
22
|
+
})),
|
|
23
|
+
algorithm: text,
|
|
24
|
+
fetched_at: v.nullable(time),
|
|
25
|
+
source: v.picklist(["metadata", "stored-chat"]),
|
|
26
|
+
}),
|
|
27
|
+
v.strictObject({ chat_id: id, error: v.strictObject({ code: text, message: text }) }),
|
|
28
|
+
])),
|
|
29
|
+
has_more: v.boolean(),
|
|
30
|
+
dry_run: v.boolean(),
|
|
31
|
+
});
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as v from "valibot";
|
|
2
|
+
export declare const taskPair: v.StrictObjectSchema<{
|
|
3
|
+
readonly task: v.NullableSchema<v.StrictObjectSchema<{
|
|
4
|
+
readonly ref: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a reference such as `note:42`">]>;
|
|
5
|
+
readonly key: v.StringSchema<undefined>;
|
|
6
|
+
readonly title: v.StringSchema<undefined>;
|
|
7
|
+
readonly status: v.StringSchema<undefined>;
|
|
8
|
+
}, undefined>, undefined>;
|
|
9
|
+
readonly source: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a reference such as `note:42`">]>, undefined>;
|
|
10
|
+
readonly other: v.StrictObjectSchema<{
|
|
11
|
+
readonly ref: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a reference such as `note:42`">]>;
|
|
12
|
+
readonly key: v.StringSchema<undefined>;
|
|
13
|
+
readonly title: v.StringSchema<undefined>;
|
|
14
|
+
readonly status: v.StringSchema<undefined>;
|
|
15
|
+
}, undefined>;
|
|
16
|
+
readonly score: v.NumberSchema<undefined>;
|
|
17
|
+
readonly band: v.PicklistSchema<["likely", "maybe", "different"], undefined>;
|
|
18
|
+
readonly levels: v.StrictObjectSchema<{
|
|
19
|
+
readonly text: v.PicklistSchema<["high", "middle", "low"], undefined>;
|
|
20
|
+
readonly person: v.PicklistSchema<["same", "different", "unknown"], undefined>;
|
|
21
|
+
readonly amount: v.PicklistSchema<["equal", "different", "missing"], undefined>;
|
|
22
|
+
readonly category: v.PicklistSchema<["same", "different", "unknown"], undefined>;
|
|
23
|
+
readonly due: v.PicklistSchema<["near", "far", "missing"], undefined>;
|
|
24
|
+
readonly reply: v.PicklistSchema<["yes", "no"], undefined>;
|
|
25
|
+
readonly time: v.PicklistSchema<["near", "weeks", "far"], undefined>;
|
|
26
|
+
}, undefined>;
|
|
27
|
+
readonly reasons: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
28
|
+
readonly decision: v.PicklistSchema<["review", "unsure", "merged", "rejected", "unmerged", "attached", "new"], undefined>;
|
|
29
|
+
readonly decided_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>;
|
|
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
|
+
}, undefined>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as v from "valibot";
|
|
2
|
+
import { reference, text, time } from "./fields.js";
|
|
3
|
+
const side = v.strictObject({ ref: reference, key: text, title: text, status: text });
|
|
4
|
+
export const taskPair = v.strictObject({
|
|
5
|
+
task: v.nullable(side),
|
|
6
|
+
source: v.nullable(reference),
|
|
7
|
+
other: side,
|
|
8
|
+
score: v.number(),
|
|
9
|
+
band: v.picklist(["likely", "maybe", "different"]),
|
|
10
|
+
levels: v.strictObject({
|
|
11
|
+
text: v.picklist(["high", "middle", "low"]),
|
|
12
|
+
person: v.picklist(["same", "different", "unknown"]),
|
|
13
|
+
amount: v.picklist(["equal", "different", "missing"]),
|
|
14
|
+
category: v.picklist(["same", "different", "unknown"]),
|
|
15
|
+
due: v.picklist(["near", "far", "missing"]),
|
|
16
|
+
reply: v.picklist(["yes", "no"]),
|
|
17
|
+
time: v.picklist(["near", "weeks", "far"]),
|
|
18
|
+
}),
|
|
19
|
+
reasons: v.array(text),
|
|
20
|
+
decision: v.picklist(["review", "unsure", "merged", "rejected", "unmerged", "attached", "new"]),
|
|
21
|
+
decided_at: v.nullable(time),
|
|
22
|
+
created_at: time,
|
|
23
|
+
});
|