@wirecat/cli-core 0.279.0 → 0.281.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/background/schedules.d.ts +1 -1
- package/dist/background/schedules.d.ts.map +1 -1
- package/dist/background/schedules.js +3 -1
- package/dist/background/schedules.js.map +1 -1
- package/dist/cli/app.d.ts +2 -0
- package/dist/cli/app.d.ts.map +1 -1
- package/dist/cli/app.js +6 -0
- package/dist/cli/app.js.map +1 -1
- package/dist/cli/author.d.ts +6 -0
- package/dist/cli/author.d.ts.map +1 -1
- package/dist/cli/author.js +12 -0
- package/dist/cli/author.js.map +1 -1
- package/dist/cli/bot/command.js +6 -6
- package/dist/cli/bot/command.js.map +1 -1
- package/dist/cli/bot/moderation.js +3 -3
- package/dist/cli/bot/moderation.js.map +1 -1
- package/dist/cli/bot/people.d.ts.map +1 -1
- package/dist/cli/bot/people.js +6 -8
- package/dist/cli/bot/people.js.map +1 -1
- package/dist/cli/config-command.d.ts.map +1 -1
- package/dist/cli/config-command.js +10 -6
- package/dist/cli/config-command.js.map +1 -1
- package/dist/cli/effects.d.ts +7 -0
- package/dist/cli/effects.d.ts.map +1 -1
- package/dist/cli/effects.js +11 -0
- package/dist/cli/effects.js.map +1 -1
- package/dist/cli/envelope.d.ts +6 -1
- package/dist/cli/envelope.d.ts.map +1 -1
- package/dist/cli/envelope.js +22 -8
- package/dist/cli/envelope.js.map +1 -1
- package/dist/cli/index.d.ts +5 -4
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +5 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/meeting-preparation-command.d.ts.map +1 -1
- package/dist/cli/meeting-preparation-command.js +13 -8
- package/dist/cli/meeting-preparation-command.js.map +1 -1
- package/dist/cli/messenger/admin-moderation-command.js +3 -3
- package/dist/cli/messenger/admin-moderation-command.js.map +1 -1
- package/dist/cli/messenger/conversations-command.d.ts.map +1 -1
- package/dist/cli/messenger/conversations-command.js +0 -3
- package/dist/cli/messenger/conversations-command.js.map +1 -1
- package/dist/cli/messenger/download-command.d.ts +15 -0
- package/dist/cli/messenger/download-command.d.ts.map +1 -1
- package/dist/cli/messenger/download-command.js +4 -6
- package/dist/cli/messenger/download-command.js.map +1 -1
- package/dist/cli/messenger/export-folder.d.ts.map +1 -1
- package/dist/cli/messenger/export-folder.js +3 -7
- package/dist/cli/messenger/export-folder.js.map +1 -1
- package/dist/cli/messenger/flood-command.js +2 -2
- package/dist/cli/messenger/flood-command.js.map +1 -1
- package/dist/cli/messenger/guard-commands.js +4 -4
- package/dist/cli/messenger/guard-commands.js.map +1 -1
- package/dist/cli/messenger/mcp-command.js +2 -2
- package/dist/cli/messenger/mcp-command.js.map +1 -1
- package/dist/cli/messenger/messages-search-command.d.ts +0 -1
- package/dist/cli/messenger/messages-search-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-search-command.js +6 -31
- package/dist/cli/messenger/messages-search-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 +0 -4
- package/dist/cli/messenger/messages-stats-command.js.map +1 -1
- package/dist/cli/messenger/models-command.js +3 -3
- package/dist/cli/messenger/models-command.js.map +1 -1
- package/dist/cli/messenger/rankings-command.d.ts.map +1 -1
- package/dist/cli/messenger/rankings-command.js +2 -3
- package/dist/cli/messenger/rankings-command.js.map +1 -1
- package/dist/cli/messenger/replies-command.js +3 -3
- package/dist/cli/messenger/replies-command.js.map +1 -1
- package/dist/cli/messenger/replies-consents-command.js +3 -3
- package/dist/cli/messenger/replies-consents-command.js.map +1 -1
- package/dist/cli/messenger/replies-edit-command.js +5 -5
- package/dist/cli/messenger/replies-edit-command.js.map +1 -1
- package/dist/cli/messenger/schedule-command.d.ts.map +1 -1
- package/dist/cli/messenger/schedule-command.js +8 -4
- package/dist/cli/messenger/schedule-command.js.map +1 -1
- package/dist/cli/messenger/search-answers.js +1 -1
- package/dist/cli/messenger/search-answers.js.map +1 -1
- package/dist/cli/messenger/searches-command.d.ts.map +1 -1
- package/dist/cli/messenger/searches-command.js +1 -4
- package/dist/cli/messenger/searches-command.js.map +1 -1
- package/dist/cli/messenger/server-command.js +3 -3
- package/dist/cli/messenger/server-command.js.map +1 -1
- package/dist/cli/messenger/tags-command.d.ts.map +1 -1
- package/dist/cli/messenger/tags-command.js +10 -7
- 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 +56 -10
- package/dist/cli/messenger/tasks-command.js.map +1 -1
- package/dist/cli/program.d.ts.map +1 -1
- package/dist/cli/program.js +6 -2
- package/dist/cli/program.js.map +1 -1
- package/dist/cli/reasons.d.ts.map +1 -1
- package/dist/cli/reasons.js +2 -0
- package/dist/cli/reasons.js.map +1 -1
- package/dist/cli/settings.d.ts.map +1 -1
- package/dist/cli/settings.js +2 -3
- package/dist/cli/settings.js.map +1 -1
- package/dist/cli/skill-command.d.ts.map +1 -1
- package/dist/cli/skill-command.js +8 -3
- package/dist/cli/skill-command.js.map +1 -1
- package/dist/cli/store-settings.js +4 -4
- package/dist/cli/store-settings.js.map +1 -1
- package/dist/cli/upgrade-command.js +2 -2
- package/dist/cli/upgrade-command.js.map +1 -1
- package/dist/domain/tags.d.ts +1 -1
- package/dist/domain/tags.d.ts.map +1 -1
- package/dist/domain/tags.js +1 -1
- package/dist/domain/tags.js.map +1 -1
- package/dist/entities/agenda.d.ts +4 -0
- package/dist/entities/agenda.d.ts.map +1 -1
- package/dist/entities/agenda.js +4 -0
- package/dist/entities/agenda.js.map +1 -1
- package/dist/entities/hit.d.ts +1 -1
- package/dist/entities/hit.js +1 -1
- package/dist/entities/hit.js.map +1 -1
- package/dist/entities/index.d.ts +55 -15
- package/dist/entities/index.d.ts.map +1 -1
- package/dist/entities/note.d.ts +17 -1
- package/dist/entities/note.d.ts.map +1 -1
- package/dist/entities/note.js +19 -8
- package/dist/entities/note.js.map +1 -1
- package/dist/entities/tagging.d.ts +1 -1
- package/dist/entities/task.d.ts +7 -0
- package/dist/entities/task.d.ts.map +1 -1
- package/dist/entities/task.js +7 -0
- package/dist/entities/task.js.map +1 -1
- package/dist/mcp/tools/messages-send.d.ts.map +1 -1
- package/dist/mcp/tools/messages-send.js +3 -2
- package/dist/mcp/tools/messages-send.js.map +1 -1
- package/dist/mcp/tools/rankings.d.ts.map +1 -1
- package/dist/mcp/tools/rankings.js +2 -3
- package/dist/mcp/tools/rankings.js.map +1 -1
- package/dist/mcp/tools/search.d.ts +2 -3
- package/dist/mcp/tools/search.d.ts.map +1 -1
- package/dist/mcp/tools/search.js +4 -11
- 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 +1 -3
- package/dist/mcp/tools/searches.js.map +1 -1
- package/dist/mcp/tools/tags.d.ts.map +1 -1
- package/dist/mcp/tools/tags.js +9 -7
- 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 +19 -6
- package/dist/mcp/tools/tasks.js.map +1 -1
- package/dist/search/account-list.d.ts +3 -1
- package/dist/search/account-list.d.ts.map +1 -1
- package/dist/search/account-list.js +4 -2
- package/dist/search/account-list.js.map +1 -1
- package/dist/search/lucene/registry.d.ts +1 -1
- package/dist/search/lucene/registry.d.ts.map +1 -1
- package/dist/search/lucene/registry.js +2 -2
- package/dist/search/lucene/registry.js.map +1 -1
- package/dist/search/query.d.ts +0 -28
- package/dist/search/query.d.ts.map +1 -1
- package/dist/search/query.js +0 -100
- package/dist/search/query.js.map +1 -1
- package/dist/search/task-signature.d.ts +19 -0
- package/dist/search/task-signature.d.ts.map +1 -0
- package/dist/search/task-signature.js +105 -0
- package/dist/search/task-signature.js.map +1 -0
- package/dist/search/task-similarity.d.ts +168 -0
- package/dist/search/task-similarity.d.ts.map +1 -0
- package/dist/search/task-similarity.js +177 -0
- package/dist/search/task-similarity.js.map +1 -0
- package/dist/sends/index.d.ts +1 -1
- package/dist/sends/index.d.ts.map +1 -1
- package/dist/sends/index.js +1 -1
- package/dist/sends/index.js.map +1 -1
- package/dist/sends/permissions.d.ts.map +1 -1
- package/dist/sends/permissions.js +2 -0
- package/dist/sends/permissions.js.map +1 -1
- package/dist/sends/upload.d.ts +1 -1
- package/dist/sends/upload.d.ts.map +1 -1
- package/dist/sends/upload.js +87 -15
- package/dist/sends/upload.js.map +1 -1
- package/dist/services/admin-statistics.d.ts.map +1 -1
- package/dist/services/admin-statistics.js +5 -12
- package/dist/services/admin-statistics.js.map +1 -1
- package/dist/services/agenda.d.ts +5 -1
- package/dist/services/agenda.d.ts.map +1 -1
- package/dist/services/agenda.js +8 -1
- package/dist/services/agenda.js.map +1 -1
- package/dist/services/attachments.d.ts.map +1 -1
- package/dist/services/attachments.js +1 -1
- package/dist/services/attachments.js.map +1 -1
- package/dist/services/counters.d.ts.map +1 -1
- package/dist/services/counters.js +4 -8
- package/dist/services/counters.js.map +1 -1
- package/dist/services/embeddings-maintenance.d.ts +4 -6
- package/dist/services/embeddings-maintenance.d.ts.map +1 -1
- package/dist/services/embeddings-maintenance.js +14 -15
- package/dist/services/embeddings-maintenance.js.map +1 -1
- package/dist/services/embeddings-search.d.ts.map +1 -1
- package/dist/services/embeddings-search.js +1 -6
- package/dist/services/embeddings-search.js.map +1 -1
- package/dist/services/embeddings.d.ts +0 -2
- package/dist/services/embeddings.d.ts.map +1 -1
- package/dist/services/embeddings.js.map +1 -1
- package/dist/services/index.d.ts +0 -1
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +0 -1
- package/dist/services/index.js.map +1 -1
- package/dist/services/message-resolution.d.ts +1 -10
- package/dist/services/message-resolution.d.ts.map +1 -1
- package/dist/services/message-resolution.js +0 -59
- package/dist/services/message-resolution.js.map +1 -1
- package/dist/services/messages-archive-search.d.ts +1 -1
- package/dist/services/messages-archive-search.d.ts.map +1 -1
- package/dist/services/messages-archive-search.js +4 -50
- package/dist/services/messages-archive-search.js.map +1 -1
- package/dist/services/messages-combined.d.ts.map +1 -1
- package/dist/services/messages-combined.js +1 -5
- package/dist/services/messages-combined.js.map +1 -1
- package/dist/services/messages-discovery.js +1 -1
- package/dist/services/messages-discovery.js.map +1 -1
- package/dist/services/messages-search.d.ts.map +1 -1
- package/dist/services/messages-search.js +2 -6
- package/dist/services/messages-search.js.map +1 -1
- package/dist/services/messages.d.ts +2 -6
- package/dist/services/messages.d.ts.map +1 -1
- package/dist/services/messages.js +8 -20
- package/dist/services/messages.js.map +1 -1
- package/dist/services/notes-search.d.ts +1 -1
- package/dist/services/notes-search.d.ts.map +1 -1
- package/dist/services/notes-search.js +24 -8
- package/dist/services/notes-search.js.map +1 -1
- package/dist/services/notes-title-tier.d.ts +13 -0
- package/dist/services/notes-title-tier.d.ts.map +1 -0
- package/dist/services/notes-title-tier.js +41 -0
- package/dist/services/notes-title-tier.js.map +1 -0
- package/dist/services/pictures.js +1 -1
- package/dist/services/pictures.js.map +1 -1
- package/dist/services/rankings.d.ts.map +1 -1
- package/dist/services/rankings.js +5 -11
- package/dist/services/rankings.js.map +1 -1
- package/dist/services/retention.d.ts.map +1 -1
- package/dist/services/retention.js +1 -4
- package/dist/services/retention.js.map +1 -1
- package/dist/services/search-all.d.ts +1 -1
- package/dist/services/search-all.d.ts.map +1 -1
- package/dist/services/search-all.js +0 -1
- package/dist/services/search-all.js.map +1 -1
- package/dist/services/search-catchup.d.ts.map +1 -1
- package/dist/services/search-catchup.js +0 -1
- package/dist/services/search-catchup.js.map +1 -1
- package/dist/services/search-record.d.ts +0 -4
- package/dist/services/search-record.d.ts.map +1 -1
- package/dist/services/search-record.js +2 -3
- package/dist/services/search-record.js.map +1 -1
- package/dist/services/search-refresh.d.ts.map +1 -1
- package/dist/services/search-refresh.js +3 -9
- package/dist/services/search-refresh.js.map +1 -1
- package/dist/services/searches.d.ts +0 -1
- package/dist/services/searches.d.ts.map +1 -1
- package/dist/services/searches.js +13 -35
- package/dist/services/searches.js.map +1 -1
- package/dist/services/server-search.d.ts +1 -1
- package/dist/services/server-search.d.ts.map +1 -1
- package/dist/services/server-search.js +0 -3
- package/dist/services/server-search.js.map +1 -1
- package/dist/services/tags.d.ts +3 -0
- package/dist/services/tags.d.ts.map +1 -1
- package/dist/services/tags.js +13 -5
- package/dist/services/tags.js.map +1 -1
- package/dist/services/task-categories.d.ts +17 -0
- package/dist/services/task-categories.d.ts.map +1 -0
- package/dist/services/task-categories.js +113 -0
- package/dist/services/task-categories.js.map +1 -0
- package/dist/services/task-rules.d.ts.map +1 -1
- package/dist/services/task-rules.js +3 -0
- package/dist/services/task-rules.js.map +1 -1
- package/dist/services/tasks.d.ts +14 -3
- package/dist/services/tasks.d.ts.map +1 -1
- package/dist/services/tasks.js +58 -6
- package/dist/services/tasks.js.map +1 -1
- package/dist/services/thread-context.d.ts +1 -1
- package/dist/services/thread-context.d.ts.map +1 -1
- package/dist/services/thread-context.js +3 -9
- package/dist/services/thread-context.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/migrations.d.ts +2 -1
- package/dist/store/migrations.d.ts.map +1 -1
- package/dist/store/migrations.js +5 -2
- package/dist/store/migrations.js.map +1 -1
- package/dist/store/sqlite/attachment-texts.js +2 -2
- package/dist/store/sqlite/attachment-texts.js.map +1 -1
- package/dist/store/sqlite/backfill.d.ts.map +1 -1
- package/dist/store/sqlite/backfill.js +6 -11
- package/dist/store/sqlite/backfill.js.map +1 -1
- package/dist/store/sqlite/catalog.d.ts.map +1 -1
- package/dist/store/sqlite/catalog.js +3 -3
- package/dist/store/sqlite/catalog.js.map +1 -1
- package/dist/store/sqlite/conversations.d.ts.map +1 -1
- package/dist/store/sqlite/conversations.js +3 -8
- package/dist/store/sqlite/conversations.js.map +1 -1
- package/dist/store/sqlite/document-pictures.d.ts.map +1 -1
- package/dist/store/sqlite/document-pictures.js +3 -3
- package/dist/store/sqlite/document-pictures.js.map +1 -1
- package/dist/store/sqlite/email-index.js +4 -4
- package/dist/store/sqlite/email-index.js.map +1 -1
- package/dist/store/sqlite/emails.js +5 -5
- package/dist/store/sqlite/emails.js.map +1 -1
- package/dist/store/sqlite/facts.d.ts.map +1 -1
- package/dist/store/sqlite/facts.js +3 -3
- package/dist/store/sqlite/facts.js.map +1 -1
- package/dist/store/sqlite/folded.d.ts.map +1 -1
- package/dist/store/sqlite/folded.js +7 -12
- package/dist/store/sqlite/folded.js.map +1 -1
- package/dist/store/sqlite/index-state.d.ts +4 -0
- package/dist/store/sqlite/index-state.d.ts.map +1 -0
- package/dist/store/sqlite/index-state.js +8 -0
- package/dist/store/sqlite/index-state.js.map +1 -0
- package/dist/store/sqlite/involvement-queue.d.ts +1 -1
- package/dist/store/sqlite/involvement-queue.js +1 -1
- package/dist/store/sqlite/involvements.js +3 -3
- package/dist/store/sqlite/involvements.js.map +1 -1
- package/dist/store/sqlite/knowledge.d.ts.map +1 -1
- package/dist/store/sqlite/knowledge.js +15 -10
- package/dist/store/sqlite/knowledge.js.map +1 -1
- package/dist/store/sqlite/log-pruning.d.ts.map +1 -1
- package/dist/store/sqlite/log-pruning.js +3 -8
- package/dist/store/sqlite/log-pruning.js.map +1 -1
- package/dist/store/sqlite/lucene.d.ts.map +1 -1
- package/dist/store/sqlite/lucene.js +3 -8
- package/dist/store/sqlite/lucene.js.map +1 -1
- package/dist/store/sqlite/mail-rules.js +3 -3
- package/dist/store/sqlite/mail-rules.js.map +1 -1
- package/dist/store/sqlite/manifest.d.ts.map +1 -1
- package/dist/store/sqlite/manifest.js +1 -0
- package/dist/store/sqlite/manifest.js.map +1 -1
- package/dist/store/sqlite/meeting-context-links.d.ts.map +1 -1
- package/dist/store/sqlite/meeting-context-links.js +8 -7
- package/dist/store/sqlite/meeting-context-links.js.map +1 -1
- package/dist/store/sqlite/meeting-hit-index.d.ts.map +1 -1
- package/dist/store/sqlite/meeting-hit-index.js +4 -3
- package/dist/store/sqlite/meeting-hit-index.js.map +1 -1
- package/dist/store/sqlite/meeting-hit-search.d.ts.map +1 -1
- package/dist/store/sqlite/meeting-hit-search.js +3 -2
- package/dist/store/sqlite/meeting-hit-search.js.map +1 -1
- package/dist/store/sqlite/meeting-operation.d.ts +0 -2
- package/dist/store/sqlite/meeting-operation.d.ts.map +1 -1
- package/dist/store/sqlite/meeting-operation.js +0 -15
- package/dist/store/sqlite/meeting-operation.js.map +1 -1
- package/dist/store/sqlite/meeting-participant-search.d.ts.map +1 -1
- package/dist/store/sqlite/meeting-participant-search.js +2 -2
- package/dist/store/sqlite/meeting-participant-search.js.map +1 -1
- package/dist/store/sqlite/meeting-preparation-context.d.ts.map +1 -1
- package/dist/store/sqlite/meeting-preparation-context.js +2 -2
- package/dist/store/sqlite/meeting-preparation-context.js.map +1 -1
- package/dist/store/sqlite/meeting-projects.d.ts.map +1 -1
- package/dist/store/sqlite/meeting-projects.js +2 -2
- package/dist/store/sqlite/meeting-projects.js.map +1 -1
- package/dist/store/sqlite/meeting-reads.d.ts +0 -3
- package/dist/store/sqlite/meeting-reads.d.ts.map +1 -1
- package/dist/store/sqlite/meeting-reads.js +6 -18
- package/dist/store/sqlite/meeting-reads.js.map +1 -1
- package/dist/store/sqlite/meeting-series-history.d.ts.map +1 -1
- package/dist/store/sqlite/meeting-series-history.js +2 -2
- package/dist/store/sqlite/meeting-series-history.js.map +1 -1
- package/dist/store/sqlite/meeting-vectors.d.ts.map +1 -1
- package/dist/store/sqlite/meeting-vectors.js +6 -6
- package/dist/store/sqlite/meeting-vectors.js.map +1 -1
- package/dist/store/sqlite/meetings.d.ts.map +1 -1
- package/dist/store/sqlite/meetings.js +6 -6
- package/dist/store/sqlite/meetings.js.map +1 -1
- package/dist/store/sqlite/memories.d.ts.map +1 -1
- package/dist/store/sqlite/memories.js +2 -2
- package/dist/store/sqlite/memories.js.map +1 -1
- package/dist/store/sqlite/mention-drain.d.ts +39 -0
- package/dist/store/sqlite/mention-drain.d.ts.map +1 -0
- package/dist/store/sqlite/mention-drain.js +147 -0
- package/dist/store/sqlite/mention-drain.js.map +1 -0
- package/dist/store/sqlite/mentions.d.ts +0 -4
- package/dist/store/sqlite/mentions.d.ts.map +1 -1
- package/dist/store/sqlite/mentions.js +7 -154
- package/dist/store/sqlite/mentions.js.map +1 -1
- package/dist/store/sqlite/migrations.generated.d.ts.map +1 -1
- package/dist/store/sqlite/migrations.generated.js +9 -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 +5 -4
- package/dist/store/sqlite/note-index.js.map +1 -1
- package/dist/store/sqlite/note-search.d.ts.map +1 -1
- package/dist/store/sqlite/note-search.js +3 -6
- package/dist/store/sqlite/note-search.js.map +1 -1
- package/dist/store/sqlite/notes.d.ts.map +1 -1
- package/dist/store/sqlite/notes.js +13 -14
- package/dist/store/sqlite/notes.js.map +1 -1
- package/dist/store/sqlite/proposed-actions.d.ts.map +1 -1
- package/dist/store/sqlite/proposed-actions.js +3 -3
- package/dist/store/sqlite/proposed-actions.js.map +1 -1
- package/dist/store/sqlite/schema.d.ts +87 -0
- package/dist/store/sqlite/schema.d.ts.map +1 -1
- package/dist/store/sqlite/schema.js +7 -0
- package/dist/store/sqlite/schema.js.map +1 -1
- package/dist/store/sqlite/search-index.d.ts +0 -3
- package/dist/store/sqlite/search-index.d.ts.map +1 -1
- package/dist/store/sqlite/search-index.js +10 -29
- package/dist/store/sqlite/search-index.js.map +1 -1
- package/dist/store/sqlite/search.d.ts +1 -1
- package/dist/store/sqlite/search.d.ts.map +1 -1
- package/dist/store/sqlite/search.js +4 -8
- package/dist/store/sqlite/search.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/stems-fill.d.ts +30 -0
- package/dist/store/sqlite/stems-fill.d.ts.map +1 -0
- package/dist/store/sqlite/stems-fill.js +119 -0
- package/dist/store/sqlite/stems-fill.js.map +1 -0
- package/dist/store/sqlite/stems.d.ts +14 -28
- package/dist/store/sqlite/stems.d.ts.map +1 -1
- package/dist/store/sqlite/stems.js +8 -123
- package/dist/store/sqlite/stems.js.map +1 -1
- package/dist/store/sqlite/tags.d.ts +10 -2
- package/dist/store/sqlite/tags.d.ts.map +1 -1
- package/dist/store/sqlite/tags.js +25 -7
- package/dist/store/sqlite/tags.js.map +1 -1
- package/dist/store/sqlite/task-keys.d.ts +16 -0
- package/dist/store/sqlite/task-keys.d.ts.map +1 -0
- package/dist/store/sqlite/task-keys.js +40 -0
- package/dist/store/sqlite/task-keys.js.map +1 -0
- package/dist/store/sqlite/task-relations.d.ts +1 -1
- package/dist/store/sqlite/task-relations.d.ts.map +1 -1
- package/dist/store/sqlite/task-relations.js +14 -9
- package/dist/store/sqlite/task-relations.js.map +1 -1
- package/dist/store/sqlite/tasks.d.ts +1 -7
- package/dist/store/sqlite/tasks.d.ts.map +1 -1
- package/dist/store/sqlite/tasks.js +23 -28
- package/dist/store/sqlite/tasks.js.map +1 -1
- package/dist/store/sqlite/transaction.d.ts +19 -0
- package/dist/store/sqlite/transaction.d.ts.map +1 -0
- package/dist/store/sqlite/transaction.js +77 -0
- package/dist/store/sqlite/transaction.js.map +1 -0
- package/dist/store/sqlite/vocabulary.d.ts.map +1 -1
- package/dist/store/sqlite/vocabulary.js +6 -18
- package/dist/store/sqlite/vocabulary.js.map +1 -1
- package/dist/store/sqlite/words.d.ts +1 -61
- package/dist/store/sqlite/words.d.ts.map +1 -1
- package/dist/store/sqlite/words.js +0 -225
- package/dist/store/sqlite/words.js.map +1 -1
- package/dist/store/sqlite/work-tasks.d.ts +15 -1
- package/dist/store/sqlite/work-tasks.d.ts.map +1 -1
- package/dist/store/sqlite/work-tasks.js +49 -5
- package/dist/store/sqlite/work-tasks.js.map +1 -1
- package/dist/store/store.d.ts +21 -41
- package/dist/store/store.d.ts.map +1 -1
- package/dist/store/store.js +52 -117
- package/dist/store/store.js.map +1 -1
- package/dist/tasks/model.d.ts +7 -0
- package/dist/tasks/model.d.ts.map +1 -1
- package/dist/tasks/model.js +2 -1
- package/dist/tasks/model.js.map +1 -1
- package/dist/tasks/service.d.ts +1 -0
- package/dist/tasks/service.d.ts.map +1 -1
- package/dist/tasks/service.js.map +1 -1
- package/package.json +1 -1
- package/parity.json +51 -23
- package/skills/follow-ups/SKILL.md +4 -2
- package/dist/embeddings/pool.d.ts +0 -17
- package/dist/embeddings/pool.d.ts.map +0 -1
- package/dist/embeddings/pool.js +0 -22
- package/dist/embeddings/pool.js.map +0 -1
- package/dist/embeddings/worker.d.ts +0 -2
- package/dist/embeddings/worker.d.ts.map +0 -1
- package/dist/embeddings/worker.js +0 -22
- package/dist/embeddings/worker.js.map +0 -1
- package/dist/embeddings/workers.d.ts +0 -8
- package/dist/embeddings/workers.d.ts.map +0 -1
- package/dist/embeddings/workers.js +0 -51
- package/dist/embeddings/workers.js.map +0 -1
- package/dist/search/legacy-regex.d.ts +0 -7
- package/dist/search/legacy-regex.d.ts.map +0 -1
- package/dist/search/legacy-regex.js +0 -48
- package/dist/search/legacy-regex.js.map +0 -1
- package/dist/search/lucene/migration.d.ts +0 -21
- package/dist/search/lucene/migration.d.ts.map +0 -1
- package/dist/search/lucene/migration.js +0 -31
- package/dist/search/lucene/migration.js.map +0 -1
- package/dist/search/search.d.ts +0 -27
- package/dist/search/search.d.ts.map +0 -1
- package/dist/search/search.js +0 -66
- package/dist/search/search.js.map +0 -1
- package/dist/services/message-query-validation.d.ts +0 -3
- package/dist/services/message-query-validation.d.ts.map +0 -1
- package/dist/services/message-query-validation.js +0 -14
- package/dist/services/message-query-validation.js.map +0 -1
- package/dist/store/sqlite/atomic.d.ts +0 -8
- package/dist/store/sqlite/atomic.d.ts.map +0 -1
- package/dist/store/sqlite/atomic.js +0 -28
- package/dist/store/sqlite/atomic.js.map +0 -1
- package/dist/store/sqlite/legacy-regex.d.ts +0 -7
- package/dist/store/sqlite/legacy-regex.d.ts.map +0 -1
- package/dist/store/sqlite/legacy-regex.js +0 -42
- package/dist/store/sqlite/legacy-regex.js.map +0 -1
- package/dist/store/sqlite/read-snapshot.d.ts +0 -4
- package/dist/store/sqlite/read-snapshot.d.ts.map +0 -1
- package/dist/store/sqlite/read-snapshot.js +0 -14
- package/dist/store/sqlite/read-snapshot.js.map +0 -1
package/dist/store/store.js
CHANGED
|
@@ -30,16 +30,14 @@ import { factsStoreOver } from "./sqlite/facts.js";
|
|
|
30
30
|
import { fillFolded } from "./sqlite/folded.js";
|
|
31
31
|
import * as identities from "./sqlite/identities.js";
|
|
32
32
|
import * as imageChunks from "./sqlite/image-chunks.js";
|
|
33
|
-
import { drainInvolvementQueue } from "./sqlite/involvement-queue.js";
|
|
34
33
|
import { involvementStoreOver } from "./sqlite/involvements.js";
|
|
35
34
|
import { knowledgeStoreOver } from "./sqlite/knowledge.js";
|
|
36
|
-
import { findRegex } from "./sqlite/legacy-regex.js";
|
|
37
35
|
import { logPruner } from "./sqlite/log-pruning.js";
|
|
38
36
|
import * as lucene from "./sqlite/lucene.js";
|
|
39
37
|
import { meetingVectorsOver } from "./sqlite/meeting-vectors.js";
|
|
40
38
|
import { meetingStoreOver } from "./sqlite/meetings.js";
|
|
41
39
|
import { memoriesStoreOver } from "./sqlite/memories.js";
|
|
42
|
-
import { confirmMention,
|
|
40
|
+
import { confirmMention, listMentions, mentionsState, rebuildMentions, rejectMention, showMention, } from "./sqlite/mentions.js";
|
|
43
41
|
import * as messageWrites from "./sqlite/messages.js";
|
|
44
42
|
import { noteSearchOver } from "./sqlite/note-search.js";
|
|
45
43
|
import { notesStoreOver } from "./sqlite/notes.js";
|
|
@@ -58,9 +56,11 @@ import * as search from "./sqlite/search.js";
|
|
|
58
56
|
import * as searchIndex from "./sqlite/search-index.js";
|
|
59
57
|
import * as searchRecords from "./sqlite/searches.js";
|
|
60
58
|
import * as stems from "./sqlite/stems.js";
|
|
59
|
+
import { fillStems, followDefaultStemmers } from "./sqlite/stems-fill.js";
|
|
61
60
|
import * as sync from "./sqlite/sync.js";
|
|
62
61
|
import * as tagQueries from "./sqlite/tags.js";
|
|
63
62
|
import { linkInbox, taskStoreOver } from "./sqlite/tasks.js";
|
|
63
|
+
import { read, write } from "./sqlite/transaction.js";
|
|
64
64
|
import * as transcripts from "./sqlite/transcripts.js";
|
|
65
65
|
import * as vectors from "./sqlite/vectors.js";
|
|
66
66
|
import * as words from "./sqlite/words.js";
|
|
@@ -85,11 +85,11 @@ export const openStore = async ({ path, env, now = Date.now, command } = {}) =>
|
|
|
85
85
|
const pending = pendingNormalization(database);
|
|
86
86
|
if (pending > 0 && pending <= BACKFILL_ON_OPEN)
|
|
87
87
|
backfillNormalized(database);
|
|
88
|
-
|
|
88
|
+
followDefaultStemmers(database, now);
|
|
89
89
|
const stemming = stems.stemsState(database);
|
|
90
90
|
if (stemming?.cause === "building" &&
|
|
91
91
|
stemming.watermark - stemming.filledThrough + stemming.pending <= BACKFILL_ON_OPEN) {
|
|
92
|
-
|
|
92
|
+
fillStems(database, { now });
|
|
93
93
|
}
|
|
94
94
|
logPruner(database, now)();
|
|
95
95
|
}
|
|
@@ -103,20 +103,6 @@ const storeOver = (context) => {
|
|
|
103
103
|
const { database } = context;
|
|
104
104
|
const stemmerFor = stems.stemmerCache();
|
|
105
105
|
const pruneLogsWhenDue = logPruner(database, context.now);
|
|
106
|
-
const inTransaction = (body) => {
|
|
107
|
-
database.exec("BEGIN IMMEDIATE");
|
|
108
|
-
try {
|
|
109
|
-
body();
|
|
110
|
-
stems.drainStems(database, stemmerFor);
|
|
111
|
-
drainMentions(database, context.now());
|
|
112
|
-
drainInvolvementQueue(database);
|
|
113
|
-
database.exec("COMMIT");
|
|
114
|
-
}
|
|
115
|
-
catch (error) {
|
|
116
|
-
database.exec("ROLLBACK");
|
|
117
|
-
throw error;
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
106
|
const mailIndexed = (execution) => {
|
|
121
107
|
if (execution.corpus === "mail")
|
|
122
108
|
drainEmailIndex(database, stemmerFor);
|
|
@@ -157,12 +143,12 @@ const storeOver = (context) => {
|
|
|
157
143
|
linkInbox(database, `${key.provider}:${key.account}`, pk);
|
|
158
144
|
return pk;
|
|
159
145
|
},
|
|
160
|
-
saveChats: async (key, list) =>
|
|
146
|
+
saveChats: async (key, list) => write(database, () => {
|
|
161
147
|
const accountKey = accountPk(key);
|
|
162
148
|
for (const chat of list)
|
|
163
149
|
chatQueries.upsertChat(context, accountKey, chat);
|
|
164
150
|
}),
|
|
165
|
-
saveMessages: async (key, chatId, messages, { via, seenAt }) =>
|
|
151
|
+
saveMessages: async (key, chatId, messages, { via, seenAt }) => write(database, () => {
|
|
166
152
|
const accountKey = accountPk(key);
|
|
167
153
|
const chatKey = chatPkFor(accountKey, chatId);
|
|
168
154
|
for (const message of messages) {
|
|
@@ -170,10 +156,10 @@ const storeOver = (context) => {
|
|
|
170
156
|
upsertMessage(key, accountKey, chatKey, message, via, seenAt);
|
|
171
157
|
}
|
|
172
158
|
}),
|
|
173
|
-
saveMembers: async (key, chatId, memberIds) =>
|
|
159
|
+
saveMembers: async (key, chatId, memberIds) => write(database, () => writeMembers(key, accountPk(key), chatId, memberIds)),
|
|
174
160
|
saveRoster: async (key, chatId, read) => {
|
|
175
161
|
let change = { joined: [], gone: [], changed: [] };
|
|
176
|
-
|
|
162
|
+
write(database, () => {
|
|
177
163
|
const accountKey = accountPk(key);
|
|
178
164
|
change = roster.saveRoster(context, accountKey, key.provider, chatPkFor(accountKey, chatId), read);
|
|
179
165
|
});
|
|
@@ -195,7 +181,7 @@ const storeOver = (context) => {
|
|
|
195
181
|
? []
|
|
196
182
|
: roster.profileRevisionsOf(context, chatKey, since === undefined ? undefined : Date.parse(since));
|
|
197
183
|
},
|
|
198
|
-
trackMembers: async (key, chatId, tracked) =>
|
|
184
|
+
trackMembers: async (key, chatId, tracked) => write(database, () => roster.setTracked(context, chatPkFor(accountPk(key), chatId), tracked)),
|
|
199
185
|
trackedChats: async (key) => {
|
|
200
186
|
const accountKey = findAccountPk(key);
|
|
201
187
|
return accountKey === undefined ? [] : roster.trackedChats(context, accountKey);
|
|
@@ -209,18 +195,10 @@ const storeOver = (context) => {
|
|
|
209
195
|
personSeenInAccounts: async (uid, accountIds) => personSeenInAccounts(context, uid, accountIds),
|
|
210
196
|
personByUid: async (uid) => personLinks.personByUid(context, uid),
|
|
211
197
|
linkIdentities: async (person, other, options) => {
|
|
212
|
-
|
|
213
|
-
inTransaction(() => {
|
|
214
|
-
linked = personLinks.linkIdentities(context, person, other, options);
|
|
215
|
-
});
|
|
216
|
-
return linked;
|
|
198
|
+
return write(database, () => personLinks.linkIdentities(context, person, other, options));
|
|
217
199
|
},
|
|
218
200
|
unlinkIdentity: async (identity, options) => {
|
|
219
|
-
|
|
220
|
-
inTransaction(() => {
|
|
221
|
-
alone = personLinks.unlinkIdentity(context, identity, options);
|
|
222
|
-
});
|
|
223
|
-
return alone;
|
|
201
|
+
return write(database, () => personLinks.unlinkIdentity(context, identity, options));
|
|
224
202
|
},
|
|
225
203
|
mentioning: async (key, person, limit) => {
|
|
226
204
|
const accountKey = findAccountPk(key);
|
|
@@ -236,8 +214,8 @@ const storeOver = (context) => {
|
|
|
236
214
|
const accountKey = findAccountPk(key);
|
|
237
215
|
return accountKey === undefined ? undefined : sync.syncStateOf(context, accountKey, name);
|
|
238
216
|
},
|
|
239
|
-
setSyncState: async (key, name, value) =>
|
|
240
|
-
applyDelta: async (key, { chats = [], people = [], members = new Map(), state = {} }) =>
|
|
217
|
+
setSyncState: async (key, name, value) => write(database, () => writeState(accountPk(key), name, value)),
|
|
218
|
+
applyDelta: async (key, { chats = [], people = [], members = new Map(), state = {} }) => write(database, () => {
|
|
241
219
|
const accountKey = accountPk(key);
|
|
242
220
|
for (const chat of chats)
|
|
243
221
|
chatQueries.upsertChat(context, accountKey, chat);
|
|
@@ -255,7 +233,7 @@ const storeOver = (context) => {
|
|
|
255
233
|
},
|
|
256
234
|
claim: async (key, chatId, anchor, holder, forMs) => {
|
|
257
235
|
let taken = false;
|
|
258
|
-
|
|
236
|
+
write(database, () => {
|
|
259
237
|
taken = sync.claim(context, chatPkFor(accountPk(key), chatId), anchor, holder, forMs);
|
|
260
238
|
});
|
|
261
239
|
return taken;
|
|
@@ -274,7 +252,7 @@ const storeOver = (context) => {
|
|
|
274
252
|
keepTranscript: async (key, chatId, messageId, text, source) => {
|
|
275
253
|
if (text.trim() === "")
|
|
276
254
|
return;
|
|
277
|
-
|
|
255
|
+
write(database, () => transcripts.keepTranscript(context, chatPkFor(accountPk(key), chatId), messageId, text, source));
|
|
278
256
|
},
|
|
279
257
|
fileAttachments: async (key, { chatId, ...page }) => {
|
|
280
258
|
const accountKey = findAccountPk(key);
|
|
@@ -297,7 +275,7 @@ const storeOver = (context) => {
|
|
|
297
275
|
localPathOf: async (attachmentPk) => attachmentTexts.localPathOf(context, attachmentPk),
|
|
298
276
|
keepAttachmentText: async (attachmentPk, entry) => {
|
|
299
277
|
let kept = false;
|
|
300
|
-
|
|
278
|
+
write(database, () => {
|
|
301
279
|
kept = attachmentTexts.keepText(context, attachmentPk, entry);
|
|
302
280
|
});
|
|
303
281
|
return kept;
|
|
@@ -307,7 +285,7 @@ const storeOver = (context) => {
|
|
|
307
285
|
if (chatKey === undefined || files.length === 0)
|
|
308
286
|
return 0;
|
|
309
287
|
let kept = 0;
|
|
310
|
-
|
|
288
|
+
write(database, () => {
|
|
311
289
|
kept = attachmentRows.keepDownloads(context, chatKey, messageId, files);
|
|
312
290
|
});
|
|
313
291
|
return kept;
|
|
@@ -377,7 +355,7 @@ const storeOver = (context) => {
|
|
|
377
355
|
throw new CliError("validation_error", `the answer was not stored: ${batch} is not a batch of this account`);
|
|
378
356
|
}
|
|
379
357
|
let stored = 0;
|
|
380
|
-
|
|
358
|
+
write(database, () => {
|
|
381
359
|
stored = batches.saveAnswers(context, batch, answer);
|
|
382
360
|
});
|
|
383
361
|
return { chat, stored };
|
|
@@ -387,7 +365,7 @@ const storeOver = (context) => {
|
|
|
387
365
|
if (chatKey === undefined)
|
|
388
366
|
return 0;
|
|
389
367
|
let cleared = 0;
|
|
390
|
-
|
|
368
|
+
write(database, () => {
|
|
391
369
|
cleared = batches.clearAnswers(context, chatKey, model);
|
|
392
370
|
});
|
|
393
371
|
return cleared;
|
|
@@ -418,7 +396,7 @@ const storeOver = (context) => {
|
|
|
418
396
|
return chatKey === undefined ? [] : vectors.chunksToEmbed(context, chatKey, model, options);
|
|
419
397
|
},
|
|
420
398
|
saveVectors: async (model, dims, rows) => {
|
|
421
|
-
|
|
399
|
+
write(database, () => vectors.saveVectors(context, model, dims, rows));
|
|
422
400
|
},
|
|
423
401
|
imagesToDescribe: async (key, chatId, window) => {
|
|
424
402
|
const chatKey = chatKeyOf(key, chatId);
|
|
@@ -429,7 +407,7 @@ const storeOver = (context) => {
|
|
|
429
407
|
const chatKey = chatKeyOf(key, chatId);
|
|
430
408
|
if (accountPk === undefined || chatKey === undefined)
|
|
431
409
|
return;
|
|
432
|
-
|
|
410
|
+
write(database, () => imageChunks.saveImageChunks(context, accountPk, chatKey, chunks, keep));
|
|
433
411
|
},
|
|
434
412
|
embeddedHashes: async (model, hashes) => imageChunks.embeddedHashes(context, model, hashes),
|
|
435
413
|
nearestImages: async (key, { chatId, model, since, limit, query }) => {
|
|
@@ -481,7 +459,7 @@ const storeOver = (context) => {
|
|
|
481
459
|
const accountPk = findAccountPk(key);
|
|
482
460
|
if (accountPk === undefined)
|
|
483
461
|
return;
|
|
484
|
-
|
|
462
|
+
write(database, () => {
|
|
485
463
|
vectors.saveVectors(context, model, dims, pictures.map(({ hash, vector }) => ({ hash, vector })));
|
|
486
464
|
imageChunks.savePictureChunks(context, accountPk, pictures);
|
|
487
465
|
});
|
|
@@ -511,7 +489,7 @@ const storeOver = (context) => {
|
|
|
511
489
|
if (chatKey === undefined)
|
|
512
490
|
return 0;
|
|
513
491
|
let cleared = 0;
|
|
514
|
-
|
|
492
|
+
write(database, () => {
|
|
515
493
|
cleared = vectors.clearVectors(context, chatKey, model);
|
|
516
494
|
});
|
|
517
495
|
return cleared;
|
|
@@ -672,21 +650,13 @@ const storeOver = (context) => {
|
|
|
672
650
|
owner = { organization: Number(found.id) };
|
|
673
651
|
}
|
|
674
652
|
}
|
|
675
|
-
|
|
676
|
-
inTransaction(() => {
|
|
677
|
-
decision = confirmMention(context, accountKey, id, owner, by);
|
|
678
|
-
});
|
|
679
|
-
return decision;
|
|
653
|
+
return write(database, () => confirmMention(context, accountKey, id, owner, by));
|
|
680
654
|
},
|
|
681
655
|
rejectMention: async (key, id, by) => {
|
|
682
656
|
const accountKey = findAccountPk(key);
|
|
683
657
|
if (accountKey === undefined)
|
|
684
658
|
throw new CliError("not_found", `no mention ${id} in this account`);
|
|
685
|
-
|
|
686
|
-
inTransaction(() => {
|
|
687
|
-
decision = rejectMention(context, accountKey, id, by);
|
|
688
|
-
});
|
|
689
|
-
return decision;
|
|
659
|
+
return write(database, () => rejectMention(context, accountKey, id, by));
|
|
690
660
|
},
|
|
691
661
|
rebuildMentions: async (options = {}) => rebuildMentions(database, { now: context.now(), ...options }),
|
|
692
662
|
mentionsState: async () => mentionsState(database),
|
|
@@ -714,7 +684,7 @@ const storeOver = (context) => {
|
|
|
714
684
|
if (accountKey === undefined || messageIds.length === 0)
|
|
715
685
|
return 0;
|
|
716
686
|
let changed = 0;
|
|
717
|
-
|
|
687
|
+
write(database, () => {
|
|
718
688
|
changed = messageWrites.markDeleted(context, accountKey, messageIds, chatId, among);
|
|
719
689
|
});
|
|
720
690
|
return changed;
|
|
@@ -723,14 +693,14 @@ const storeOver = (context) => {
|
|
|
723
693
|
const accountKey = findAccountPk(key);
|
|
724
694
|
if (accountKey === undefined)
|
|
725
695
|
return;
|
|
726
|
-
|
|
696
|
+
write(database, () => accounts.purgeAccount(context, accountKey));
|
|
727
697
|
},
|
|
728
698
|
markChatsLeft: async (key, present) => {
|
|
729
699
|
const accountKey = findAccountPk(key);
|
|
730
700
|
if (accountKey === undefined)
|
|
731
701
|
return 0;
|
|
732
702
|
let marked = 0;
|
|
733
|
-
|
|
703
|
+
write(database, () => {
|
|
734
704
|
marked = chatQueries.markLeft(context, accountKey, present);
|
|
735
705
|
writeState(accountKey, completeness.CHAT_LIST_KEY, String(present.length));
|
|
736
706
|
});
|
|
@@ -741,7 +711,7 @@ const storeOver = (context) => {
|
|
|
741
711
|
if (accountKey === undefined)
|
|
742
712
|
return { chats: 0, messages: 0 };
|
|
743
713
|
let found = { pks: [], messages: 0 };
|
|
744
|
-
|
|
714
|
+
write(database, () => {
|
|
745
715
|
found = chatQueries.leftChats(context, accountKey);
|
|
746
716
|
if (clear)
|
|
747
717
|
chatQueries.purgeChats(context, found.pks);
|
|
@@ -749,7 +719,7 @@ const storeOver = (context) => {
|
|
|
749
719
|
return { chats: found.pks.length, messages: found.messages };
|
|
750
720
|
},
|
|
751
721
|
search: async (query, { limit, account }) => search.find(context, { text: query, limit, ...(account ? { account } : {}) }),
|
|
752
|
-
find: async (filter) =>
|
|
722
|
+
find: async (filter) => search.find(context, filter),
|
|
753
723
|
rankingDiscussionChats: async (account, chatId) => {
|
|
754
724
|
const rows = database
|
|
755
725
|
.prepare("SELECT DISTINCT json_extract(CASE WHEN json_valid(m.metadata) THEN m.metadata ELSE '{}' END,'$.graph.discussionChatId') AS id FROM messages m JOIN chats c ON c.id=m.chat_id JOIN accounts ac ON ac.id=m.account_id WHERE ac.provider=? AND ac.external_id=? AND c.external_id=? AND c.kind='channel' AND m.deleted_at IS NULL AND json_extract(CASE WHEN json_valid(m.metadata) THEN m.metadata ELSE '{}' END,'$.graph.version')=1 AND json_type(CASE WHEN json_valid(m.metadata) THEN m.metadata ELSE '{}' END,'$.graph.discussionChatId')='text' LIMIT 101")
|
|
@@ -764,16 +734,7 @@ const storeOver = (context) => {
|
|
|
764
734
|
const chatKey = accountKey === undefined ? undefined : findChatPk(accountKey, chatId);
|
|
765
735
|
if (accountKey === undefined || chatKey === undefined)
|
|
766
736
|
throw new CliError("validation_error", "retention needs a stored chat and membership observations");
|
|
767
|
-
|
|
768
|
-
try {
|
|
769
|
-
const result = retentionQuery(context, accountKey, chatKey, chatId, options, evidence);
|
|
770
|
-
context.database.exec("COMMIT");
|
|
771
|
-
return result;
|
|
772
|
-
}
|
|
773
|
-
catch (error) {
|
|
774
|
-
context.database.exec("ROLLBACK");
|
|
775
|
-
throw error;
|
|
776
|
-
}
|
|
737
|
+
return read(database, () => retentionQuery(context, accountKey, chatKey, chatId, options, evidence));
|
|
777
738
|
},
|
|
778
739
|
adminStatisticsQuery: async (execution, request) => adminStatisticsQuery(context, execution, request),
|
|
779
740
|
rankQuery: async (execution, request) => rankQuery(context, execution, request),
|
|
@@ -781,13 +742,6 @@ const storeOver = (context) => {
|
|
|
781
742
|
matchQuery: async (execution) => lucene.matchQuery(context, mailIndexed(execution)),
|
|
782
743
|
conversationEligibility: async (execution) => conversationEligibility(context, execution),
|
|
783
744
|
countQuery: async (execution, by) => lucene.countQuery(context, mailIndexed(execution), by),
|
|
784
|
-
matchWords: async (query, scope, options) => words.matchWords(context, query, scope, options),
|
|
785
|
-
matchSubstring: async (query, scope, options) => words.matchSubstring(context, query, scope, options),
|
|
786
|
-
attachmentKinds: async () => database
|
|
787
|
-
.prepare("SELECT DISTINCT kind FROM attachments ORDER BY kind")
|
|
788
|
-
.all()
|
|
789
|
-
.map((row) => String(row.kind)),
|
|
790
|
-
matchFilters: async (scope, options) => words.matchFilters(context, scope, options),
|
|
791
745
|
accounts: async () => accounts.heldAccounts(context),
|
|
792
746
|
storedAccounts: async () => accounts.storedAccounts(context),
|
|
793
747
|
storedAccount: async (key) => accounts.storedAccount(context, key),
|
|
@@ -801,13 +755,13 @@ const storeOver = (context) => {
|
|
|
801
755
|
searchIndexState: async () => searchIndex.searchIndexState(database),
|
|
802
756
|
fillSearchIndex: async ({ until } = {}) => searchIndex.fillSearchIndex(database, { now: context.now, ...(until ? { until } : {}) }),
|
|
803
757
|
stemsState: async () => stems.stemsState(database),
|
|
804
|
-
fillStems: async ({ until } = {}) =>
|
|
758
|
+
fillStems: async ({ until } = {}) => fillStems(database, { now: context.now, ...(until ? { until } : {}) }),
|
|
805
759
|
stemmers: async () => stems.savedStemmers(database),
|
|
806
|
-
saveStemmers: async (stemmers) =>
|
|
760
|
+
saveStemmers: async (stemmers) => write(database, () => stems.saveStoreStemmers(database, stemmers, context.now())),
|
|
807
761
|
accountGroups: async () => accountGroupsOf(database),
|
|
808
762
|
profiles: async () => profilesOf(database),
|
|
809
|
-
saveProfile: async (app, profile, key) =>
|
|
810
|
-
saveAccountGroup: async (name, members) =>
|
|
763
|
+
saveProfile: async (app, profile, key) => write(database, () => saveProfile(database, app, profile, key, context.now())),
|
|
764
|
+
saveAccountGroup: async (name, members) => write(database, () => {
|
|
811
765
|
const groups = accountGroupsOf(database);
|
|
812
766
|
if (members === undefined)
|
|
813
767
|
delete groups[name];
|
|
@@ -832,7 +786,7 @@ const storeOver = (context) => {
|
|
|
832
786
|
if (accountKey !== undefined)
|
|
833
787
|
identities.refreshRecency(context, accountKey);
|
|
834
788
|
},
|
|
835
|
-
savePeople: async (key, people) =>
|
|
789
|
+
savePeople: async (key, people) => write(database, () => {
|
|
836
790
|
const accountKey = accountPk(key);
|
|
837
791
|
for (const person of people)
|
|
838
792
|
identityPk(accountKey, key.provider, person.id, person.name, person);
|
|
@@ -847,7 +801,7 @@ const storeOver = (context) => {
|
|
|
847
801
|
},
|
|
848
802
|
updateCounterObservations: async (key, chatId, messageId, observations) => {
|
|
849
803
|
let updated = 0;
|
|
850
|
-
|
|
804
|
+
write(database, () => {
|
|
851
805
|
const row = database
|
|
852
806
|
.prepare("SELECT m.id AS pk FROM messages m JOIN chats c ON c.id=m.chat_id JOIN accounts ac ON ac.id=m.account_id WHERE ac.provider=? AND ac.external_id=? AND c.external_id=? AND m.external_id=? AND m.deleted_at IS NULL")
|
|
853
807
|
.get(key.provider, key.account, chatId, messageId);
|
|
@@ -862,7 +816,7 @@ const storeOver = (context) => {
|
|
|
862
816
|
if (chatKey === undefined)
|
|
863
817
|
return false;
|
|
864
818
|
let saved = false;
|
|
865
|
-
|
|
819
|
+
write(database, () => {
|
|
866
820
|
saved = messageWrites.saveReactions(context, chatKey, messageId, reactions);
|
|
867
821
|
const row = database
|
|
868
822
|
.prepare("SELECT id AS pk FROM messages WHERE chat_id=? AND external_id=? AND deleted_at IS NULL")
|
|
@@ -874,7 +828,7 @@ const storeOver = (context) => {
|
|
|
874
828
|
},
|
|
875
829
|
markRange: async (key, chatId, from, to) => {
|
|
876
830
|
let merged = { from, to };
|
|
877
|
-
|
|
831
|
+
write(database, () => {
|
|
878
832
|
merged = ranges.markRange(context, chatPkFor(accountPk(key), chatId), from, to);
|
|
879
833
|
});
|
|
880
834
|
return merged;
|
|
@@ -904,67 +858,47 @@ const storeOver = (context) => {
|
|
|
904
858
|
},
|
|
905
859
|
chatMetadata: async (key, chatId) => metadataQueries.metadata(context, key, chatId),
|
|
906
860
|
saveChatMetadata: async (key, entry) => metadataQueries.saveMetadata(context, key, entry),
|
|
907
|
-
replaceAutoTags: async (key, chatId, algorithm, matches) =>
|
|
861
|
+
replaceAutoTags: async (key, chatId, algorithm, matches) => write(database, () => metadataQueries.replaceAutoTags(context, key, chatId, algorithm, matches)),
|
|
908
862
|
privateContact: async (key, person) => privatePeople.privateContact(context, key, person),
|
|
909
863
|
setContactAlias: async (key, person, alias) => {
|
|
910
|
-
|
|
911
|
-
inTransaction(() => {
|
|
912
|
-
result = privatePeople.setAlias(context, key, person, alias);
|
|
913
|
-
});
|
|
914
|
-
return result;
|
|
864
|
+
return write(database, () => privatePeople.setAlias(context, key, person, alias));
|
|
915
865
|
},
|
|
916
866
|
addContactNote: async (key, person, text) => {
|
|
917
|
-
|
|
918
|
-
inTransaction(() => {
|
|
919
|
-
added = privatePeople.addNote(context, key, person, text);
|
|
920
|
-
});
|
|
921
|
-
return added;
|
|
867
|
+
return write(database, () => privatePeople.addNote(context, key, person, text));
|
|
922
868
|
},
|
|
923
869
|
contactNote: async (key, person, id) => privatePeople.note(context, key, person, id),
|
|
924
870
|
editContactNote: async (key, person, id, text, revision) => {
|
|
925
|
-
|
|
926
|
-
inTransaction(() => {
|
|
927
|
-
edited = privatePeople.editNote(context, key, person, id, text, revision);
|
|
928
|
-
});
|
|
929
|
-
return edited;
|
|
871
|
+
return write(database, () => privatePeople.editNote(context, key, person, id, text, revision));
|
|
930
872
|
},
|
|
931
873
|
removeContactNote: async (key, person, id) => privatePeople.removeNote(context, key, person, id),
|
|
932
874
|
addTags: async (key, target, list) => {
|
|
933
875
|
let added = [];
|
|
934
|
-
|
|
876
|
+
write(database, () => {
|
|
935
877
|
added = tagQueries.addTags(context, tagQueries.targetThing(context, key, target), list);
|
|
936
878
|
});
|
|
937
879
|
return added;
|
|
938
880
|
},
|
|
939
881
|
removeTags: async (key, target, list, source) => {
|
|
940
882
|
let removed = [];
|
|
941
|
-
|
|
883
|
+
write(database, () => {
|
|
942
884
|
removed = tagQueries.removeTags(context, tagQueries.targetThing(context, key, target), list, source);
|
|
943
885
|
});
|
|
944
886
|
return removed;
|
|
945
887
|
},
|
|
946
888
|
tags: async (key, filter = {}) => tagQueries.tagsOf(context, key, filter),
|
|
947
|
-
recordSearch: async (run, { saved } = {}) =>
|
|
889
|
+
recordSearch: async (run, { saved } = {}) => write(database, () => searchRecords.recordRun(context, run, saved)),
|
|
948
890
|
saveSearch: async (name, search, { replace = false } = {}) => {
|
|
949
|
-
|
|
950
|
-
inTransaction(() => {
|
|
951
|
-
saved = searchRecords.saveSearch(context, name, search, replace);
|
|
952
|
-
});
|
|
953
|
-
return saved;
|
|
891
|
+
return write(database, () => searchRecords.saveSearch(context, name, search, replace));
|
|
954
892
|
},
|
|
955
893
|
storedSearch: async (reference) => searchRecords.findSearch(context, reference),
|
|
956
894
|
savedSearches: async () => searchRecords.savedSearches(context),
|
|
957
895
|
searchHistory: async (limit, offset) => searchRecords.searchHistory(context, limit, offset),
|
|
958
896
|
deleteSearch: async (reference) => {
|
|
959
|
-
|
|
960
|
-
inTransaction(() => {
|
|
961
|
-
deleted = searchRecords.deleteSearch(context, reference);
|
|
962
|
-
});
|
|
963
|
-
return deleted;
|
|
897
|
+
return write(database, () => searchRecords.deleteSearch(context, reference));
|
|
964
898
|
},
|
|
965
899
|
clearSearchHistory: async () => {
|
|
966
900
|
let cleared = 0;
|
|
967
|
-
|
|
901
|
+
write(database, () => {
|
|
968
902
|
cleared = searchRecords.clearHistory(context);
|
|
969
903
|
});
|
|
970
904
|
return cleared;
|
|
@@ -1039,6 +973,7 @@ export { drainNoteIndex, noteIndexState, resetNoteIndex } from "./sqlite/note-in
|
|
|
1039
973
|
export { queryFilter } from "./sqlite/query-filter.js";
|
|
1040
974
|
export { AGENDA_COLUMNS } from "./sqlite/reads.js";
|
|
1041
975
|
export { fillSearchIndex, resetSearchIndex, searchIndexState } from "./sqlite/search-index.js";
|
|
1042
|
-
export {
|
|
976
|
+
export { savedStemmers, stemmerCache, stemmersOrigin, stemsState, } from "./sqlite/stems.js";
|
|
977
|
+
export { fillStems, resetStems } from "./sqlite/stems-fill.js";
|
|
1043
978
|
export { inboxKey } from "./sqlite/tasks.js";
|
|
1044
979
|
//# sourceMappingURL=store.js.map
|