@wirecat/cli-core 0.263.0 → 0.265.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/README.md +226 -486
- package/dist/background/schedules.d.ts +2 -0
- package/dist/background/schedules.d.ts.map +1 -1
- package/dist/background/schedules.js +26 -8
- package/dist/background/schedules.js.map +1 -1
- package/dist/cli/envelope.d.ts +2 -0
- package/dist/cli/envelope.d.ts.map +1 -1
- package/dist/cli/envelope.js +2 -2
- package/dist/cli/envelope.js.map +1 -1
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/list-query.d.ts +42 -0
- package/dist/cli/list-query.d.ts.map +1 -0
- package/dist/cli/list-query.js +121 -0
- package/dist/cli/list-query.js.map +1 -0
- package/dist/cli/messenger/admin-commands.d.ts.map +1 -1
- package/dist/cli/messenger/admin-commands.js +34 -46
- package/dist/cli/messenger/admin-commands.js.map +1 -1
- package/dist/cli/messenger/admin-contacts-command.d.ts.map +1 -1
- package/dist/cli/messenger/admin-contacts-command.js +7 -3
- package/dist/cli/messenger/admin-contacts-command.js.map +1 -1
- package/dist/cli/messenger/admin-folders-command.d.ts.map +1 -1
- package/dist/cli/messenger/admin-folders-command.js +21 -21
- package/dist/cli/messenger/admin-folders-command.js.map +1 -1
- package/dist/cli/messenger/admin-moderation-command.d.ts.map +1 -1
- package/dist/cli/messenger/admin-moderation-command.js +11 -13
- package/dist/cli/messenger/admin-moderation-command.js.map +1 -1
- package/dist/cli/messenger/backfill-command.d.ts.map +1 -1
- package/dist/cli/messenger/backfill-command.js +10 -6
- package/dist/cli/messenger/backfill-command.js.map +1 -1
- package/dist/cli/messenger/backfill-jobs.d.ts +1 -1
- package/dist/cli/messenger/backfill-jobs.d.ts.map +1 -1
- package/dist/cli/messenger/backfill-jobs.js +1 -1
- package/dist/cli/messenger/backfill-jobs.js.map +1 -1
- package/dist/cli/messenger/chat-answers.d.ts +155 -0
- package/dist/cli/messenger/chat-answers.d.ts.map +1 -0
- package/dist/cli/messenger/chat-answers.js +243 -0
- package/dist/cli/messenger/chat-answers.js.map +1 -0
- package/dist/cli/messenger/chat-lists.d.ts +161 -0
- package/dist/cli/messenger/chat-lists.d.ts.map +1 -0
- package/dist/cli/messenger/chat-lists.js +82 -0
- package/dist/cli/messenger/chat-lists.js.map +1 -0
- package/dist/cli/messenger/chat-queries.d.ts +14 -0
- package/dist/cli/messenger/chat-queries.d.ts.map +1 -0
- package/dist/cli/messenger/chat-queries.js +48 -0
- package/dist/cli/messenger/chat-queries.js.map +1 -0
- package/dist/cli/messenger/chats-bots-command.d.ts.map +1 -1
- package/dist/cli/messenger/chats-bots-command.js +7 -2
- package/dist/cli/messenger/chats-bots-command.js.map +1 -1
- package/dist/cli/messenger/chats-command.d.ts.map +1 -1
- package/dist/cli/messenger/chats-command.js +33 -71
- package/dist/cli/messenger/chats-command.js.map +1 -1
- package/dist/cli/messenger/chats-documents-command.d.ts.map +1 -1
- package/dist/cli/messenger/chats-documents-command.js +10 -5
- package/dist/cli/messenger/chats-documents-command.js.map +1 -1
- package/dist/cli/messenger/chats-members-command.d.ts.map +1 -1
- package/dist/cli/messenger/chats-members-command.js +38 -64
- package/dist/cli/messenger/chats-members-command.js.map +1 -1
- package/dist/cli/messenger/chats-read-command.d.ts.map +1 -1
- package/dist/cli/messenger/chats-read-command.js +4 -2
- package/dist/cli/messenger/chats-read-command.js.map +1 -1
- package/dist/cli/messenger/chats-stats-command.d.ts.map +1 -1
- package/dist/cli/messenger/chats-stats-command.js +24 -17
- package/dist/cli/messenger/chats-stats-command.js.map +1 -1
- package/dist/cli/messenger/chats-tracking-command.d.ts.map +1 -1
- package/dist/cli/messenger/chats-tracking-command.js +11 -17
- package/dist/cli/messenger/chats-tracking-command.js.map +1 -1
- package/dist/cli/messenger/contacts-command.d.ts.map +1 -1
- package/dist/cli/messenger/contacts-command.js +61 -43
- package/dist/cli/messenger/contacts-command.js.map +1 -1
- package/dist/cli/messenger/context.d.ts.map +1 -1
- package/dist/cli/messenger/context.js +5 -2
- package/dist/cli/messenger/context.js.map +1 -1
- package/dist/cli/messenger/conversations-command.d.ts.map +1 -1
- package/dist/cli/messenger/conversations-command.js +13 -20
- package/dist/cli/messenger/conversations-command.js.map +1 -1
- package/dist/cli/messenger/gaps-command.js +3 -3
- package/dist/cli/messenger/gaps-command.js.map +1 -1
- package/dist/cli/messenger/hearing-command.d.ts +1 -1
- package/dist/cli/messenger/hearing-command.d.ts.map +1 -1
- package/dist/cli/messenger/hearing-command.js +1 -1
- package/dist/cli/messenger/hearing-command.js.map +1 -1
- package/dist/cli/messenger/history-query.d.ts +18 -0
- package/dist/cli/messenger/history-query.d.ts.map +1 -0
- package/dist/cli/messenger/history-query.js +63 -0
- package/dist/cli/messenger/history-query.js.map +1 -0
- package/dist/cli/messenger/images-command.d.ts +8 -0
- package/dist/cli/messenger/images-command.d.ts.map +1 -0
- package/dist/cli/messenger/images-command.js +36 -0
- package/dist/cli/messenger/images-command.js.map +1 -0
- package/dist/cli/messenger/list-query.d.ts +13 -0
- package/dist/cli/messenger/list-query.d.ts.map +1 -0
- package/dist/cli/messenger/list-query.js +23 -0
- package/dist/cli/messenger/list-query.js.map +1 -0
- package/dist/cli/messenger/mentions-command.d.ts +5 -0
- package/dist/cli/messenger/mentions-command.d.ts.map +1 -0
- package/dist/cli/messenger/mentions-command.js +51 -0
- package/dist/cli/messenger/mentions-command.js.map +1 -0
- package/dist/cli/messenger/message-items.d.ts +31 -0
- package/dist/cli/messenger/message-items.d.ts.map +1 -0
- package/dist/cli/messenger/message-items.js +95 -0
- package/dist/cli/messenger/message-items.js.map +1 -0
- package/dist/cli/messenger/messages-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-command.js +52 -77
- package/dist/cli/messenger/messages-command.js.map +1 -1
- package/dist/cli/messenger/messages-comments-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-comments-command.js +39 -28
- package/dist/cli/messenger/messages-comments-command.js.map +1 -1
- package/dist/cli/messenger/messages-link-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-link-command.js +16 -14
- package/dist/cli/messenger/messages-link-command.js.map +1 -1
- package/dist/cli/messenger/messages-scheduled-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-scheduled-command.js +23 -26
- package/dist/cli/messenger/messages-scheduled-command.js.map +1 -1
- package/dist/cli/messenger/messages-search-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-search-command.js +6 -0
- package/dist/cli/messenger/messages-search-command.js.map +1 -1
- package/dist/cli/messenger/models-command.d.ts.map +1 -1
- package/dist/cli/messenger/models-command.js +57 -0
- package/dist/cli/messenger/models-command.js.map +1 -1
- package/dist/cli/messenger/people-queries.d.ts +6 -0
- package/dist/cli/messenger/people-queries.d.ts.map +1 -0
- package/dist/cli/messenger/people-queries.js +15 -0
- package/dist/cli/messenger/people-queries.js.map +1 -0
- package/dist/cli/messenger/polls-command.d.ts.map +1 -1
- package/dist/cli/messenger/polls-command.js +29 -23
- package/dist/cli/messenger/polls-command.js.map +1 -1
- package/dist/cli/messenger/reactions-command.d.ts.map +1 -1
- package/dist/cli/messenger/reactions-command.js +6 -2
- package/dist/cli/messenger/reactions-command.js.map +1 -1
- package/dist/cli/messenger/serve-command.d.ts.map +1 -1
- package/dist/cli/messenger/serve-command.js +21 -33
- package/dist/cli/messenger/serve-command.js.map +1 -1
- package/dist/cli/messenger/serve-members.d.ts +2 -1
- package/dist/cli/messenger/serve-members.d.ts.map +1 -1
- package/dist/cli/messenger/serve-members.js +11 -2
- package/dist/cli/messenger/serve-members.js.map +1 -1
- package/dist/cli/messenger/serve-notice.d.ts +21 -0
- package/dist/cli/messenger/serve-notice.d.ts.map +1 -0
- package/dist/cli/messenger/serve-notice.js +40 -0
- package/dist/cli/messenger/serve-notice.js.map +1 -0
- package/dist/cli/messenger/serve-stems.d.ts +2 -1
- package/dist/cli/messenger/serve-stems.d.ts.map +1 -1
- package/dist/cli/messenger/serve-stems.js +2 -1
- package/dist/cli/messenger/serve-stems.js.map +1 -1
- package/dist/cli/messenger/tags-command.d.ts.map +1 -1
- package/dist/cli/messenger/tags-command.js +11 -30
- package/dist/cli/messenger/tags-command.js.map +1 -1
- package/dist/cli/messenger/tasks-command.d.ts.map +1 -1
- package/dist/cli/messenger/tasks-command.js +13 -22
- package/dist/cli/messenger/tasks-command.js.map +1 -1
- package/dist/cli/messenger/topics-command.d.ts.map +1 -1
- package/dist/cli/messenger/topics-command.js +21 -9
- package/dist/cli/messenger/topics-command.js.map +1 -1
- package/dist/cli/runs/log-attributes.d.ts +5 -0
- package/dist/cli/runs/log-attributes.d.ts.map +1 -0
- package/dist/cli/runs/log-attributes.js +67 -0
- package/dist/cli/runs/log-attributes.js.map +1 -0
- package/dist/cli/runs/record-log.d.ts +8 -0
- package/dist/cli/runs/record-log.d.ts.map +1 -0
- package/dist/cli/runs/record-log.js +17 -0
- package/dist/cli/runs/record-log.js.map +1 -0
- package/dist/cli/runs/recording.d.ts +4 -1
- package/dist/cli/runs/recording.d.ts.map +1 -1
- package/dist/cli/runs/recording.js +11 -3
- package/dist/cli/runs/recording.js.map +1 -1
- package/dist/cli/runs/run.d.ts +4 -0
- package/dist/cli/runs/run.d.ts.map +1 -1
- package/dist/cli/runs/run.js +4 -0
- package/dist/cli/runs/run.js.map +1 -1
- package/dist/cli/runs/scope.d.ts +17 -0
- package/dist/cli/runs/scope.d.ts.map +1 -1
- package/dist/cli/runs/scope.js +25 -1
- package/dist/cli/runs/scope.js.map +1 -1
- package/dist/cli/settings.d.ts +4 -0
- package/dist/cli/settings.d.ts.map +1 -1
- package/dist/cli/settings.js +4 -0
- package/dist/cli/settings.js.map +1 -1
- package/dist/cli/steps.d.ts.map +1 -1
- package/dist/cli/steps.js +24 -0
- package/dist/cli/steps.js.map +1 -1
- package/dist/domain/google-documents.d.ts +4 -0
- package/dist/domain/google-documents.d.ts.map +1 -1
- package/dist/domain/google-documents.js +7 -6
- package/dist/domain/google-documents.js.map +1 -1
- package/dist/domain/mentions.d.ts +22 -0
- package/dist/domain/mentions.d.ts.map +1 -0
- package/dist/domain/mentions.js +139 -0
- package/dist/domain/mentions.js.map +1 -0
- package/dist/embeddings/embed.d.ts.map +1 -1
- package/dist/embeddings/embed.js +1 -4
- package/dist/embeddings/embed.js.map +1 -1
- package/dist/embeddings/models.d.ts +1 -1
- package/dist/entities/attachment.d.ts +6 -0
- package/dist/entities/attachment.d.ts.map +1 -1
- package/dist/entities/attachment.js +6 -0
- package/dist/entities/attachment.js.map +1 -1
- package/dist/entities/chat-event.d.ts +28 -0
- package/dist/entities/chat-event.d.ts.map +1 -0
- package/dist/entities/chat-event.js +19 -0
- package/dist/entities/chat-event.js.map +1 -0
- package/dist/entities/chat.d.ts +29 -0
- package/dist/entities/chat.d.ts.map +1 -1
- package/dist/entities/chat.js +15 -0
- package/dist/entities/chat.js.map +1 -1
- package/dist/entities/contact.d.ts +137 -0
- package/dist/entities/contact.d.ts.map +1 -1
- package/dist/entities/contact.js +6 -1
- package/dist/entities/contact.js.map +1 -1
- package/dist/entities/conversation.d.ts +16 -0
- package/dist/entities/conversation.d.ts.map +1 -0
- package/dist/entities/conversation.js +17 -0
- package/dist/entities/conversation.js.map +1 -0
- package/dist/entities/folder.d.ts +31 -0
- package/dist/entities/folder.d.ts.map +1 -0
- package/dist/entities/folder.js +25 -0
- package/dist/entities/folder.js.map +1 -0
- package/dist/entities/index.d.ts +385 -1
- package/dist/entities/index.d.ts.map +1 -1
- package/dist/entities/index.js +21 -1
- package/dist/entities/index.js.map +1 -1
- package/dist/entities/invite-link.d.ts +17 -0
- package/dist/entities/invite-link.d.ts.map +1 -0
- package/dist/entities/invite-link.js +18 -0
- package/dist/entities/invite-link.js.map +1 -0
- package/dist/entities/join-request.d.ts +12 -0
- package/dist/entities/join-request.d.ts.map +1 -0
- package/dist/entities/join-request.js +13 -0
- package/dist/entities/join-request.js.map +1 -0
- package/dist/entities/member.d.ts +24 -0
- package/dist/entities/member.d.ts.map +1 -0
- package/dist/entities/member.js +25 -0
- package/dist/entities/member.js.map +1 -0
- package/dist/entities/message-link.d.ts +10 -0
- package/dist/entities/message-link.d.ts.map +1 -0
- package/dist/entities/message-link.js +11 -0
- package/dist/entities/message-link.js.map +1 -0
- package/dist/entities/message.d.ts +19 -0
- package/dist/entities/message.d.ts.map +1 -1
- package/dist/entities/message.js +4 -0
- package/dist/entities/message.js.map +1 -1
- package/dist/entities/poll-vote.d.ts +11 -0
- package/dist/entities/poll-vote.d.ts.map +1 -0
- package/dist/entities/poll-vote.js +12 -0
- package/dist/entities/poll-vote.js.map +1 -0
- package/dist/entities/tagging.d.ts +14 -0
- package/dist/entities/tagging.d.ts.map +1 -0
- package/dist/entities/tagging.js +16 -0
- package/dist/entities/tagging.js.map +1 -0
- package/dist/entities/topic.d.ts +14 -0
- package/dist/entities/topic.d.ts.map +1 -0
- package/dist/entities/topic.js +15 -0
- package/dist/entities/topic.js.map +1 -0
- package/dist/images/picture/embedder.d.ts +15 -0
- package/dist/images/picture/embedder.d.ts.map +1 -0
- package/dist/images/picture/embedder.js +48 -0
- package/dist/images/picture/embedder.js.map +1 -0
- package/dist/images/picture/models.d.ts +27 -0
- package/dist/images/picture/models.d.ts.map +1 -0
- package/dist/images/picture/models.js +55 -0
- package/dist/images/picture/models.js.map +1 -0
- package/dist/images/picture/preprocess.d.ts +28 -0
- package/dist/images/picture/preprocess.d.ts.map +1 -0
- package/dist/images/picture/preprocess.js +48 -0
- package/dist/images/picture/preprocess.js.map +1 -0
- package/dist/mcp/agent-log.d.ts +7 -0
- package/dist/mcp/agent-log.d.ts.map +1 -1
- package/dist/mcp/agent-log.js +32 -0
- package/dist/mcp/agent-log.js.map +1 -1
- package/dist/mcp/instructions.d.ts.map +1 -1
- package/dist/mcp/instructions.js +3 -2
- package/dist/mcp/instructions.js.map +1 -1
- package/dist/mcp/prompts.js +3 -3
- package/dist/mcp/prompts.js.map +1 -1
- package/dist/mcp/tool.d.ts +1 -1
- package/dist/mcp/tool.d.ts.map +1 -1
- package/dist/mcp/tool.js +23 -11
- package/dist/mcp/tool.js.map +1 -1
- package/dist/mcp/tools/admin.d.ts.map +1 -1
- package/dist/mcp/tools/admin.js +41 -39
- package/dist/mcp/tools/admin.js.map +1 -1
- package/dist/mcp/tools/chats-read.d.ts.map +1 -1
- package/dist/mcp/tools/chats-read.js +4 -2
- package/dist/mcp/tools/chats-read.js.map +1 -1
- package/dist/mcp/tools/chats.d.ts.map +1 -1
- package/dist/mcp/tools/chats.js +77 -84
- package/dist/mcp/tools/chats.js.map +1 -1
- package/dist/mcp/tools/contacts-write.d.ts.map +1 -1
- package/dist/mcp/tools/contacts-write.js +4 -2
- package/dist/mcp/tools/contacts-write.js.map +1 -1
- package/dist/mcp/tools/contacts.d.ts.map +1 -1
- package/dist/mcp/tools/contacts.js +55 -30
- package/dist/mcp/tools/contacts.js.map +1 -1
- package/dist/mcp/tools/conversations.d.ts.map +1 -1
- package/dist/mcp/tools/conversations.js +12 -15
- package/dist/mcp/tools/conversations.js.map +1 -1
- package/dist/mcp/tools/folders.d.ts.map +1 -1
- package/dist/mcp/tools/folders.js +12 -11
- package/dist/mcp/tools/folders.js.map +1 -1
- package/dist/mcp/tools/messages.d.ts.map +1 -1
- package/dist/mcp/tools/messages.js +74 -59
- package/dist/mcp/tools/messages.js.map +1 -1
- package/dist/mcp/tools/moderation.d.ts.map +1 -1
- package/dist/mcp/tools/moderation.js +5 -3
- package/dist/mcp/tools/moderation.js.map +1 -1
- package/dist/mcp/tools/polls.d.ts.map +1 -1
- package/dist/mcp/tools/polls.js +31 -14
- package/dist/mcp/tools/polls.js.map +1 -1
- package/dist/mcp/tools/reactions.d.ts.map +1 -1
- package/dist/mcp/tools/reactions.js +4 -2
- package/dist/mcp/tools/reactions.js.map +1 -1
- package/dist/mcp/tools/search.d.ts +2 -0
- package/dist/mcp/tools/search.d.ts.map +1 -1
- package/dist/mcp/tools/tags.d.ts.map +1 -1
- package/dist/mcp/tools/tags.js +16 -11
- package/dist/mcp/tools/tags.js.map +1 -1
- package/dist/mcp/tools/tasks.d.ts.map +1 -1
- package/dist/mcp/tools/tasks.js +15 -20
- package/dist/mcp/tools/tasks.js.map +1 -1
- package/dist/mcp/tools/topics.d.ts.map +1 -1
- package/dist/mcp/tools/topics.js +30 -20
- package/dist/mcp/tools/topics.js.map +1 -1
- package/dist/meetings/cli/passage.d.ts.map +1 -1
- package/dist/meetings/cli/passage.js +6 -2
- package/dist/meetings/cli/passage.js.map +1 -1
- package/dist/sends/guard.js +3 -1
- package/dist/sends/guard.js.map +1 -1
- package/dist/sends/journal.d.ts.map +1 -1
- package/dist/sends/journal.js +11 -8
- package/dist/sends/journal.js.map +1 -1
- package/dist/sends/permissions.d.ts +1 -1
- package/dist/sends/permissions.d.ts.map +1 -1
- package/dist/sends/permissions.js +6 -1
- package/dist/sends/permissions.js.map +1 -1
- package/dist/services/admin.js +2 -2
- package/dist/services/admin.js.map +1 -1
- package/dist/services/backfill-jobs.d.ts +11 -1
- package/dist/services/backfill-jobs.d.ts.map +1 -1
- package/dist/services/backfill-jobs.js +36 -4
- package/dist/services/backfill-jobs.js.map +1 -1
- package/dist/services/chats.d.ts +6 -20
- package/dist/services/chats.d.ts.map +1 -1
- package/dist/services/chats.js +6 -43
- package/dist/services/chats.js.map +1 -1
- package/dist/services/conversations.d.ts +18 -4
- package/dist/services/conversations.d.ts.map +1 -1
- package/dist/services/conversations.js +29 -2
- package/dist/services/conversations.js.map +1 -1
- package/dist/services/deps.d.ts +5 -0
- package/dist/services/deps.d.ts.map +1 -1
- package/dist/services/deps.js.map +1 -1
- package/dist/services/document-pictures.d.ts +26 -0
- package/dist/services/document-pictures.d.ts.map +1 -0
- package/dist/services/document-pictures.js +37 -0
- package/dist/services/document-pictures.js.map +1 -0
- package/dist/services/index.d.ts +8 -3
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +8 -2
- package/dist/services/index.js.map +1 -1
- package/dist/services/meeting-hit-context.d.ts.map +1 -1
- package/dist/services/meeting-hit-context.js +5 -2
- package/dist/services/meeting-hit-context.js.map +1 -1
- package/dist/services/mentions.d.ts +30 -0
- package/dist/services/mentions.d.ts.map +1 -0
- package/dist/services/mentions.js +38 -0
- package/dist/services/mentions.js.map +1 -0
- package/dist/services/messages.d.ts +10 -0
- package/dist/services/messages.d.ts.map +1 -1
- package/dist/services/messages.js +1 -0
- package/dist/services/messages.js.map +1 -1
- package/dist/services/notes-search.d.ts +14 -1
- package/dist/services/notes-search.d.ts.map +1 -1
- package/dist/services/notes-search.js +46 -1
- package/dist/services/notes-search.js.map +1 -1
- package/dist/services/people.d.ts +1 -1
- package/dist/services/people.d.ts.map +1 -1
- package/dist/services/people.js +0 -18
- package/dist/services/people.js.map +1 -1
- package/dist/services/pictures.d.ts +56 -0
- package/dist/services/pictures.d.ts.map +1 -0
- package/dist/services/pictures.js +226 -0
- package/dist/services/pictures.js.map +1 -0
- package/dist/services/tags.d.ts +17 -6
- package/dist/services/tags.d.ts.map +1 -1
- package/dist/services/tags.js +42 -5
- package/dist/services/tags.js.map +1 -1
- package/dist/services/tasks.d.ts +28 -9
- package/dist/services/tasks.d.ts.map +1 -1
- package/dist/services/tasks.js +69 -11
- package/dist/services/tasks.js.map +1 -1
- package/dist/speech/hearing.d.ts +3 -0
- package/dist/speech/hearing.d.ts.map +1 -1
- package/dist/speech/hearing.js +16 -0
- package/dist/speech/hearing.js.map +1 -1
- package/dist/speech/install.d.ts +1 -1
- package/dist/speech/install.d.ts.map +1 -1
- package/dist/speech/install.js.map +1 -1
- package/dist/sqlite-runtime.d.ts +1 -1
- package/dist/sqlite-runtime.js +2 -2
- package/dist/sqlite-runtime.js.map +1 -1
- package/dist/store/account-store.d.ts +1 -1
- package/dist/store/account-store.d.ts.map +1 -1
- package/dist/store/account-store.js +5 -0
- package/dist/store/account-store.js.map +1 -1
- package/dist/store/drivers/bun-sqlite.js +1 -1
- package/dist/store/drivers/bun-sqlite.js.map +1 -1
- package/dist/store/index.d.ts +1 -1
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js.map +1 -1
- package/dist/store/sqlite/conversations.d.ts +36 -4
- package/dist/store/sqlite/conversations.d.ts.map +1 -1
- package/dist/store/sqlite/conversations.js +20 -3
- package/dist/store/sqlite/conversations.js.map +1 -1
- package/dist/store/sqlite/document-pictures.d.ts +29 -0
- package/dist/store/sqlite/document-pictures.d.ts.map +1 -0
- package/dist/store/sqlite/document-pictures.js +81 -0
- package/dist/store/sqlite/document-pictures.js.map +1 -0
- package/dist/store/sqlite/emails.d.ts +10 -0
- package/dist/store/sqlite/emails.d.ts.map +1 -1
- package/dist/store/sqlite/emails.js +14 -0
- package/dist/store/sqlite/emails.js.map +1 -1
- package/dist/store/sqlite/entity-types.d.ts +1 -0
- package/dist/store/sqlite/entity-types.d.ts.map +1 -1
- package/dist/store/sqlite/entity-types.js +1 -0
- package/dist/store/sqlite/entity-types.js.map +1 -1
- package/dist/store/sqlite/image-chunks.d.ts +33 -2
- package/dist/store/sqlite/image-chunks.d.ts.map +1 -1
- package/dist/store/sqlite/image-chunks.js +45 -6
- package/dist/store/sqlite/image-chunks.js.map +1 -1
- package/dist/store/sqlite/manifest.d.ts.map +1 -1
- package/dist/store/sqlite/manifest.js +2 -0
- package/dist/store/sqlite/manifest.js.map +1 -1
- package/dist/store/sqlite/mentions.d.ts +61 -0
- package/dist/store/sqlite/mentions.d.ts.map +1 -0
- package/dist/store/sqlite/mentions.js +186 -0
- package/dist/store/sqlite/mentions.js.map +1 -0
- package/dist/store/sqlite/migrations.generated.d.ts.map +1 -1
- package/dist/store/sqlite/migrations.generated.js +19 -0
- package/dist/store/sqlite/migrations.generated.js.map +1 -1
- package/dist/store/sqlite/note-index.d.ts.map +1 -1
- package/dist/store/sqlite/note-index.js +3 -0
- package/dist/store/sqlite/note-index.js.map +1 -1
- package/dist/store/sqlite/note-search.d.ts +2 -1
- package/dist/store/sqlite/note-search.d.ts.map +1 -1
- package/dist/store/sqlite/note-search.js +4 -1
- package/dist/store/sqlite/note-search.js.map +1 -1
- package/dist/store/sqlite/notes.js +1 -1
- package/dist/store/sqlite/notes.js.map +1 -1
- package/dist/store/sqlite/schema.d.ts +339 -0
- package/dist/store/sqlite/schema.d.ts.map +1 -1
- package/dist/store/sqlite/schema.js +35 -0
- package/dist/store/sqlite/schema.js.map +1 -1
- package/dist/store/sqlite/tags.d.ts +7 -0
- package/dist/store/sqlite/tags.d.ts.map +1 -1
- package/dist/store/sqlite/tags.js +16 -9
- package/dist/store/sqlite/tags.js.map +1 -1
- package/dist/store/sqlite/tasks.d.ts +11 -1
- package/dist/store/sqlite/tasks.d.ts.map +1 -1
- package/dist/store/sqlite/tasks.js +11 -0
- package/dist/store/sqlite/tasks.js.map +1 -1
- package/dist/store/store.d.ts +57 -3
- package/dist/store/store.d.ts.map +1 -1
- package/dist/store/store.js +57 -7
- package/dist/store/store.js.map +1 -1
- package/package.json +6 -5
- package/parity.json +65 -104
- package/skills/follow-ups/SKILL.md +1 -1
- package/dist/cli/messenger/after.d.ts +0 -20
- package/dist/cli/messenger/after.d.ts.map +0 -1
- package/dist/cli/messenger/after.js +0 -27
- package/dist/cli/messenger/after.js.map +0 -1
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import type { Services } from "../../services/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* The chat lists as the CLI and MCP both answer them: the query read against the list's fields, the source
|
|
4
|
+
* asked only what it answers, the rows as entities. `query` is the words typed after the arguments.
|
|
5
|
+
*/
|
|
6
|
+
export interface Paging {
|
|
7
|
+
limit: number;
|
|
8
|
+
page: number;
|
|
9
|
+
all?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare const chatsList: (services: Services, query: string | readonly string[] | undefined, paging: Paging) => Promise<import("../envelope.js").ListBody<{
|
|
12
|
+
ref: string;
|
|
13
|
+
id: string;
|
|
14
|
+
provider?: string | undefined;
|
|
15
|
+
account?: string | undefined;
|
|
16
|
+
title: string | null;
|
|
17
|
+
kind: "channel" | "dialog" | "group" | "saved" | "unknown";
|
|
18
|
+
unread_count: number | null;
|
|
19
|
+
unread_mentions?: number | undefined;
|
|
20
|
+
last_message_at: string | null;
|
|
21
|
+
participants_count: number | null;
|
|
22
|
+
muted?: boolean | undefined;
|
|
23
|
+
archived?: boolean | undefined;
|
|
24
|
+
membership_state?: "archived" | "external" | "imported" | "joined" | "left" | "public" | undefined;
|
|
25
|
+
parent_chat_id?: string | undefined;
|
|
26
|
+
scope?: "personal" | "work" | undefined;
|
|
27
|
+
provider_metadata?: {
|
|
28
|
+
[x: string]: unknown;
|
|
29
|
+
} | undefined;
|
|
30
|
+
description?: string | null | undefined;
|
|
31
|
+
invite_link?: string | null | undefined;
|
|
32
|
+
settings?: {
|
|
33
|
+
all_can_pin?: boolean | null | undefined;
|
|
34
|
+
only_admins_add?: boolean | null | undefined;
|
|
35
|
+
only_admins_call?: boolean | null | undefined;
|
|
36
|
+
only_owner_edits_info?: boolean | null | undefined;
|
|
37
|
+
members_see_link?: boolean | null | undefined;
|
|
38
|
+
join_approval?: boolean | null | undefined;
|
|
39
|
+
} | undefined;
|
|
40
|
+
members?: {
|
|
41
|
+
id: string;
|
|
42
|
+
name: string | null;
|
|
43
|
+
username: string | null;
|
|
44
|
+
role?: "admin" | "member" | "owner" | undefined;
|
|
45
|
+
last_seen_at?: string | null | undefined;
|
|
46
|
+
registered_at?: string | null | undefined;
|
|
47
|
+
joined_at?: string | null | undefined;
|
|
48
|
+
invited_by?: string | null | undefined;
|
|
49
|
+
is_bot?: boolean | undefined;
|
|
50
|
+
deleted?: boolean | undefined;
|
|
51
|
+
flagged?: "fake" | "scam" | undefined;
|
|
52
|
+
has_photo?: boolean | undefined;
|
|
53
|
+
score?: number | undefined;
|
|
54
|
+
reasons?: string[] | undefined;
|
|
55
|
+
check?: {
|
|
56
|
+
[x: string]: unknown;
|
|
57
|
+
} | undefined;
|
|
58
|
+
}[] | null | undefined;
|
|
59
|
+
}>>;
|
|
60
|
+
export declare const chatEvents: (services: Services, chat: string, query: string | readonly string[] | undefined) => Promise<import("../envelope.js").ListBody<{
|
|
61
|
+
chat_id: string;
|
|
62
|
+
time: string;
|
|
63
|
+
type: string;
|
|
64
|
+
message_id?: string | undefined;
|
|
65
|
+
by?: {
|
|
66
|
+
id: string | null;
|
|
67
|
+
name: string | null;
|
|
68
|
+
username?: string | null | undefined;
|
|
69
|
+
} | undefined;
|
|
70
|
+
people: {
|
|
71
|
+
id: string | null;
|
|
72
|
+
name: string | null;
|
|
73
|
+
username?: string | null | undefined;
|
|
74
|
+
}[];
|
|
75
|
+
title?: string | undefined;
|
|
76
|
+
before?: {
|
|
77
|
+
name: string | null;
|
|
78
|
+
username: string | null;
|
|
79
|
+
} | undefined;
|
|
80
|
+
}>>;
|
|
81
|
+
export declare const membersList: (services: Services, chat: string, paging: Paging) => Promise<import("../envelope.js").ListBody<{
|
|
82
|
+
id: string;
|
|
83
|
+
name: string | null;
|
|
84
|
+
username: string | null;
|
|
85
|
+
role?: "admin" | "member" | "owner" | undefined;
|
|
86
|
+
last_seen_at?: string | null | undefined;
|
|
87
|
+
registered_at?: string | null | undefined;
|
|
88
|
+
joined_at?: string | null | undefined;
|
|
89
|
+
invited_by?: string | null | undefined;
|
|
90
|
+
is_bot?: boolean | undefined;
|
|
91
|
+
deleted?: boolean | undefined;
|
|
92
|
+
flagged?: "fake" | "scam" | undefined;
|
|
93
|
+
has_photo?: boolean | undefined;
|
|
94
|
+
score?: number | undefined;
|
|
95
|
+
reasons?: string[] | undefined;
|
|
96
|
+
check?: {
|
|
97
|
+
[x: string]: unknown;
|
|
98
|
+
} | undefined;
|
|
99
|
+
}>>;
|
|
100
|
+
export declare const membersHistory: (services: Services, chat: string, query: string | readonly string[] | undefined) => Promise<import("../envelope.js").ListBody<{
|
|
101
|
+
chat_id: string;
|
|
102
|
+
time: string;
|
|
103
|
+
type: string;
|
|
104
|
+
message_id?: string | undefined;
|
|
105
|
+
by?: {
|
|
106
|
+
id: string | null;
|
|
107
|
+
name: string | null;
|
|
108
|
+
username?: string | null | undefined;
|
|
109
|
+
} | undefined;
|
|
110
|
+
people: {
|
|
111
|
+
id: string | null;
|
|
112
|
+
name: string | null;
|
|
113
|
+
username?: string | null | undefined;
|
|
114
|
+
}[];
|
|
115
|
+
title?: string | undefined;
|
|
116
|
+
before?: {
|
|
117
|
+
name: string | null;
|
|
118
|
+
username: string | null;
|
|
119
|
+
} | undefined;
|
|
120
|
+
}>>;
|
|
121
|
+
export declare const membersAudit: (services: Services, chat: string, query: string | readonly string[] | undefined, options: Omit<Parameters<Services["chats"]["audit"]>[1], "minScore">) => Promise<{
|
|
122
|
+
audit: import("../../services/members-audit.js").MembersAudit;
|
|
123
|
+
body: import("../envelope.js").ListBody<{
|
|
124
|
+
id: string;
|
|
125
|
+
name: string | null;
|
|
126
|
+
username: string | null;
|
|
127
|
+
role?: "admin" | "member" | "owner" | undefined;
|
|
128
|
+
last_seen_at?: string | null | undefined;
|
|
129
|
+
registered_at?: string | null | undefined;
|
|
130
|
+
joined_at?: string | null | undefined;
|
|
131
|
+
invited_by?: string | null | undefined;
|
|
132
|
+
is_bot?: boolean | undefined;
|
|
133
|
+
deleted?: boolean | undefined;
|
|
134
|
+
flagged?: "fake" | "scam" | undefined;
|
|
135
|
+
has_photo?: boolean | undefined;
|
|
136
|
+
score?: number | undefined;
|
|
137
|
+
reasons?: string[] | undefined;
|
|
138
|
+
check?: {
|
|
139
|
+
[x: string]: unknown;
|
|
140
|
+
} | undefined;
|
|
141
|
+
}>;
|
|
142
|
+
}>;
|
|
143
|
+
/** The source takes a count but no offset, so page n reads n pages and shows the last. */
|
|
144
|
+
export declare const inviteLinks: (services: Services, chat: string, query: string | readonly string[] | undefined, { limit, page }: Paging) => Promise<import("../envelope.js").ListBody<{
|
|
145
|
+
link: string;
|
|
146
|
+
approval: boolean;
|
|
147
|
+
expires_at: string | null;
|
|
148
|
+
max_uses: number | null;
|
|
149
|
+
primary?: boolean | undefined;
|
|
150
|
+
revoked?: boolean | undefined;
|
|
151
|
+
pending_count?: number | undefined;
|
|
152
|
+
joined_count?: number | undefined;
|
|
153
|
+
}>>;
|
|
154
|
+
export declare const joinRequests: (services: Services, chat: string, query: string | readonly string[] | undefined, { limit, page }: Paging) => Promise<import("../envelope.js").ListBody<{
|
|
155
|
+
person_id: string;
|
|
156
|
+
name: string | null;
|
|
157
|
+
username: string | null;
|
|
158
|
+
requested_at: string | null;
|
|
159
|
+
about?: string | undefined;
|
|
160
|
+
}>>;
|
|
161
|
+
//# sourceMappingURL=chat-lists.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-lists.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/chat-lists.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAkBvD;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,OAAO,CAAA;CACd;AAOD,eAAO,MAAM,SAAS,aAAoB,QAAQ,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,UAAU,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAShH,CAAA;AAED,eAAO,MAAM,UAAU,aAAoB,QAAQ,QAAQ,MAAM,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;GAS/G,CAAA;AAED,eAAO,MAAM,WAAW,aAAoB,QAAQ,QAAQ,MAAM,UAAU,MAAM;;;;;;;;;;;;;;;;;;GAQjF,CAAA;AAED,eAAO,MAAM,cAAc,aACf,QAAQ,QACZ,MAAM,SACL,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;GAY9C,CAAA;AAED,eAAO,MAAM,YAAY,aACb,QAAQ,QACZ,MAAM,SACL,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,WACpC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;EAKrE,CAAA;AAED,0FAA0F;AAC1F,eAAO,MAAM,WAAW,aACZ,QAAQ,QACZ,MAAM,SACL,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,mBAC5B,MAAM;;;;;;;;;GAYxB,CAAA;AAED,eAAO,MAAM,YAAY,aACb,QAAQ,QACZ,MAAM,SACL,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,mBAC5B,MAAM;;;;;;GAsBxB,CAAA"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { queryError } from "@wirecat/cli-base/query";
|
|
2
|
+
import { listOf } from "../envelope.js";
|
|
3
|
+
import { LIST_QUERY_GUIDE, listQuery, nativeTerms, searchText, timeBounds } from "../list-query.js";
|
|
4
|
+
import { nextStep } from "../steps.js";
|
|
5
|
+
import { auditAnswer, chatAnswer, chatEventAnswer, inviteLinkAnswer, joinRequestAnswer, memberAnswer, memberEventAnswer, pageOf, scoreFloor, wholeList, } from "./chat-answers.js";
|
|
6
|
+
import { AUDIT_QUERY, CHATS_QUERY, EVENTS_QUERY, HISTORY_QUERY, LINKS_QUERY, REQUESTS_QUERY } from "./chat-queries.js";
|
|
7
|
+
const textOf = (query) => typeof query === "string" ? query : (query ?? []).join(" ");
|
|
8
|
+
const typed = (query) => textOf(query).trim() || undefined;
|
|
9
|
+
export const chatsList = async (services, query, paging) => {
|
|
10
|
+
listQuery(textOf(query), CHATS_QUERY, "chats list");
|
|
11
|
+
const { limit, page, all } = paging;
|
|
12
|
+
const found = await services.chats.list(all ? { offset: 0 } : { limit, offset: (page - 1) * limit });
|
|
13
|
+
const account = await services.chats.account();
|
|
14
|
+
return listOf("chats list", {
|
|
15
|
+
items: found.items.map((one) => chatAnswer(account, one)),
|
|
16
|
+
...pageOf(paging, found),
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
export const chatEvents = async (services, chat, query) => {
|
|
20
|
+
const terms = nativeTerms(listQuery(textOf(query), EVENTS_QUERY, "chats events"), "chats events");
|
|
21
|
+
const { since } = timeBounds(terms.get("time"));
|
|
22
|
+
const found = await services.chats.events(chat, since === undefined ? {} : { since });
|
|
23
|
+
return wholeList("chats events", found.events.map((one) => chatEventAnswer(found.chatId, one)), found.more ? { meta: { truncated: true } } : {});
|
|
24
|
+
};
|
|
25
|
+
export const membersList = async (services, chat, paging) => {
|
|
26
|
+
const { limit, page, all } = paging;
|
|
27
|
+
const found = await services.chats.members(chat, all ? { offset: 0 } : { limit, offset: (page - 1) * limit });
|
|
28
|
+
return listOf("chats members list", {
|
|
29
|
+
items: found.items.map(memberAnswer),
|
|
30
|
+
...pageOf(paging, found),
|
|
31
|
+
args: { chat },
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
export const membersHistory = async (services, chat, query) => {
|
|
35
|
+
const terms = nativeTerms(listQuery(textOf(query), HISTORY_QUERY, "chats members history"), "chats members history");
|
|
36
|
+
const { since } = timeBounds(terms.get("time"));
|
|
37
|
+
const found = await services.chats.memberHistory(chat, since === undefined ? {} : { since });
|
|
38
|
+
return wholeList("chats members history", found.events.map((one) => memberEventAnswer(found.chatId, one)), found.events.length === 0
|
|
39
|
+
? { next: [nextStep("chats.members-fetch", { args: { chat: found.chatId, track: true } })] }
|
|
40
|
+
: {});
|
|
41
|
+
};
|
|
42
|
+
export const membersAudit = async (services, chat, query, options) => {
|
|
43
|
+
const minScore = scoreFloor(listQuery(textOf(query), AUDIT_QUERY, "chats members audit"));
|
|
44
|
+
const audit = await services.chats.audit(chat, { ...options, minScore });
|
|
45
|
+
return { audit, body: auditAnswer(audit) };
|
|
46
|
+
};
|
|
47
|
+
/** The source takes a count but no offset, so page n reads n pages and shows the last. */
|
|
48
|
+
export const inviteLinks = async (services, chat, query, { limit, page }) => {
|
|
49
|
+
const terms = nativeTerms(listQuery(textOf(query), LINKS_QUERY, "chats link list"), "chats link list");
|
|
50
|
+
const revoked = terms.get("revoked")?.value.toLowerCase() === "true";
|
|
51
|
+
const found = await services.admin.links(chat, { limit: limit * page, revoked });
|
|
52
|
+
return listOf("chats link list", {
|
|
53
|
+
items: found.items.slice((page - 1) * limit).map(inviteLinkAnswer),
|
|
54
|
+
limit,
|
|
55
|
+
has_more: found.hasMore,
|
|
56
|
+
page,
|
|
57
|
+
args: { chat, query: typed(query) },
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
export const joinRequests = async (services, chat, query, { limit, page }) => {
|
|
61
|
+
const terms = nativeTerms(listQuery(textOf(query), REQUESTS_QUERY, "chats requests list"), "chats requests list");
|
|
62
|
+
if (terms.has("name") && terms.has("username"))
|
|
63
|
+
queryError("query.unsupported-placement", terms.get("username").span, "name or username, not both", {
|
|
64
|
+
command: "chats requests list",
|
|
65
|
+
guide: LIST_QUERY_GUIDE,
|
|
66
|
+
});
|
|
67
|
+
const search = searchText(terms.get("name") ?? terms.get("username"));
|
|
68
|
+
const link = terms.get("link")?.value;
|
|
69
|
+
const found = await services.admin.requests(chat, {
|
|
70
|
+
limit: limit * page,
|
|
71
|
+
...(search === undefined ? {} : { search }),
|
|
72
|
+
...(link === undefined ? {} : { link }),
|
|
73
|
+
});
|
|
74
|
+
return listOf("chats requests list", {
|
|
75
|
+
items: found.items.slice((page - 1) * limit).map(joinRequestAnswer),
|
|
76
|
+
limit,
|
|
77
|
+
has_more: found.hasMore,
|
|
78
|
+
page,
|
|
79
|
+
args: { chat, query: typed(query) },
|
|
80
|
+
});
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=chat-lists.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-lists.js","sourceRoot":"","sources":["../../../src/cli/messenger/chat-lists.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { QueryRegistry } from "@wirecat/cli-base/query";
|
|
2
|
+
/** Neither the messenger nor the store filters the chat list, so every field is refused for now. */
|
|
3
|
+
export declare const CHATS_QUERY: QueryRegistry;
|
|
4
|
+
/** The messenger reads a chat's events back to a time; it cannot pick them by type. */
|
|
5
|
+
export declare const EVENTS_QUERY: QueryRegistry;
|
|
6
|
+
/** The store's member history is read back to a time. */
|
|
7
|
+
export declare const HISTORY_QUERY: QueryRegistry;
|
|
8
|
+
/** The audit scores every member it reads; the query sets the lowest score it shows. */
|
|
9
|
+
export declare const AUDIT_QUERY: QueryRegistry;
|
|
10
|
+
/** The messenger lists either the live links or the revoked ones. */
|
|
11
|
+
export declare const LINKS_QUERY: QueryRegistry;
|
|
12
|
+
/** The messenger searches requests by name or @username, or keeps one link's; never both at once. */
|
|
13
|
+
export declare const REQUESTS_QUERY: QueryRegistry;
|
|
14
|
+
//# sourceMappingURL=chat-queries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-queries.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/chat-queries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAK5D,oGAAoG;AACpG,eAAO,MAAM,WAAW,EAAE,aAIzB,CAAA;AAED,uFAAuF;AACvF,eAAO,MAAM,YAAY,EAAE,aAI1B,CAAA;AAED,yDAAyD;AACzD,eAAO,MAAM,aAAa,EAAE,aAI3B,CAAA;AAED,wFAAwF;AACxF,eAAO,MAAM,WAAW,EAAE,aAKzB,CAAA;AAED,qEAAqE;AACrE,eAAO,MAAM,WAAW,EAAE,aAIzB,CAAA;AAED,qGAAqG;AACrG,eAAO,MAAM,cAAc,EAAE,aAW5B,CAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { queryFieldsOf } from "@wirecat/cli-base/query";
|
|
2
|
+
import { chat, chatEvent, inviteLink, joinRequest, member } from "../../entities/index.js";
|
|
3
|
+
import { AUDIT_MIN_SCORE } from "../../services/members-audit.js";
|
|
4
|
+
/** Neither the messenger nor the store filters the chat list, so every field is refused for now. */
|
|
5
|
+
export const CHATS_QUERY = {
|
|
6
|
+
entity: "chat",
|
|
7
|
+
backend: "native",
|
|
8
|
+
fields: queryFieldsOf(chat, { exclude: ["provider_metadata"] }),
|
|
9
|
+
};
|
|
10
|
+
/** The messenger reads a chat's events back to a time; it cannot pick them by type. */
|
|
11
|
+
export const EVENTS_QUERY = {
|
|
12
|
+
entity: "chat_event",
|
|
13
|
+
backend: "native",
|
|
14
|
+
fields: queryFieldsOf(chatEvent, { native: ["time"], examples: { time: "time>=2d" } }),
|
|
15
|
+
};
|
|
16
|
+
/** The store's member history is read back to a time. */
|
|
17
|
+
export const HISTORY_QUERY = {
|
|
18
|
+
entity: "chat_event",
|
|
19
|
+
backend: "native",
|
|
20
|
+
fields: queryFieldsOf(chatEvent, { native: ["time"], examples: { time: "time>=7d" } }),
|
|
21
|
+
};
|
|
22
|
+
/** The audit scores every member it reads; the query sets the lowest score it shows. */
|
|
23
|
+
export const AUDIT_QUERY = {
|
|
24
|
+
entity: "member",
|
|
25
|
+
backend: "native",
|
|
26
|
+
fields: queryFieldsOf(member, { exclude: ["check"], native: ["score"], examples: { score: "score>=3" } }),
|
|
27
|
+
defaults: [`score>=${AUDIT_MIN_SCORE}`],
|
|
28
|
+
};
|
|
29
|
+
/** The messenger lists either the live links or the revoked ones. */
|
|
30
|
+
export const LINKS_QUERY = {
|
|
31
|
+
entity: "invite_link",
|
|
32
|
+
backend: "native",
|
|
33
|
+
fields: queryFieldsOf(inviteLink, { native: ["revoked"] }),
|
|
34
|
+
};
|
|
35
|
+
/** The messenger searches requests by name or @username, or keeps one link's; never both at once. */
|
|
36
|
+
export const REQUESTS_QUERY = {
|
|
37
|
+
entity: "join_request",
|
|
38
|
+
backend: "native",
|
|
39
|
+
fields: queryFieldsOf(joinRequest, {
|
|
40
|
+
native: ["name", "username", "link"],
|
|
41
|
+
text: ["name", "username"],
|
|
42
|
+
relations: {
|
|
43
|
+
link: { type: "kw", example: 'link:"https://example.test/+abc"', relation: "the invite link they asked through" },
|
|
44
|
+
},
|
|
45
|
+
examples: { name: "name:ana", username: "username:ana" },
|
|
46
|
+
}),
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=chat-queries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-queries.js","sourceRoot":"","sources":["../../../src/cli/messenger/chat-queries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEjE,oGAAoG;AACpG,MAAM,CAAC,MAAM,WAAW,GAAkB;IACxC,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC;CAChE,CAAA;AAED,uFAAuF;AACvF,MAAM,CAAC,MAAM,YAAY,GAAkB;IACzC,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC;CACvF,CAAA;AAED,yDAAyD;AACzD,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC;CACvF,CAAA;AAED,wFAAwF;AACxF,MAAM,CAAC,MAAM,WAAW,GAAkB;IACxC,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC;IACzG,QAAQ,EAAE,CAAC,UAAU,eAAe,EAAE,CAAC;CACxC,CAAA;AAED,qEAAqE;AACrE,MAAM,CAAC,MAAM,WAAW,GAAkB;IACxC,MAAM,EAAE,aAAa;IACrB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,aAAa,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;CAC3D,CAAA;AAED,qGAAqG;AACrG,MAAM,CAAC,MAAM,cAAc,GAAkB;IAC3C,MAAM,EAAE,cAAc;IACtB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,aAAa,CAAC,WAAW,EAAE;QACjC,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;QACpC,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;QAC1B,SAAS,EAAE;YACT,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,kCAAkC,EAAE,QAAQ,EAAE,oCAAoC,EAAE;SAClH;QACD,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE;KACzD,CAAC;CACH,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chats-bots-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/chats-bots-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"chats-bots-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/chats-bots-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAInC,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAE/D,4FAA4F;AAC5F,eAAO,MAAM,eAAe,cAAe,SAAS,KAAG,OAAO,EA0C7D,CAAA"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { annotate } from "@wirecat/cli-base/commands";
|
|
2
2
|
import { Command } from "commander";
|
|
3
3
|
import { guardedApp, guardedStart } from "../../sends/buttons.js";
|
|
4
|
+
import { itemOf, renderAnswer } from "../envelope.js";
|
|
5
|
+
import { snakeKeys } from "./chat-answers.js";
|
|
4
6
|
import { messengerContext } from "./context.js";
|
|
5
7
|
/** `chats start` and `chats app` — a bot in a one-to-one chat with the personal account. */
|
|
6
8
|
export const botChatCommands = (messenger) => [
|
|
@@ -11,7 +13,7 @@ export const botChatCommands = (messenger) => [
|
|
|
11
13
|
.action(async function (bot) {
|
|
12
14
|
const context = messengerContext(this, messenger);
|
|
13
15
|
const { payload } = this.opts();
|
|
14
|
-
context
|
|
16
|
+
renderAnswer(this, context, itemOf(snakeKeys(await context.withMessenger((connection) => guardedStart(context.guard, connection, { chat: bot, ...(payload === undefined ? {} : { payload }) })))));
|
|
15
17
|
}),
|
|
16
18
|
annotate(new Command("app"), { mutates: true })
|
|
17
19
|
.description("the address that opens a bot's mini app, signed in as you — keep it to yourself")
|
|
@@ -20,7 +22,10 @@ export const botChatCommands = (messenger) => [
|
|
|
20
22
|
.action(async function (bot) {
|
|
21
23
|
const context = messengerContext(this, messenger);
|
|
22
24
|
const { start } = this.opts();
|
|
23
|
-
context
|
|
25
|
+
renderAnswer(this, context, itemOf(snakeKeys(await context.withMessenger((connection) => guardedApp(context.guard, connection, {
|
|
26
|
+
chat: bot,
|
|
27
|
+
...(start === undefined ? {} : { startParam: start }),
|
|
28
|
+
})))));
|
|
24
29
|
}),
|
|
25
30
|
];
|
|
26
31
|
//# sourceMappingURL=chats-bots-command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chats-bots-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/chats-bots-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAkB,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/D,4FAA4F;AAC5F,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAoB,EAAa,EAAE,CAAC;IAClE,QAAQ,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SAC9C,WAAW,CAAC,yEAAyE,CAAC;SACtF,QAAQ,CAAC,OAAO,EAAE,uFAAuF,CAAC;SAC1G,MAAM,CAAC,kBAAkB,EAAE,wEAAwE,CAAC;SACpG,MAAM,CAAC,KAAK,WAA0B,GAAW;QAChD,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QACjD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,EAAwB,CAAA;QACrD,
|
|
1
|
+
{"version":3,"file":"chats-bots-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/chats-bots-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAkB,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/D,4FAA4F;AAC5F,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAoB,EAAa,EAAE,CAAC;IAClE,QAAQ,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SAC9C,WAAW,CAAC,yEAAyE,CAAC;SACtF,QAAQ,CAAC,OAAO,EAAE,uFAAuF,CAAC;SAC1G,MAAM,CAAC,kBAAkB,EAAE,wEAAwE,CAAC;SACpG,MAAM,CAAC,KAAK,WAA0B,GAAW;QAChD,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QACjD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,EAAwB,CAAA;QACrD,YAAY,CACV,IAAI,EACJ,OAAO,EACP,MAAM,CACJ,SAAS,CACP,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,EAAE,CACzC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CACtG,CACF,CACF,CACF,CAAA;IACH,CAAC,CAAC;IACJ,QAAQ,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SAC5C,WAAW,CAAC,iFAAiF,CAAC;SAC9F,QAAQ,CAAC,OAAO,EAAE,2CAA2C,CAAC;SAC9D,MAAM,CAAC,iBAAiB,EAAE,mCAAmC,CAAC;SAC9D,MAAM,CAAC,KAAK,WAA0B,GAAW;QAChD,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QACjD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,EAAsB,CAAA;QACjD,YAAY,CACV,IAAI,EACJ,OAAO,EACP,MAAM,CACJ,SAAS,CACP,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,EAAE,CACzC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE;YACpC,IAAI,EAAE,GAAG;YACT,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;SACtD,CAAC,CACH,CACF,CACF,CACF,CAAA;IACH,CAAC,CAAC;CACL,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chats-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/chats-command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chats-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/chats-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAgBnC,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAG/D,eAAO,MAAM,YAAY,cAAe,SAAS,KAAG,OAoGnD,CAAA"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
+
import { annotate } from "@wirecat/cli-base/commands";
|
|
1
2
|
import { Command } from "commander";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { EVENTS_DAYS } from "../../services/chats.js";
|
|
4
|
+
import { itemOf, renderAnswer } from "../envelope.js";
|
|
5
|
+
import { withQuery } from "../list-query.js";
|
|
6
|
+
import { withPaging } from "../paging.js";
|
|
5
7
|
import { groupCommands } from "./admin-commands.js";
|
|
6
8
|
import { foldersCommand } from "./admin-folders-command.js";
|
|
7
9
|
import { moderateCommand, rulesCommand } from "./admin-moderation-command.js";
|
|
10
|
+
import { chatShown, lines, snakeKeys, wholeList } from "./chat-answers.js";
|
|
11
|
+
import { chatEvents, chatsList } from "./chat-lists.js";
|
|
12
|
+
import { CHATS_QUERY, EVENTS_QUERY } from "./chat-queries.js";
|
|
8
13
|
import { botChatCommands } from "./chats-bots-command.js";
|
|
9
14
|
import { documentsCommand } from "./chats-documents-command.js";
|
|
10
15
|
import { membersCommand } from "./chats-members-command.js";
|
|
@@ -14,82 +19,42 @@ import { messengerContext } from "./context.js";
|
|
|
14
19
|
import { chatDeletionCommands, mediaCommand, muteCommands } from "./records-command.js";
|
|
15
20
|
export const chatsCommand = (messenger) => {
|
|
16
21
|
const chats = new Command("chats").description("the account's chats");
|
|
17
|
-
chats.addCommand(withPaging(new Command("list").description("chats, newest first, archived ones included"))
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
.option("--unread", "only chats with unread messages")
|
|
21
|
-
.action(async function () {
|
|
22
|
+
chats.addCommand(withQuery(annotate(withPaging(new Command("list").description("chats, newest first, archived ones included")), {
|
|
23
|
+
output: { entity: "chat" },
|
|
24
|
+
}), CHATS_QUERY).action(async function (words) {
|
|
22
25
|
const context = messengerContext(this, messenger);
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
const page = await context.withServices((services) => services.chats.list(filter, wanted));
|
|
26
|
-
if (page.partial) {
|
|
27
|
-
context.renderer.note("the messenger did not list every chat, and did not say how many it left out; one may match too");
|
|
28
|
-
}
|
|
29
|
-
renderPage(context, {
|
|
30
|
-
...page,
|
|
31
|
-
items: context.format === "pretty"
|
|
32
|
-
? page.items.map(({ id, title, kind, unreadCount, lastMessageAt }) => ({
|
|
33
|
-
id,
|
|
34
|
-
title,
|
|
35
|
-
kind,
|
|
36
|
-
unreadCount,
|
|
37
|
-
lastMessageAt,
|
|
38
|
-
}))
|
|
39
|
-
: page.items,
|
|
40
|
-
});
|
|
26
|
+
const body = await context.withServices((services) => chatsList(services, words, context.settings));
|
|
27
|
+
renderAnswer(this, context, body, lines(({ id, title, kind, unread_count, last_message_at }) => [id, kind, title ?? "", unread_count ? `${unread_count} unread` : "", last_message_at ?? ""].join(" ")));
|
|
41
28
|
}));
|
|
42
|
-
chats
|
|
43
|
-
.
|
|
44
|
-
|
|
45
|
-
.argument("<chat>", messenger.chatArgument)
|
|
46
|
-
.option("--since-time <time>", `ISO 8601, or 2h / 1d ago; ${EVENTS_DAYS} days ago if not given`)
|
|
47
|
-
.option("--type <names>", "only these, comma-separated: join, leave, add, remove, create, title, pin")
|
|
48
|
-
.action(async function (chat) {
|
|
29
|
+
chats.addCommand(withQuery(annotate(new Command("events")
|
|
30
|
+
.description("who joined, left, was added or removed, and by whom — from the chat's service messages; " +
|
|
31
|
+
`the last ${EVENTS_DAYS} days unless the query names time`)
|
|
32
|
+
.argument("<chat>", messenger.chatArgument), { output: { entity: "chat_event" } }), EVENTS_QUERY).action(async function (chat, words) {
|
|
49
33
|
const context = messengerContext(this, messenger);
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
if (context.format === "jsonl")
|
|
56
|
-
context.renderer.stream(found.events);
|
|
57
|
-
else if (context.format !== "pretty") {
|
|
58
|
-
const { events, more, ...rest } = found;
|
|
59
|
-
context.renderer.result({ ...listed(events), hasMore: more, ...rest });
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
context.renderer.stream(found.events.map((one) => ({
|
|
63
|
-
time: one.timestamp,
|
|
64
|
-
event: one.event,
|
|
65
|
-
by: one.by.name ?? one.by.id,
|
|
66
|
-
people: one.people.map((person) => person.name ?? person.id).join(", "),
|
|
67
|
-
})));
|
|
68
|
-
}
|
|
69
|
-
if (found.more)
|
|
70
|
-
context.renderer.note("more history than one run reads — adjust --since-time to read more");
|
|
71
|
-
});
|
|
34
|
+
const body = await context.withServices((services) => chatEvents(services, chat, words));
|
|
35
|
+
renderAnswer(this, context, body, lines(({ time, type, by, people }) => [time, type, by?.name ?? by?.id ?? "", people.map((one) => one.name ?? one.id).join(", ")].join(" ")));
|
|
36
|
+
if (body.meta?.truncated)
|
|
37
|
+
context.renderer.note("more history than one run reads; a later time bound reads less");
|
|
38
|
+
}));
|
|
72
39
|
chats
|
|
73
40
|
.command("inspect")
|
|
74
41
|
.description("what an invite or public link leads to, without joining it")
|
|
75
42
|
.argument("<link>", "an invite link or a public one")
|
|
76
43
|
.action(async function (link) {
|
|
77
44
|
const context = messengerContext(this, messenger);
|
|
78
|
-
|
|
45
|
+
const found = await context.withServices((services) => services.chats.inspect(link));
|
|
46
|
+
renderAnswer(this, context, itemOf(snakeKeys(found)));
|
|
79
47
|
});
|
|
80
|
-
chats
|
|
81
|
-
.command("show")
|
|
48
|
+
chats.addCommand(annotate(new Command("show")
|
|
82
49
|
.description("one chat: its kind, unread count, last message time and who is in it")
|
|
83
|
-
.argument("<chat>", messenger.chatArgument)
|
|
84
|
-
.action(async function (chat) {
|
|
50
|
+
.argument("<chat>", messenger.chatArgument), { output: { entity: "chat" } }).action(async function (chat) {
|
|
85
51
|
const context = messengerContext(this, messenger);
|
|
86
|
-
const card = await context.withServices((services) =>
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
});
|
|
52
|
+
const { card, account } = await context.withServices(async (services) => ({
|
|
53
|
+
card: await services.chats.show(chat),
|
|
54
|
+
account: await services.chats.account(),
|
|
55
|
+
}));
|
|
56
|
+
renderAnswer(this, context, chatShown(account, card));
|
|
57
|
+
}));
|
|
93
58
|
chats
|
|
94
59
|
.command("send-as")
|
|
95
60
|
.description("who this account may post as in a chat; changes no saved choice")
|
|
@@ -97,10 +62,7 @@ export const chatsCommand = (messenger) => {
|
|
|
97
62
|
.action(async function (chat) {
|
|
98
63
|
const context = messengerContext(this, messenger);
|
|
99
64
|
const identities = await context.withServices((services) => services.chats.sendAs(chat));
|
|
100
|
-
|
|
101
|
-
context.renderer.result(listed(identities));
|
|
102
|
-
else
|
|
103
|
-
context.renderer.stream(identities);
|
|
65
|
+
renderAnswer(this, context, wholeList("chats send-as", identities.map(snakeKeys)));
|
|
104
66
|
});
|
|
105
67
|
chats.addCommand(documentsCommand(messenger));
|
|
106
68
|
chats.addCommand(membersCommand(messenger));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chats-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/chats-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"chats-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/chats-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chats-documents-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/chats-documents-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"chats-documents-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/chats-documents-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKnC,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAE/D,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,cAAe,SAAS,KAAG,OA+BvD,CAAA"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
-
import {
|
|
2
|
+
import { listOf, renderAnswer } from "../envelope.js";
|
|
3
|
+
import { positiveCount, window } from "../paging.js";
|
|
4
|
+
import { nextStep } from "../steps.js";
|
|
5
|
+
import { documentLinkAnswer, lines, pageOf } from "./chat-answers.js";
|
|
3
6
|
import { messengerContext } from "./context.js";
|
|
4
|
-
const line = ({ sentAt, sender, title, url, inStore }) => `${sentAt} ${sender.name ?? sender.id ?? "?"} ${title ?? url} ${inStore ? "in store" : "not in store"}`;
|
|
5
7
|
/** `chats documents …`: the Google documents linked in a chat's stored messages. */
|
|
6
8
|
export const documentsCommand = (messenger) => {
|
|
7
9
|
const documents = new Command("documents").description("the Google Docs and Drive documents linked in a chat's stored messages");
|
|
@@ -13,9 +15,12 @@ export const documentsCommand = (messenger) => {
|
|
|
13
15
|
.action(async function (chat) {
|
|
14
16
|
const context = messengerContext(this, messenger);
|
|
15
17
|
const found = await context.withServices((services) => services.chatDocuments.list(chat, window(context.settings)));
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
renderAnswer(this, context, listOf("chats documents list", {
|
|
19
|
+
items: found.items.map(documentLinkAnswer),
|
|
20
|
+
...pageOf(context.settings, found),
|
|
21
|
+
args: { chat },
|
|
22
|
+
...(found.empty ? { next: [nextStep("messages.sync", { args: { chat: found.chatId } })] } : {}),
|
|
23
|
+
}), lines(({ sent_at, sender, title, url, in_store }) => [sent_at, sender.name ?? sender.id ?? "?", title ?? url, in_store ? "in store" : "not in store"].join(" ")));
|
|
19
24
|
}));
|
|
20
25
|
return documents;
|
|
21
26
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chats-documents-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/chats-documents-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"chats-documents-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/chats-documents-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACrE,OAAO,EAAkB,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/D,oFAAoF;AACpF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAoB,EAAW,EAAE;IAChE,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,CACpD,wEAAwE,CACzE,CAAA;IACD,SAAS,CAAC,UAAU,CAClB,IAAI,OAAO,CAAC,MAAM,CAAC;SAChB,WAAW,CAAC,6EAA6E,CAAC;SAC1F,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC;SAC1C,MAAM,CAAC,aAAa,EAAE,kBAAkB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;SACnE,MAAM,CAAC,YAAY,EAAE,2BAA2B,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;SAC1E,MAAM,CAAC,KAAK,WAA0B,IAAY;QACjD,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,EAAE,CACpD,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAC5D,CAAA;QACD,YAAY,CACV,IAAI,EACJ,OAAO,EACP,MAAM,CAAC,sBAAsB,EAAE;YAC7B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC;YAC1C,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC;YAClC,IAAI,EAAE,EAAE,IAAI,EAAE;YACd,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChG,CAAC,EACF,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAClD,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC5G,CACF,CAAA;IACH,CAAC,CAAC,CACL,CAAA;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chats-members-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/chats-members-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"chats-members-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/chats-members-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAUnC,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAE/D,gFAAgF;AAChF,eAAO,MAAM,cAAc,cAAe,SAAS,KAAG,OAkMrD,CAAA"}
|