@wirecat/cli-core 0.265.0 → 0.267.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/dist/cli/command-contract.d.ts.map +1 -1
- package/dist/cli/command-contract.js +0 -126
- package/dist/cli/command-contract.js.map +1 -1
- package/dist/cli/envelope.d.ts +5 -0
- package/dist/cli/envelope.d.ts.map +1 -1
- package/dist/cli/envelope.js +12 -0
- package/dist/cli/envelope.js.map +1 -1
- package/dist/cli/list-query.d.ts +9 -3
- package/dist/cli/list-query.d.ts.map +1 -1
- package/dist/cli/list-query.js +6 -2
- package/dist/cli/list-query.js.map +1 -1
- package/dist/cli/messenger/admin-contacts-command.d.ts.map +1 -1
- package/dist/cli/messenger/admin-contacts-command.js +1 -2
- package/dist/cli/messenger/admin-contacts-command.js.map +1 -1
- package/dist/cli/messenger/admin-moderation-command.js +2 -2
- package/dist/cli/messenger/admin-moderation-command.js.map +1 -1
- package/dist/cli/messenger/admin-statistics-command.d.ts.map +1 -1
- package/dist/cli/messenger/admin-statistics-command.js +5 -5
- package/dist/cli/messenger/admin-statistics-command.js.map +1 -1
- package/dist/cli/messenger/archive-summary.d.ts +1 -1
- package/dist/cli/messenger/archive-summary.d.ts.map +1 -1
- package/dist/cli/messenger/archive-summary.js +2 -3
- package/dist/cli/messenger/archive-summary.js.map +1 -1
- package/dist/cli/messenger/attachments-command.d.ts.map +1 -1
- package/dist/cli/messenger/attachments-command.js +10 -16
- package/dist/cli/messenger/attachments-command.js.map +1 -1
- package/dist/cli/messenger/backfill-command.d.ts.map +1 -1
- package/dist/cli/messenger/backfill-command.js +26 -19
- 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/catch-up-answers.d.ts +94 -0
- package/dist/cli/messenger/catch-up-answers.d.ts.map +1 -0
- package/dist/cli/messenger/catch-up-answers.js +96 -0
- package/dist/cli/messenger/catch-up-answers.js.map +1 -0
- package/dist/cli/messenger/chat-answers.d.ts +0 -5
- package/dist/cli/messenger/chat-answers.d.ts.map +1 -1
- package/dist/cli/messenger/chat-answers.js +1 -13
- package/dist/cli/messenger/chat-answers.js.map +1 -1
- package/dist/cli/messenger/chat-lists.d.ts +7 -6
- package/dist/cli/messenger/chat-lists.d.ts.map +1 -1
- package/dist/cli/messenger/chat-lists.js +10 -10
- package/dist/cli/messenger/chat-lists.js.map +1 -1
- package/dist/cli/messenger/chat-queries.d.ts +5 -2
- package/dist/cli/messenger/chat-queries.d.ts.map +1 -1
- package/dist/cli/messenger/chat-queries.js +21 -4
- package/dist/cli/messenger/chat-queries.js.map +1 -1
- package/dist/cli/messenger/chats-bots-command.d.ts.map +1 -1
- package/dist/cli/messenger/chats-bots-command.js +1 -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 +4 -3
- package/dist/cli/messenger/chats-command.js.map +1 -1
- package/dist/cli/messenger/chats-members-command.js +2 -2
- 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 +1 -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 +1 -2
- package/dist/cli/messenger/chats-stats-command.js.map +1 -1
- package/dist/cli/messenger/chats-tracking-command.js +2 -2
- 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 +10 -5
- package/dist/cli/messenger/contacts-command.js.map +1 -1
- package/dist/cli/messenger/counters-command.d.ts.map +1 -1
- package/dist/cli/messenger/counters-command.js +9 -7
- package/dist/cli/messenger/counters-command.js.map +1 -1
- package/dist/cli/messenger/download-command.d.ts.map +1 -1
- package/dist/cli/messenger/download-command.js +12 -14
- package/dist/cli/messenger/download-command.js.map +1 -1
- package/dist/cli/messenger/history-query.d.ts +1 -1
- package/dist/cli/messenger/history-query.d.ts.map +1 -1
- package/dist/cli/messenger/history-query.js +2 -2
- package/dist/cli/messenger/history-query.js.map +1 -1
- package/dist/cli/messenger/inbox.d.ts +1 -1
- package/dist/cli/messenger/inbox.d.ts.map +1 -1
- package/dist/cli/messenger/inbox.js +34 -49
- package/dist/cli/messenger/inbox.js.map +1 -1
- package/dist/cli/messenger/mentions-command.d.ts.map +1 -1
- package/dist/cli/messenger/mentions-command.js +2 -2
- package/dist/cli/messenger/mentions-command.js.map +1 -1
- package/dist/cli/messenger/message-answers.d.ts +10 -0
- package/dist/cli/messenger/message-answers.d.ts.map +1 -0
- package/dist/cli/messenger/message-answers.js +22 -0
- package/dist/cli/messenger/message-answers.js.map +1 -0
- package/dist/cli/messenger/message-writes.d.ts +196 -0
- package/dist/cli/messenger/message-writes.d.ts.map +1 -0
- package/dist/cli/messenger/message-writes.js +15 -0
- package/dist/cli/messenger/message-writes.js.map +1 -0
- package/dist/cli/messenger/messages-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-command.js +1 -1
- 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 +1 -1
- package/dist/cli/messenger/messages-comments-command.js.map +1 -1
- package/dist/cli/messenger/messages-delete-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-delete-command.js +3 -5
- package/dist/cli/messenger/messages-delete-command.js.map +1 -1
- package/dist/cli/messenger/messages-edit-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-edit-command.js +13 -7
- package/dist/cli/messenger/messages-edit-command.js.map +1 -1
- package/dist/cli/messenger/messages-evidence-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-evidence-command.js +9 -13
- package/dist/cli/messenger/messages-evidence-command.js.map +1 -1
- package/dist/cli/messenger/messages-forward-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-forward-command.js +15 -9
- package/dist/cli/messenger/messages-forward-command.js.map +1 -1
- package/dist/cli/messenger/messages-pin-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-pin-command.js +5 -2
- package/dist/cli/messenger/messages-pin-command.js.map +1 -1
- package/dist/cli/messenger/messages-press-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-press-command.js +3 -1
- package/dist/cli/messenger/messages-press-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 +45 -39
- package/dist/cli/messenger/messages-search-command.js.map +1 -1
- package/dist/cli/messenger/messages-send-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-send-command.js +23 -23
- package/dist/cli/messenger/messages-send-command.js.map +1 -1
- package/dist/cli/messenger/messages-stats-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-stats-command.js +9 -13
- package/dist/cli/messenger/messages-stats-command.js.map +1 -1
- package/dist/cli/messenger/metadata-command.d.ts.map +1 -1
- package/dist/cli/messenger/metadata-command.js +3 -2
- package/dist/cli/messenger/metadata-command.js.map +1 -1
- package/dist/cli/messenger/models-command.d.ts +0 -5
- package/dist/cli/messenger/models-command.d.ts.map +1 -1
- package/dist/cli/messenger/models-command.js +67 -73
- package/dist/cli/messenger/models-command.js.map +1 -1
- package/dist/cli/messenger/observed.js +3 -3
- package/dist/cli/messenger/observed.js.map +1 -1
- package/dist/cli/messenger/official-stats-command.d.ts.map +1 -1
- package/dist/cli/messenger/official-stats-command.js +5 -5
- package/dist/cli/messenger/official-stats-command.js.map +1 -1
- package/dist/cli/messenger/people-queries.d.ts +8 -2
- package/dist/cli/messenger/people-queries.d.ts.map +1 -1
- package/dist/cli/messenger/people-queries.js +25 -3
- package/dist/cli/messenger/people-queries.js.map +1 -1
- package/dist/cli/messenger/polls-command.d.ts.map +1 -1
- package/dist/cli/messenger/polls-command.js +27 -19
- package/dist/cli/messenger/polls-command.js.map +1 -1
- package/dist/cli/messenger/private-people-command.d.ts.map +1 -1
- package/dist/cli/messenger/private-people-command.js +15 -13
- package/dist/cli/messenger/private-people-command.js.map +1 -1
- package/dist/cli/messenger/rankings-command.d.ts.map +1 -1
- package/dist/cli/messenger/rankings-command.js +17 -22
- package/dist/cli/messenger/rankings-command.js.map +1 -1
- package/dist/cli/messenger/reactions-command.d.ts.map +1 -1
- package/dist/cli/messenger/reactions-command.js +1 -2
- package/dist/cli/messenger/reactions-command.js.map +1 -1
- package/dist/cli/messenger/records-command.d.ts.map +1 -1
- package/dist/cli/messenger/records-command.js +26 -13
- package/dist/cli/messenger/records-command.js.map +1 -1
- package/dist/cli/messenger/retention-command.d.ts.map +1 -1
- package/dist/cli/messenger/retention-command.js +7 -12
- package/dist/cli/messenger/retention-command.js.map +1 -1
- package/dist/cli/messenger/review.d.ts.map +1 -1
- package/dist/cli/messenger/review.js +44 -62
- package/dist/cli/messenger/review.js.map +1 -1
- package/dist/cli/messenger/schedule-command.d.ts.map +1 -1
- package/dist/cli/messenger/schedule-command.js +30 -21
- package/dist/cli/messenger/schedule-command.js.map +1 -1
- package/dist/cli/messenger/search-answers.d.ts +34 -0
- package/dist/cli/messenger/search-answers.d.ts.map +1 -0
- package/dist/cli/messenger/search-answers.js +220 -0
- package/dist/cli/messenger/search-answers.js.map +1 -0
- package/dist/cli/messenger/search-command.d.ts.map +1 -1
- package/dist/cli/messenger/search-command.js +49 -33
- package/dist/cli/messenger/search-command.js.map +1 -1
- package/dist/cli/messenger/searches-command.d.ts.map +1 -1
- package/dist/cli/messenger/searches-command.js +26 -46
- package/dist/cli/messenger/searches-command.js.map +1 -1
- package/dist/cli/messenger/stats-answers.d.ts +65 -0
- package/dist/cli/messenger/stats-answers.d.ts.map +1 -0
- package/dist/cli/messenger/stats-answers.js +326 -0
- package/dist/cli/messenger/stats-answers.js.map +1 -0
- package/dist/cli/messenger/stats-command.d.ts.map +1 -1
- package/dist/cli/messenger/stats-command.js +5 -3
- package/dist/cli/messenger/stats-command.js.map +1 -1
- package/dist/cli/messenger/store-maintenance-command.d.ts +1 -1
- package/dist/cli/messenger/tags-command.d.ts.map +1 -1
- package/dist/cli/messenger/tags-command.js +7 -12
- 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 +15 -34
- package/dist/cli/messenger/tasks-command.js.map +1 -1
- package/dist/cli/messenger/topics-command.js +2 -2
- package/dist/cli/messenger/topics-command.js.map +1 -1
- package/dist/cli/messenger/transcribe-command.d.ts.map +1 -1
- package/dist/cli/messenger/transcribe-command.js +4 -7
- package/dist/cli/messenger/transcribe-command.js.map +1 -1
- package/dist/cli/steps.d.ts.map +1 -1
- package/dist/cli/steps.js +81 -0
- package/dist/cli/steps.js.map +1 -1
- package/dist/domain/meeting-reference.d.ts +1 -11
- package/dist/domain/meeting-reference.d.ts.map +1 -1
- package/dist/domain/meeting-reference.js +1 -36
- package/dist/domain/meeting-reference.js.map +1 -1
- package/dist/entities/admin-report.d.ts +94 -0
- package/dist/entities/admin-report.d.ts.map +1 -0
- package/dist/entities/admin-report.js +57 -0
- package/dist/entities/admin-report.js.map +1 -0
- package/dist/entities/agenda.d.ts +61 -0
- package/dist/entities/agenda.d.ts.map +1 -0
- package/dist/entities/agenda.js +42 -0
- package/dist/entities/agenda.js.map +1 -0
- package/dist/entities/attachment.d.ts +3 -1
- package/dist/entities/attachment.d.ts.map +1 -1
- package/dist/entities/attachment.js +4 -2
- package/dist/entities/attachment.js.map +1 -1
- package/dist/entities/chart.d.ts +27 -0
- package/dist/entities/chart.d.ts.map +1 -0
- package/dist/entities/chart.js +17 -0
- package/dist/entities/chart.js.map +1 -0
- package/dist/entities/contact-note.d.ts +13 -0
- package/dist/entities/contact-note.d.ts.map +1 -0
- package/dist/entities/contact-note.js +14 -0
- package/dist/entities/contact-note.js.map +1 -0
- package/dist/entities/counter-reading.d.ts +14 -0
- package/dist/entities/counter-reading.d.ts.map +1 -0
- package/dist/entities/counter-reading.js +15 -0
- package/dist/entities/counter-reading.js.map +1 -0
- package/dist/entities/counters.d.ts +42 -0
- package/dist/entities/counters.d.ts.map +1 -0
- package/dist/entities/counters.js +34 -0
- package/dist/entities/counters.js.map +1 -0
- package/dist/entities/evidence.d.ts +1617 -0
- package/dist/entities/evidence.d.ts.map +1 -0
- package/dist/entities/evidence.js +35 -0
- package/dist/entities/evidence.js.map +1 -0
- package/dist/entities/hit.d.ts +21 -0
- package/dist/entities/hit.d.ts.map +1 -0
- package/dist/entities/hit.js +22 -0
- package/dist/entities/hit.js.map +1 -0
- package/dist/entities/index.d.ts +1827 -17
- package/dist/entities/index.d.ts.map +1 -1
- package/dist/entities/index.js +65 -3
- package/dist/entities/index.js.map +1 -1
- package/dist/entities/job.d.ts +28 -0
- package/dist/entities/job.d.ts.map +1 -0
- package/dist/entities/job.js +25 -0
- package/dist/entities/job.js.map +1 -0
- package/dist/entities/meeting.d.ts +1 -19
- package/dist/entities/meeting.d.ts.map +1 -1
- package/dist/entities/meeting.js +1 -20
- package/dist/entities/meeting.js.map +1 -1
- package/dist/entities/message-counts.d.ts +14 -0
- package/dist/entities/message-counts.d.ts.map +1 -0
- package/dist/entities/message-counts.js +15 -0
- package/dist/entities/message-counts.js.map +1 -0
- package/dist/entities/message.d.ts +21 -1
- package/dist/entities/message.d.ts.map +1 -1
- package/dist/entities/message.js +13 -1
- package/dist/entities/message.js.map +1 -1
- package/dist/entities/model.d.ts +18 -0
- package/dist/entities/model.d.ts.map +1 -0
- package/dist/entities/model.js +19 -0
- package/dist/entities/model.js.map +1 -0
- package/dist/entities/note.d.ts +11 -0
- package/dist/entities/note.d.ts.map +1 -1
- package/dist/entities/note.js +11 -0
- package/dist/entities/note.js.map +1 -1
- package/dist/entities/official-stats.d.ts +63 -0
- package/dist/entities/official-stats.d.ts.map +1 -0
- package/dist/entities/official-stats.js +36 -0
- package/dist/entities/official-stats.js.map +1 -0
- package/dist/entities/ranking.d.ts +95 -0
- package/dist/entities/ranking.d.ts.map +1 -0
- package/dist/entities/ranking.js +49 -0
- package/dist/entities/ranking.js.map +1 -0
- package/dist/entities/retention.d.ts +86 -0
- package/dist/entities/retention.d.ts.map +1 -0
- package/dist/entities/retention.js +51 -0
- package/dist/entities/retention.js.map +1 -0
- package/dist/entities/saved-search.d.ts +17 -0
- package/dist/entities/saved-search.d.ts.map +1 -0
- package/dist/entities/saved-search.js +18 -0
- package/dist/entities/saved-search.js.map +1 -0
- package/dist/mcp/prompts.js +1 -1
- package/dist/mcp/prompts.js.map +1 -1
- package/dist/mcp/tools/admin-statistics.d.ts.map +1 -1
- package/dist/mcp/tools/admin-statistics.js +17 -8
- package/dist/mcp/tools/admin-statistics.js.map +1 -1
- package/dist/mcp/tools/admin.d.ts.map +1 -1
- package/dist/mcp/tools/admin.js +1 -2
- package/dist/mcp/tools/admin.js.map +1 -1
- package/dist/mcp/tools/attachments.d.ts.map +1 -1
- package/dist/mcp/tools/attachments.js +15 -18
- package/dist/mcp/tools/attachments.js.map +1 -1
- package/dist/mcp/tools/chats-read.d.ts.map +1 -1
- package/dist/mcp/tools/chats-read.js +1 -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 +4 -3
- 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 +1 -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 +15 -6
- package/dist/mcp/tools/contacts.js.map +1 -1
- package/dist/mcp/tools/folders.js +2 -2
- package/dist/mcp/tools/folders.js.map +1 -1
- package/dist/mcp/tools/inbox.d.ts.map +1 -1
- package/dist/mcp/tools/inbox.js +15 -17
- package/dist/mcp/tools/inbox.js.map +1 -1
- package/dist/mcp/tools/messages-actions.d.ts.map +1 -1
- package/dist/mcp/tools/messages-actions.js +31 -18
- package/dist/mcp/tools/messages-actions.js.map +1 -1
- package/dist/mcp/tools/messages-delete.d.ts.map +1 -1
- package/dist/mcp/tools/messages-delete.js +3 -2
- package/dist/mcp/tools/messages-delete.js.map +1 -1
- package/dist/mcp/tools/messages-photo.js +1 -1
- package/dist/mcp/tools/messages-photo.js.map +1 -1
- package/dist/mcp/tools/messages-send.d.ts.map +1 -1
- package/dist/mcp/tools/messages-send.js +5 -7
- package/dist/mcp/tools/messages-send.js.map +1 -1
- package/dist/mcp/tools/messages-transcribe.d.ts.map +1 -1
- package/dist/mcp/tools/messages-transcribe.js +4 -3
- package/dist/mcp/tools/messages-transcribe.js.map +1 -1
- package/dist/mcp/tools/messages.d.ts.map +1 -1
- package/dist/mcp/tools/messages.js +11 -9
- 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 +1 -2
- 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 +6 -3
- package/dist/mcp/tools/polls.js.map +1 -1
- package/dist/mcp/tools/private-people.d.ts.map +1 -1
- package/dist/mcp/tools/private-people.js +19 -13
- package/dist/mcp/tools/private-people.js.map +1 -1
- package/dist/mcp/tools/rankings.d.ts.map +1 -1
- package/dist/mcp/tools/rankings.js +13 -7
- package/dist/mcp/tools/rankings.js.map +1 -1
- package/dist/mcp/tools/reactions.d.ts.map +1 -1
- package/dist/mcp/tools/reactions.js +1 -2
- package/dist/mcp/tools/reactions.js.map +1 -1
- package/dist/mcp/tools/review.d.ts.map +1 -1
- package/dist/mcp/tools/review.js +15 -18
- package/dist/mcp/tools/review.js.map +1 -1
- package/dist/mcp/tools/search-tools.d.ts.map +1 -1
- package/dist/mcp/tools/search-tools.js +63 -42
- package/dist/mcp/tools/search-tools.js.map +1 -1
- package/dist/mcp/tools/search.d.ts +69 -48
- package/dist/mcp/tools/search.d.ts.map +1 -1
- package/dist/mcp/tools/search.js +30 -27
- package/dist/mcp/tools/search.js.map +1 -1
- package/dist/mcp/tools/searches.d.ts.map +1 -1
- package/dist/mcp/tools/searches.js +33 -17
- package/dist/mcp/tools/searches.js.map +1 -1
- package/dist/mcp/tools/stats.d.ts.map +1 -1
- package/dist/mcp/tools/stats.js +6 -6
- package/dist/mcp/tools/stats.js.map +1 -1
- package/dist/mcp/tools/store.d.ts.map +1 -1
- package/dist/mcp/tools/store.js +14 -9
- package/dist/mcp/tools/store.js.map +1 -1
- package/dist/mcp/tools/tags.d.ts.map +1 -1
- package/dist/mcp/tools/tags.js +5 -5
- 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 +23 -20
- package/dist/mcp/tools/tasks.js.map +1 -1
- package/dist/mcp/tools/topics.js +2 -2
- package/dist/mcp/tools/topics.js.map +1 -1
- package/dist/meetings/cli/index.d.ts.map +1 -1
- package/dist/meetings/cli/index.js +27 -8
- package/dist/meetings/cli/index.js.map +1 -1
- package/dist/meetings/index.d.ts +5 -1
- package/dist/meetings/index.d.ts.map +1 -1
- package/dist/meetings/index.js +4 -1
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/item.d.ts +35 -0
- package/dist/meetings/item.d.ts.map +1 -0
- package/dist/meetings/item.js +59 -0
- package/dist/meetings/item.js.map +1 -0
- package/dist/meetings/mcp/index.d.ts +240 -25
- package/dist/meetings/mcp/index.d.ts.map +1 -1
- package/dist/meetings/mcp/index.js +44 -18
- package/dist/meetings/mcp/index.js.map +1 -1
- package/dist/meetings/participant-search.d.ts +50 -0
- package/dist/meetings/participant-search.d.ts.map +1 -0
- package/dist/meetings/participant-search.js +24 -0
- package/dist/meetings/participant-search.js.map +1 -0
- package/dist/meetings/read-store.d.ts +54 -0
- package/dist/meetings/read-store.d.ts.map +1 -0
- package/dist/meetings/read-store.js +2 -0
- package/dist/meetings/read-store.js.map +1 -0
- package/dist/meetings/reads.d.ts +43 -2
- package/dist/meetings/reads.d.ts.map +1 -1
- package/dist/meetings/reads.js +76 -1
- package/dist/meetings/reads.js.map +1 -1
- package/dist/meetings/reference.d.ts +12 -0
- package/dist/meetings/reference.d.ts.map +1 -0
- package/dist/meetings/reference.js +37 -0
- package/dist/meetings/reference.js.map +1 -0
- package/dist/meetings/store.d.ts +6 -0
- package/dist/meetings/store.d.ts.map +1 -1
- package/dist/meetings/testing/contract.d.ts.map +1 -1
- package/dist/meetings/testing/contract.js +14 -0
- package/dist/meetings/testing/contract.js.map +1 -1
- package/dist/meetings/testing/memory.d.ts.map +1 -1
- package/dist/meetings/testing/memory.js +10 -1
- package/dist/meetings/testing/memory.js.map +1 -1
- package/dist/render/markdown.d.ts.map +1 -1
- package/dist/render/markdown.js +4 -2
- package/dist/render/markdown.js.map +1 -1
- package/dist/render/messages.js +4 -2
- package/dist/render/messages.js.map +1 -1
- package/dist/sends/upload.d.ts.map +1 -1
- package/dist/sends/upload.js +7 -1
- package/dist/sends/upload.js.map +1 -1
- package/dist/services/agenda.d.ts +14 -2
- package/dist/services/agenda.d.ts.map +1 -1
- package/dist/services/agenda.js +59 -7
- package/dist/services/agenda.js.map +1 -1
- package/dist/services/attachments.d.ts +18 -21
- package/dist/services/attachments.d.ts.map +1 -1
- package/dist/services/attachments.js +45 -14
- package/dist/services/attachments.js.map +1 -1
- package/dist/services/backfill-jobs.d.ts +22 -0
- package/dist/services/backfill-jobs.d.ts.map +1 -1
- package/dist/services/backfill-jobs.js +19 -0
- package/dist/services/backfill-jobs.js.map +1 -1
- package/dist/services/chats.d.ts +4 -3
- package/dist/services/chats.d.ts.map +1 -1
- package/dist/services/chats.js +12 -4
- package/dist/services/chats.js.map +1 -1
- package/dist/services/inbox.d.ts.map +1 -1
- package/dist/services/inbox.js +5 -5
- package/dist/services/inbox.js.map +1 -1
- package/dist/services/job-query.d.ts +30 -0
- package/dist/services/job-query.d.ts.map +1 -0
- package/dist/services/job-query.js +18 -0
- package/dist/services/job-query.js.map +1 -0
- package/dist/services/messages-search.js +3 -2
- package/dist/services/messages-search.js.map +1 -1
- package/dist/services/messages.d.ts +2 -0
- package/dist/services/messages.d.ts.map +1 -1
- package/dist/services/messages.js.map +1 -1
- package/dist/services/people.d.ts +6 -1
- package/dist/services/people.d.ts.map +1 -1
- package/dist/services/people.js +10 -3
- package/dist/services/people.js.map +1 -1
- package/dist/services/pictures.d.ts +4 -0
- package/dist/services/pictures.d.ts.map +1 -1
- package/dist/services/pictures.js +26 -17
- package/dist/services/pictures.js.map +1 -1
- package/dist/services/private-people.d.ts +35 -4
- package/dist/services/private-people.d.ts.map +1 -1
- package/dist/services/private-people.js +14 -5
- package/dist/services/private-people.js.map +1 -1
- package/dist/services/retention.d.ts +1 -0
- package/dist/services/retention.d.ts.map +1 -1
- package/dist/services/retention.js +1 -0
- package/dist/services/retention.js.map +1 -1
- package/dist/services/search-refresh.d.ts.map +1 -1
- package/dist/services/search-refresh.js +7 -6
- package/dist/services/search-refresh.js.map +1 -1
- package/dist/services/searches.d.ts +7 -2
- package/dist/services/searches.d.ts.map +1 -1
- package/dist/services/searches.js +16 -3
- package/dist/services/searches.js.map +1 -1
- package/dist/services/server-search.js +1 -1
- package/dist/services/server-search.js.map +1 -1
- package/dist/store/sqlite/attachment-texts.d.ts +10 -2
- package/dist/store/sqlite/attachment-texts.d.ts.map +1 -1
- package/dist/store/sqlite/attachment-texts.js +27 -10
- package/dist/store/sqlite/attachment-texts.js.map +1 -1
- package/dist/store/sqlite/chats.d.ts +34 -0
- package/dist/store/sqlite/chats.d.ts.map +1 -1
- package/dist/store/sqlite/chats.js +23 -8
- package/dist/store/sqlite/chats.js.map +1 -1
- package/dist/store/sqlite/completeness.js +2 -2
- package/dist/store/sqlite/completeness.js.map +1 -1
- package/dist/store/sqlite/conversations.d.ts +1 -1
- package/dist/store/sqlite/conversations.d.ts.map +1 -1
- package/dist/store/sqlite/conversations.js +1 -2
- package/dist/store/sqlite/conversations.js.map +1 -1
- package/dist/store/sqlite/identities.d.ts +10 -4
- package/dist/store/sqlite/identities.d.ts.map +1 -1
- package/dist/store/sqlite/identities.js +8 -7
- package/dist/store/sqlite/identities.js.map +1 -1
- package/dist/store/sqlite/meeting-participant-search.d.ts +4 -0
- package/dist/store/sqlite/meeting-participant-search.d.ts.map +1 -0
- package/dist/store/sqlite/meeting-participant-search.js +105 -0
- package/dist/store/sqlite/meeting-participant-search.js.map +1 -0
- package/dist/store/sqlite/meeting-reads.d.ts +2 -54
- package/dist/store/sqlite/meeting-reads.d.ts.map +1 -1
- package/dist/store/sqlite/meeting-reads.js.map +1 -1
- package/dist/store/sqlite/meetings.d.ts +2 -2
- package/dist/store/sqlite/meetings.d.ts.map +1 -1
- package/dist/store/sqlite/meetings.js +22 -0
- package/dist/store/sqlite/meetings.js.map +1 -1
- package/dist/store/sqlite/query-filter.d.ts +3 -0
- package/dist/store/sqlite/query-filter.d.ts.map +1 -1
- package/dist/store/sqlite/query-filter.js +3 -0
- package/dist/store/sqlite/query-filter.js.map +1 -1
- package/dist/store/sqlite/reads.d.ts +9 -1
- package/dist/store/sqlite/reads.d.ts.map +1 -1
- package/dist/store/sqlite/reads.js +6 -3
- package/dist/store/sqlite/reads.js.map +1 -1
- package/dist/store/sqlite/searches.d.ts +1 -1
- package/dist/store/sqlite/searches.d.ts.map +1 -1
- package/dist/store/sqlite/searches.js +3 -3
- package/dist/store/sqlite/searches.js.map +1 -1
- package/dist/store/store.d.ts +20 -17
- package/dist/store/store.d.ts.map +1 -1
- package/dist/store/store.js +10 -6
- package/dist/store/store.js.map +1 -1
- package/package.json +2 -2
- package/parity.json +32 -61
- package/dist/cli/messenger/list-query.d.ts +0 -13
- package/dist/cli/messenger/list-query.d.ts.map +0 -1
- package/dist/cli/messenger/list-query.js +0 -23
- package/dist/cli/messenger/list-query.js.map +0 -1
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import { CliError } from "@wirecat/cli-base";
|
|
2
|
+
import { annotate } from "@wirecat/cli-base/commands";
|
|
2
3
|
import { Command } from "commander";
|
|
3
4
|
import { renderMessages } from "../../render/messages.js";
|
|
4
5
|
import { CHAT_KINDS } from "../../services/chats.js";
|
|
5
6
|
import { kindsOf, REVIEW_DAYS, reviewStart, UNANSWERED_HOURS } from "../../services/inbox.js";
|
|
6
|
-
import { momentOf } from "../../services/moment.js";
|
|
7
7
|
import { modelWith } from "../../speech/hearing.js";
|
|
8
|
+
import { renderAnswer } from "../envelope.js";
|
|
9
|
+
import { queryHelp } from "../list-query.js";
|
|
8
10
|
import { parseDuration } from "../settings.js";
|
|
9
11
|
import { MARK_READ_OPTION, markShown, marksRead, NO_MARK_READ_OPTION } from "./catch-up.js";
|
|
12
|
+
import { catchUpQuery, REVIEW_QUERY, reviewAnswer } from "./catch-up-answers.js";
|
|
10
13
|
import { messengerContext } from "./context.js";
|
|
11
|
-
import { heardItems, hearForCommand,
|
|
14
|
+
import { heardItems, hearForCommand, MODEL_OPTION, spokenItems, TRANSCRIBE_OPTION } from "./hearing-command.js";
|
|
12
15
|
import { PARTIAL_NOTE } from "./inbox.js";
|
|
16
|
+
import { viewOf } from "./message-items.js";
|
|
13
17
|
import { checkPoints } from "./points.js";
|
|
14
18
|
/** `--unanswered` with no value is `true`. */
|
|
15
19
|
export const unansweredHours = (value, flag = "--unanswered") => value === true ? UNANSWERED_HOURS : parseDuration(String(value), flag) / 3_600_000;
|
|
@@ -19,10 +23,10 @@ export const unansweredHours = (value, flag = "--unanswered") => value === true
|
|
|
19
23
|
* Nothing is marked read unless asked, and `inbox --new` keeps its point. The rules open and close
|
|
20
24
|
* tasks in the local store from what it read (`../../services/task-rules.ts`); nothing reaches the messenger.
|
|
21
25
|
*/
|
|
22
|
-
export const reviewCommand = (messenger) => new Command("review")
|
|
26
|
+
export const reviewCommand = (messenger) => annotate(new Command("review"), { output: { entity: "message", view: "message.summary" }, query: REVIEW_QUERY })
|
|
23
27
|
.description("every message, yours too, in chats that changed since a point — for reviewing who owes what")
|
|
24
|
-
.
|
|
25
|
-
.
|
|
28
|
+
.addHelpText("after", queryHelp(REVIEW_QUERY))
|
|
29
|
+
.argument("[query...]", `where the last review ended and which chat: date>2h, chat:"Book club"; ${REVIEW_DAYS} days ago if no date`)
|
|
26
30
|
.option("--kind <kinds>", `only chats of these kinds, comma-separated: ${CHAT_KINDS.join(", ")}`)
|
|
27
31
|
.option("--unanswered [duration]", `only questions to you or a group's admins that nobody answered, asked at least this long ago — 4h, 1d; ${UNANSWERED_HOURS}h if not given`)
|
|
28
32
|
.option("--all", "muted and archived chats too — left out unless they mention you or reply to you")
|
|
@@ -31,14 +35,15 @@ export const reviewCommand = (messenger) => new Command("review")
|
|
|
31
35
|
.option("--new", "what changed since the last `review --new`, a point per chat — for scheduled runs")
|
|
32
36
|
.option(...MARK_READ_OPTION)
|
|
33
37
|
.option(...NO_MARK_READ_OPTION)
|
|
34
|
-
.action(async function () {
|
|
38
|
+
.action(async function (query) {
|
|
35
39
|
const options = this.opts();
|
|
36
40
|
const hearWith = modelWith(options.transcribe, options.model);
|
|
37
41
|
const context = messengerContext(this, messenger);
|
|
38
|
-
const { settings, renderer, format,
|
|
39
|
-
|
|
42
|
+
const { settings, renderer, format, env } = context;
|
|
43
|
+
const { since: from, chat } = catchUpQuery(query, REVIEW_QUERY, "review");
|
|
44
|
+
if (options.new && (from !== undefined || options.unanswered !== undefined)) {
|
|
40
45
|
// An open question stays open: moving past it would drop it from the next review.
|
|
41
|
-
throw new CliError("validation_error", "--new keeps its own point — not with
|
|
46
|
+
throw new CliError("validation_error", "--new keeps its own point — not with a date or --unanswered");
|
|
42
47
|
}
|
|
43
48
|
const saved = options.new
|
|
44
49
|
? checkPoints(messenger.app, {
|
|
@@ -48,17 +53,17 @@ export const reviewCommand = (messenger) => new Command("review")
|
|
|
48
53
|
firstLookMs: REVIEW_DAYS * 86_400_000,
|
|
49
54
|
})
|
|
50
55
|
: undefined;
|
|
51
|
-
const since =
|
|
56
|
+
const since = from ?? saved?.first ?? reviewStart();
|
|
52
57
|
const marking = marksRead(options.markRead, settings);
|
|
53
58
|
const hours = options.unanswered === undefined ? undefined : unansweredHours(options.unanswered);
|
|
54
59
|
const kinds = options.kind === undefined ? undefined : kindsOf(options.kind);
|
|
55
60
|
let hearing;
|
|
56
61
|
const transcribe = options.transcribe === true;
|
|
57
|
-
const { found, marked } = await context.withServices(async (services, connect) => {
|
|
62
|
+
const { found, marked, reader } = await context.withServices(async (services, connect) => {
|
|
58
63
|
const found = await services.inbox.review({
|
|
59
64
|
since,
|
|
60
65
|
...(saved === undefined ? {} : { points: saved.chats }),
|
|
61
|
-
...(
|
|
66
|
+
...(chat === undefined ? {} : { chat }),
|
|
62
67
|
...(kinds === undefined ? {} : { kinds }),
|
|
63
68
|
...(options.all ? { all: true } : {}),
|
|
64
69
|
...(hours === undefined ? {} : { unansweredAfterHours: hours }),
|
|
@@ -72,64 +77,41 @@ export const reviewCommand = (messenger) => new Command("review")
|
|
|
72
77
|
};
|
|
73
78
|
},
|
|
74
79
|
});
|
|
75
|
-
return {
|
|
80
|
+
return {
|
|
81
|
+
found,
|
|
82
|
+
marked: marking ? await markShown(services, found.chats) : undefined,
|
|
83
|
+
reader: await services.messages.reader(),
|
|
84
|
+
};
|
|
76
85
|
});
|
|
77
|
-
const read = found.chats.flatMap((chat) => chat.messages.map((message) => ({ ...message, chatTitle: chat.title })));
|
|
78
|
-
const messages = heardItems(read, hearing);
|
|
79
86
|
found.complete &&= (hearing?.unheard.length ?? 0) === 0;
|
|
80
|
-
if (format === "jsonl")
|
|
81
|
-
renderer.stream(messages);
|
|
82
|
-
else if (format !== "pretty") {
|
|
83
|
-
renderer.result({
|
|
84
|
-
...found,
|
|
85
|
-
...(marked === undefined ? {} : { markedRead: marked }),
|
|
86
|
-
chats: found.chats.map((chat) => ({ ...chat, messages: heardItems(chat.messages, hearing) })),
|
|
87
|
-
...hearingFields(hearing, true),
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
else if (messages.length > 0) {
|
|
91
|
-
streams.data(renderMessages(spokenItems(messages, hearing), {
|
|
92
|
-
color: context.color,
|
|
93
|
-
verbosity: settings.detail,
|
|
94
|
-
senderColors: settings.senderColors,
|
|
95
|
-
profile: context.profile,
|
|
96
|
-
provider: messenger.provider,
|
|
97
|
-
locale: messenger.app.locale,
|
|
98
|
-
}));
|
|
99
|
-
}
|
|
100
87
|
if (marked !== undefined)
|
|
101
88
|
renderer.note(`marked ${marked.length} chat(s) read up to the newest message shown`);
|
|
102
|
-
notes(found,
|
|
89
|
+
notes(found, format === "pretty", renderer);
|
|
90
|
+
renderAnswer(this, context, reviewAnswer(found, hearing, reader, {
|
|
91
|
+
transcribe,
|
|
92
|
+
fresh: saved !== undefined,
|
|
93
|
+
...(chat === undefined ? {} : { chat }),
|
|
94
|
+
}), () => {
|
|
95
|
+
const read = found.chats
|
|
96
|
+
.flatMap((one) => one.messages.map((message) => ({ ...message, chatTitle: one.title })))
|
|
97
|
+
.sort((a, b) => Date.parse(a.timestamp) - Date.parse(b.timestamp));
|
|
98
|
+
return read.length === 0 ? "" : renderMessages(spokenItems(read, hearing), viewOf(context, messenger));
|
|
99
|
+
});
|
|
103
100
|
saved?.save(found.checked ?? {});
|
|
104
101
|
});
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
note(`${chat.title ?? chat.id}: cut short, only the newest — \`${command} messages list ${chat.id}\``);
|
|
102
|
+
/** What the answer's steps do not say: a person's context for the review just shown. */
|
|
103
|
+
const notes = (found, pretty, renderer) => {
|
|
104
|
+
for (const chat of found.chats)
|
|
109
105
|
if (chat.answeredBy === "owner")
|
|
110
|
-
note(`${chat.title ?? chat.id}: its admins are not known, so only your answers count`);
|
|
111
|
-
}
|
|
112
|
-
if (found.skipped.length > 0) {
|
|
113
|
-
const names = found.skipped.map((chat) => chat.title ?? chat.id).join(", ");
|
|
114
|
-
note(`skipped ${found.skipped.length} chats — too many at once: ${names}`);
|
|
115
|
-
}
|
|
106
|
+
renderer.note(`${chat.title ?? chat.id}: its admins are not known, so only your answers count`);
|
|
116
107
|
if (found.tasks && found.tasks.added + found.tasks.closed > 0)
|
|
117
|
-
note(`tasks: ${found.tasks.added} opened, ${found.tasks.closed} closed by the rules`);
|
|
118
|
-
if (found.partial)
|
|
119
|
-
|
|
120
|
-
if (found.
|
|
121
|
-
note(
|
|
122
|
-
if (found.unanswered) {
|
|
123
|
-
note(`questions from ${found.since} to ${found.until} still open after ${found.unanswered.olderThanHours} hours; ` +
|
|
108
|
+
renderer.note(`tasks: ${found.tasks.added} opened, ${found.tasks.closed} closed by the rules`);
|
|
109
|
+
if (found.partial && pretty)
|
|
110
|
+
renderer.warn(PARTIAL_NOTE);
|
|
111
|
+
if (found.unanswered)
|
|
112
|
+
renderer.note(`questions from ${found.since} to ${found.until} still open after ${found.unanswered.olderThanHours} hours; ` +
|
|
124
113
|
"an answer after the review's end is not seen");
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
if (fresh) {
|
|
128
|
-
note(`from ${found.since} to ${found.until} — the next \`review --new\` goes on from here, chat by chat`);
|
|
129
|
-
return;
|
|
130
|
-
}
|
|
131
|
-
note(found.complete
|
|
132
|
-
? `from ${found.since} to ${found.until} — the next review starts with --since-time ${found.until}`
|
|
133
|
-
: `from ${found.since} to ${found.until}, incomplete — keep --since-time ${found.since} for the next review`);
|
|
114
|
+
else if (pretty)
|
|
115
|
+
renderer.note(`from ${found.since} to ${found.until}${found.complete ? "" : ", incomplete"}`);
|
|
134
116
|
};
|
|
135
117
|
//# sourceMappingURL=review.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/cli/messenger/review.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC7F,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/cli/messenger/review.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedule-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/schedule-command.ts"],"names":[],"mappings":"AAGA,OAAO,EAAY,OAAO,EAAU,MAAM,WAAW,CAAA;AAoBrD,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"schedule-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/schedule-command.ts"],"names":[],"mappings":"AAGA,OAAO,EAAY,OAAO,EAAU,MAAM,WAAW,CAAA;AAoBrD,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAyD/D;;;;GAIG;AACH,eAAO,MAAM,eAAe,cAAe,SAAS,KAAG,OAwLtD,CAAA"}
|
|
@@ -8,7 +8,7 @@ import { locationVariables } from "../../background/units.js";
|
|
|
8
8
|
import { aheadOf } from "../../services/moment.js";
|
|
9
9
|
import { storePath } from "../../store/path.js";
|
|
10
10
|
import { environmentOf } from "../context.js";
|
|
11
|
-
import {
|
|
11
|
+
import { itemOf, listOf, renderAnswer, snakeKeys } from "../envelope.js";
|
|
12
12
|
import { parseDuration } from "../settings.js";
|
|
13
13
|
import { messengerContext } from "./context.js";
|
|
14
14
|
/** Each run of an agent is a paid model call that reads chats; keeping the store current is `serve`'s job. */
|
|
@@ -39,6 +39,13 @@ const whenOf = ({ every, at, once }, minimum) => {
|
|
|
39
39
|
}
|
|
40
40
|
return { every: minutes };
|
|
41
41
|
};
|
|
42
|
+
/** A schedule as answered: snake_case, but its environment keeps the variables' own names. */
|
|
43
|
+
const scheduleAnswer = ({ environment, createdAt, ...schedule }, extra) => ({
|
|
44
|
+
...snakeKeys(schedule),
|
|
45
|
+
environment,
|
|
46
|
+
created_at: createdAt,
|
|
47
|
+
...snakeKeys(extra),
|
|
48
|
+
});
|
|
42
49
|
const withWhen = (command) => command
|
|
43
50
|
.option("--every <duration>", "repeat: 30m, 2h, 1d")
|
|
44
51
|
.option("--at <HH:MM>", "every day at this local time")
|
|
@@ -55,12 +62,7 @@ export const scheduleCommand = (messenger) => {
|
|
|
55
62
|
const context = messengerContext(self, messenger);
|
|
56
63
|
const system = environmentOf(self).system ?? thisMachine();
|
|
57
64
|
const state = resolvePaths({ appName: app.appName, prefix: app.envPrefix, env: context.env }).state;
|
|
58
|
-
const say = (value, lines) =>
|
|
59
|
-
if (context.format === "pretty")
|
|
60
|
-
context.streams.data(lines.join("\n"));
|
|
61
|
-
else
|
|
62
|
-
context.renderer.result(value);
|
|
63
|
-
};
|
|
65
|
+
const say = (value, lines) => renderAnswer(self, context, itemOf(value), () => lines.join("\n"));
|
|
64
66
|
const timer = () => timerFor(app, system, context.env);
|
|
65
67
|
const environment = () => ({
|
|
66
68
|
[`${app.envPrefix}_PROFILE`]: context.profile,
|
|
@@ -73,7 +75,7 @@ export const scheduleCommand = (messenger) => {
|
|
|
73
75
|
const replaced = existsSync(file);
|
|
74
76
|
writeSecurely(file, `${JSON.stringify(schedule, null, 2)}\n`, 0o600);
|
|
75
77
|
await timer().install(schedule, [...system.entry, "schedule", "exec", file]);
|
|
76
|
-
say(
|
|
78
|
+
say(scheduleAnswer(schedule, { file, timer: timer().where(schedule.name), replaced }), [
|
|
77
79
|
`${replaced ? "Replaced" : "Added"} ${schedule.name}: ${describeWhen(schedule.when)}.`,
|
|
78
80
|
`It runs: ${schedule.kind === "agent" ? schedule.argv.join(" ") : `${app.command} ${schedule.argv.join(" ")}`}`,
|
|
79
81
|
`Output: ${join(dirname(file), "runs")} · now: ${app.command} schedule run ${schedule.name} · stop: ${app.command} schedule remove ${schedule.name}`,
|
|
@@ -160,18 +162,25 @@ export const scheduleCommand = (messenger) => {
|
|
|
160
162
|
when: describeWhen(schedule.when),
|
|
161
163
|
last: lastRun(scheduleFile(state, schedule.name)) ?? null,
|
|
162
164
|
}));
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
165
|
+
const answer = listOf("schedule list", {
|
|
166
|
+
items: rows.map((row) => snakeKeys(row)),
|
|
167
|
+
limit: Math.max(1, rows.length),
|
|
168
|
+
has_more: false,
|
|
169
|
+
});
|
|
170
|
+
renderAnswer(this, context, answer, () => {
|
|
171
|
+
if (rows.length === 0) {
|
|
172
|
+
context.renderer.note(`no schedules — \`${app.command} schedule command|agent\` adds one`);
|
|
173
|
+
return "";
|
|
174
|
+
}
|
|
175
|
+
return rows
|
|
176
|
+
.map(({ name, kind, when, last }) => [
|
|
177
|
+
name,
|
|
178
|
+
kind,
|
|
179
|
+
when,
|
|
180
|
+
last ? `last ${last.at.slice(0, 16).replace("T", " ")} exit ${last.exitCode}` : "not run yet",
|
|
181
|
+
].join(" "))
|
|
182
|
+
.join("\n");
|
|
183
|
+
});
|
|
175
184
|
});
|
|
176
185
|
command
|
|
177
186
|
.command("run")
|
|
@@ -182,7 +191,7 @@ export const scheduleCommand = (messenger) => {
|
|
|
182
191
|
const last = await runSchedule(app, system, context.env, scheduleFile(state, scheduleName(name)), {
|
|
183
192
|
timer: timer(),
|
|
184
193
|
});
|
|
185
|
-
say({ name, ...last }, [`${name}: exit ${last.exitCode} — ${last.output}`]);
|
|
194
|
+
say(snakeKeys({ name, ...last }), [`${name}: exit ${last.exitCode} — ${last.output}`]);
|
|
186
195
|
if (last.exitCode !== 0)
|
|
187
196
|
process.exitCode = 1;
|
|
188
197
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedule-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/schedule-command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schedule-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/schedule-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Missing, NextStep } from "@wirecat/cli-base/standards";
|
|
2
|
+
import type { InferOutput } from "valibot";
|
|
3
|
+
import type { ENTITIES } from "../../entities/index.js";
|
|
4
|
+
import { type FoundMessage, type SearchFound } from "../../services/messages.js";
|
|
5
|
+
import type { FoundNote, NotesFoundOf } from "../../services/notes-search.js";
|
|
6
|
+
import type { SearchAllItem } from "../../services/search-all.js";
|
|
7
|
+
import type { MeetingSearchItem, SearchAllIncludingMeetingsFound } from "../../services/search-all-meetings.js";
|
|
8
|
+
import { type ListBody } from "../envelope.js";
|
|
9
|
+
export type MessageHitItem = InferOutput<(typeof ENTITIES)["message.hit"]>;
|
|
10
|
+
export type NoteHitItem = InferOutput<(typeof ENTITIES)["note.hit"]>;
|
|
11
|
+
export type HitItem = InferOutput<(typeof ENTITIES)["hit"]>;
|
|
12
|
+
/** The page a `--page` asks for, as the offset the search services take. */
|
|
13
|
+
export declare const offsetOf: (page: number | undefined, limit: number) => number | undefined;
|
|
14
|
+
export declare const messageHitItem: (hit: FoundMessage, query?: string) => MessageHitItem;
|
|
15
|
+
/** What the archive lacked for this answer, and the step that would fill it. */
|
|
16
|
+
export declare const coverageGaps: (found: Pick<SearchFound, "coverage" | "refreshed">, shown: number) => {
|
|
17
|
+
next: NextStep[];
|
|
18
|
+
missing: Missing[];
|
|
19
|
+
};
|
|
20
|
+
export interface Paging {
|
|
21
|
+
limit: number;
|
|
22
|
+
page?: number;
|
|
23
|
+
/** The query and options `page.next` repeats. */
|
|
24
|
+
again?: Record<string, unknown>;
|
|
25
|
+
}
|
|
26
|
+
/** `search messages` and `search mail`, CLI and MCP alike. */
|
|
27
|
+
export declare const messagesAnswer: (command: string, found: SearchFound, { limit, page, again }: Paging, query?: string) => ListBody<MessageHitItem>;
|
|
28
|
+
export declare const noteHitItem: (hit: FoundNote) => NoteHitItem;
|
|
29
|
+
export declare const allHitItem: (item: SearchAllItem | MeetingSearchItem) => HitItem;
|
|
30
|
+
/** `search notes`, CLI and MCP alike. */
|
|
31
|
+
export declare const notesAnswer: (command: string, found: NotesFoundOf, { limit, page, again }: Paging, exact?: boolean) => ListBody<NoteHitItem>;
|
|
32
|
+
/** `search all`, CLI and MCP alike. A bounded meeting scan that could not tell whether more match says so. */
|
|
33
|
+
export declare const allAnswer: (command: string, found: SearchAllIncludingMeetingsFound, { limit, page, again }: Paging, exact?: boolean) => ListBody<HitItem>;
|
|
34
|
+
//# sourceMappingURL=search-answers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-answers.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/search-answers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAG1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAEvD,OAAO,EAAE,KAAK,YAAY,EAAqB,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACnG,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,MAAM,uCAAuC,CAAA;AAC/G,OAAO,EAAE,KAAK,QAAQ,EAAU,MAAM,gBAAgB,CAAA;AAItD,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,CAAA;AAC1E,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;AACpE,MAAM,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AAK3D,4EAA4E;AAC5E,eAAO,MAAM,QAAQ,SAAU,MAAM,GAAG,SAAS,SAAS,MAAM,KAAG,MAAM,GAAG,SACV,CAAA;AAElE,eAAO,MAAM,cAAc,QAAS,YAAY,qBAAe,cAyC9D,CAAA;AAcD,gFAAgF;AAChF,eAAO,MAAM,YAAY,UAChB,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,WAAW,CAAC,SAC3C,MAAM,KACZ;IAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,EAAE,CAAA;CAoBxC,CAAA;AAyCD,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED,8DAA8D;AAC9D,eAAO,MAAM,cAAc,YAChB,MAAM,SACR,WAAW,0BACM,MAAM,qBAE7B,QAAQ,CAAC,cAAc,CAWzB,CAAA;AAED,eAAO,MAAM,WAAW,QAAS,SAAS,KAAG,WAWzC,CAAA;AAEJ,eAAO,MAAM,UAAU,SAAU,aAAa,GAAG,iBAAiB,KAAG,OAuB7D,CAAA;AAWR,yCAAyC;AACzC,eAAO,MAAM,WAAW,YACb,MAAM,SACR,YAAY,0BACK,MAAM,sBAE7B,QAAQ,CAAC,WAAW,CAYnB,CAAA;AAEJ,8GAA8G;AAC9G,eAAO,MAAM,SAAS,YACX,MAAM,SACR,+BAA+B,0BACd,MAAM,sBAE7B,QAAQ,CAAC,OAAO,CAmClB,CAAA"}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import { formatLocator, parseLocator } from "../../domain/locator.js";
|
|
2
|
+
import { DEFAULT_TEXT_MODEL } from "../../embeddings/models.js";
|
|
3
|
+
import { excerpt } from "../../services/excerpt.js";
|
|
4
|
+
import { MAX_SEARCH_OFFSET } from "../../services/messages.js";
|
|
5
|
+
import { listOf } from "../envelope.js";
|
|
6
|
+
import { nextStep } from "../steps.js";
|
|
7
|
+
import { archiveSummary } from "./archive-summary.js";
|
|
8
|
+
const defined = (value) => Object.fromEntries(Object.entries(value).filter(([, one]) => one !== undefined));
|
|
9
|
+
/** The page a `--page` asks for, as the offset the search services take. */
|
|
10
|
+
export const offsetOf = (page, limit) => page === undefined || page <= 1 ? undefined : (page - 1) * limit;
|
|
11
|
+
export const messageHitItem = (hit, query = "") => {
|
|
12
|
+
const at = parseLocator(hit.locator);
|
|
13
|
+
const around = hit.thread?.items ?? hit.context;
|
|
14
|
+
return defined({
|
|
15
|
+
ref: hit.locator,
|
|
16
|
+
chat_title: hit.chatTitle ?? undefined,
|
|
17
|
+
timestamp: hit.timestamp,
|
|
18
|
+
sender_name: hit.senderName,
|
|
19
|
+
excerpt: hit.excerpt ?? excerpt(hit.text, query),
|
|
20
|
+
matched_in: hit.matchedIn,
|
|
21
|
+
score: hit.score ?? undefined,
|
|
22
|
+
found_in: hit.source,
|
|
23
|
+
discovery: hit.discovery
|
|
24
|
+
? defined({
|
|
25
|
+
coverage: hit.discovery.coverage,
|
|
26
|
+
matched_terms: hit.discovery.matchedTerms,
|
|
27
|
+
missing_terms: hit.discovery.missingTerms,
|
|
28
|
+
parent: hit.discovery.parent,
|
|
29
|
+
})
|
|
30
|
+
: undefined,
|
|
31
|
+
email: hit.email
|
|
32
|
+
? {
|
|
33
|
+
subject: hit.email.subject,
|
|
34
|
+
from: hit.email.from,
|
|
35
|
+
to: hit.email.to,
|
|
36
|
+
cc: hit.email.cc,
|
|
37
|
+
bcc: hit.email.bcc,
|
|
38
|
+
reply_addresses: hit.email.replyTo,
|
|
39
|
+
labels: hit.email.labels,
|
|
40
|
+
thread: hit.email.thread,
|
|
41
|
+
read: hit.email.read,
|
|
42
|
+
flagged: hit.email.flagged,
|
|
43
|
+
}
|
|
44
|
+
: undefined,
|
|
45
|
+
context: around?.map((one) => ({
|
|
46
|
+
ref: formatLocator({ ...at, message: one.id }),
|
|
47
|
+
timestamp: one.timestamp,
|
|
48
|
+
sender_name: one.senderName,
|
|
49
|
+
text: one.text,
|
|
50
|
+
})),
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
const accountName = ({ provider, account }) => `${provider}:${account}`;
|
|
54
|
+
const metaOf = (accounts, skipped = []) => ({
|
|
55
|
+
accounts: accounts.map(accountName),
|
|
56
|
+
...(skipped.length
|
|
57
|
+
? { skipped: skipped.map(({ source, resource, reason }) => ({ account: source ?? resource ?? "", why: reason })) }
|
|
58
|
+
: {}),
|
|
59
|
+
});
|
|
60
|
+
/** What the archive lacked for this answer, and the step that would fill it. */
|
|
61
|
+
export const coverageGaps = (found, shown) => {
|
|
62
|
+
const coverage = found.coverage;
|
|
63
|
+
const stale = found.refreshed?.complete === false;
|
|
64
|
+
if (!coverage?.next && !stale)
|
|
65
|
+
return { next: [], missing: [] };
|
|
66
|
+
return {
|
|
67
|
+
next: [
|
|
68
|
+
nextStep("messages.sync", {
|
|
69
|
+
args: coverage?.chat === undefined ? { all: true, background: true } : { chat: coverage.chat },
|
|
70
|
+
}),
|
|
71
|
+
],
|
|
72
|
+
missing: [
|
|
73
|
+
{
|
|
74
|
+
field: "coverage",
|
|
75
|
+
why: stale
|
|
76
|
+
? "the fetch before searching stopped early, so the answer may be stale"
|
|
77
|
+
: ((coverage && archiveSummary(coverage, shown)) ?? "the local copy may be missing messages"),
|
|
78
|
+
step: "messages.sync",
|
|
79
|
+
},
|
|
80
|
+
],
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
const gapsOf = (found) => {
|
|
84
|
+
const { next, missing } = coverageGaps(found, found.items.length);
|
|
85
|
+
const building = !found.wordsReady || (found.query?.stemming?.applied === false && found.query.stemming.reason === "building");
|
|
86
|
+
if (building) {
|
|
87
|
+
next.push(nextStep("store.migrate", { args: {} }));
|
|
88
|
+
missing.push({
|
|
89
|
+
field: "text",
|
|
90
|
+
why: found.wordsReady
|
|
91
|
+
? "other forms of words are not searched while their index is built"
|
|
92
|
+
: "the word index is still being built, so words were matched by pieces",
|
|
93
|
+
step: "store.migrate",
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
if (found.picturesModel !== undefined) {
|
|
97
|
+
next.push(nextStep("models.download-image", { args: { model: found.picturesModel } }));
|
|
98
|
+
missing.push({
|
|
99
|
+
field: "pictures",
|
|
100
|
+
why: "the picture model is not downloaded, so pictures were not searched by what they show",
|
|
101
|
+
step: "models.download-image",
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
return { next, missing };
|
|
105
|
+
};
|
|
106
|
+
/** The picture lane's hits, after the text hits and not among them. */
|
|
107
|
+
const pictureItems = (found) => {
|
|
108
|
+
const shown = new Set(found.items.map(({ locator }) => locator));
|
|
109
|
+
return (found.pictures ?? [])
|
|
110
|
+
.filter(({ locator }) => !shown.has(locator))
|
|
111
|
+
.map(({ locator, timestamp, senderName, score }) => ({
|
|
112
|
+
ref: locator,
|
|
113
|
+
timestamp,
|
|
114
|
+
sender_name: senderName,
|
|
115
|
+
matched_in: "picture",
|
|
116
|
+
score,
|
|
117
|
+
}));
|
|
118
|
+
};
|
|
119
|
+
/** `search messages` and `search mail`, CLI and MCP alike. */
|
|
120
|
+
export const messagesAnswer = (command, found, { limit, page, again }, query = "") => {
|
|
121
|
+
const accounts = found.coverage?.accounts ?? found.accounts ?? [];
|
|
122
|
+
return listOf(command, {
|
|
123
|
+
items: [...found.items.map((hit) => messageHitItem(hit, query)), ...pictureItems(found)],
|
|
124
|
+
limit,
|
|
125
|
+
has_more: found.hasMore && (page ?? 1) * limit <= MAX_SEARCH_OFFSET,
|
|
126
|
+
page: page ?? 1,
|
|
127
|
+
...(again ? { args: again } : {}),
|
|
128
|
+
...gapsOf(found),
|
|
129
|
+
meta: metaOf(accounts, found.skipped),
|
|
130
|
+
});
|
|
131
|
+
};
|
|
132
|
+
export const noteHitItem = (hit) => defined({
|
|
133
|
+
ref: hit.ref,
|
|
134
|
+
source: hit.source,
|
|
135
|
+
folder_id: hit.folderId,
|
|
136
|
+
path: hit.path,
|
|
137
|
+
title: hit.title,
|
|
138
|
+
updated_at: hit.modifiedAt,
|
|
139
|
+
excerpt: hit.line,
|
|
140
|
+
found_by: hit.foundBy,
|
|
141
|
+
links: hit.links.map(({ to, targetText, kind, anchor }) => ({ to, target_text: targetText, kind, anchor })),
|
|
142
|
+
});
|
|
143
|
+
export const allHitItem = (item) => item.kind === "meeting"
|
|
144
|
+
? {
|
|
145
|
+
kind: "meeting",
|
|
146
|
+
ref: item.ref,
|
|
147
|
+
provider: item.provider,
|
|
148
|
+
account: item.account,
|
|
149
|
+
title: item.title,
|
|
150
|
+
timestamp: item.timestamp,
|
|
151
|
+
excerpt: item.text,
|
|
152
|
+
offset_ms: item.startMs,
|
|
153
|
+
}
|
|
154
|
+
: defined({
|
|
155
|
+
kind: item.kind,
|
|
156
|
+
ref: item.ref,
|
|
157
|
+
provider: item.provider,
|
|
158
|
+
account: item.account,
|
|
159
|
+
title: item.title,
|
|
160
|
+
timestamp: item.timestamp,
|
|
161
|
+
excerpt: item.text,
|
|
162
|
+
sender_name: item.from?.name,
|
|
163
|
+
sender_ref: item.from?.ref,
|
|
164
|
+
found_by: item.foundBy,
|
|
165
|
+
});
|
|
166
|
+
/** Meaning was not searched because the model is not downloaded; `--exact` leaving it out is no gap. */
|
|
167
|
+
const meaningGap = (skipped, exact) => skipped === undefined || exact
|
|
168
|
+
? { next: [], missing: [] }
|
|
169
|
+
: {
|
|
170
|
+
next: [nextStep("models.download", { args: { model: DEFAULT_TEXT_MODEL } })],
|
|
171
|
+
missing: [{ field: "found_by", why: skipped, step: "models.download" }],
|
|
172
|
+
};
|
|
173
|
+
/** `search notes`, CLI and MCP alike. */
|
|
174
|
+
export const notesAnswer = (command, found, { limit, page, again }, exact = false) => listOf(command, {
|
|
175
|
+
items: found.hits.map(noteHitItem),
|
|
176
|
+
limit,
|
|
177
|
+
has_more: found.hasMore && found.nextOffset !== undefined,
|
|
178
|
+
page: page ?? 1,
|
|
179
|
+
...(again ? { args: again } : {}),
|
|
180
|
+
...meaningGap(found.meaningSkipped, exact),
|
|
181
|
+
meta: metaOf(found.accounts, found.skipped.map(({ source, reason }) => ({ source, reason }))),
|
|
182
|
+
});
|
|
183
|
+
/** `search all`, CLI and MCP alike. A bounded meeting scan that could not tell whether more match says so. */
|
|
184
|
+
export const allAnswer = (command, found, { limit, page, again }, exact = false) => {
|
|
185
|
+
const scan = found.meetings?.complete === false ? found.meetings : undefined;
|
|
186
|
+
const notes = meaningGap(found.notes?.meaningSkipped, exact);
|
|
187
|
+
return listOf(command, {
|
|
188
|
+
items: found.items.map(allHitItem),
|
|
189
|
+
limit,
|
|
190
|
+
has_more: found.hasMore === true && found.nextOffset !== undefined,
|
|
191
|
+
page: page ?? 1,
|
|
192
|
+
...(again ? { args: again } : {}),
|
|
193
|
+
next: [
|
|
194
|
+
...(scan
|
|
195
|
+
? [
|
|
196
|
+
nextStep("search.meetings", {
|
|
197
|
+
command,
|
|
198
|
+
args: { ...again, max_meetings: "all" },
|
|
199
|
+
values: { scanned: scan.meetingsScanned },
|
|
200
|
+
}),
|
|
201
|
+
]
|
|
202
|
+
: []),
|
|
203
|
+
...notes.next,
|
|
204
|
+
],
|
|
205
|
+
missing: [
|
|
206
|
+
...(scan
|
|
207
|
+
? [
|
|
208
|
+
{
|
|
209
|
+
field: "items",
|
|
210
|
+
why: `stopped after ${scan.meetingsScanned} meetings; more may match`,
|
|
211
|
+
step: "search.meetings",
|
|
212
|
+
},
|
|
213
|
+
]
|
|
214
|
+
: []),
|
|
215
|
+
...notes.missing,
|
|
216
|
+
],
|
|
217
|
+
meta: metaOf(found.accounts, found.skipped),
|
|
218
|
+
});
|
|
219
|
+
};
|
|
220
|
+
//# sourceMappingURL=search-answers.js.map
|