@wirecat/cli-core 0.340.0 → 0.342.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/author.d.ts +6 -0
- package/dist/cli/author.d.ts.map +1 -1
- package/dist/cli/author.js +15 -0
- package/dist/cli/author.js.map +1 -1
- package/dist/cli/context.d.ts +2 -1
- package/dist/cli/context.d.ts.map +1 -1
- package/dist/cli/context.js +2 -1
- package/dist/cli/context.js.map +1 -1
- package/dist/cli/effects.d.ts +2 -1
- package/dist/cli/effects.d.ts.map +1 -1
- package/dist/cli/effects.js +3 -2
- package/dist/cli/effects.js.map +1 -1
- package/dist/cli/index.d.ts +0 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +0 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/messenger/attachments-command.d.ts.map +1 -1
- package/dist/cli/messenger/attachments-command.js +10 -3
- package/dist/cli/messenger/attachments-command.js.map +1 -1
- package/dist/cli/messenger/catch-up.d.ts +8 -2
- package/dist/cli/messenger/catch-up.d.ts.map +1 -1
- package/dist/cli/messenger/catch-up.js +11 -3
- package/dist/cli/messenger/catch-up.js.map +1 -1
- package/dist/cli/messenger/context.d.ts +2 -0
- package/dist/cli/messenger/context.d.ts.map +1 -1
- package/dist/cli/messenger/context.js +5 -1
- package/dist/cli/messenger/context.js.map +1 -1
- package/dist/cli/messenger/conversations-command.d.ts.map +1 -1
- package/dist/cli/messenger/conversations-command.js +25 -1
- package/dist/cli/messenger/conversations-command.js.map +1 -1
- package/dist/cli/messenger/inbox.d.ts.map +1 -1
- package/dist/cli/messenger/inbox.js +11 -6
- package/dist/cli/messenger/inbox.js.map +1 -1
- package/dist/cli/messenger/mcp-command.js +1 -1
- package/dist/cli/messenger/mcp-command.js.map +1 -1
- package/dist/cli/messenger/mentions-command.d.ts.map +1 -1
- package/dist/cli/messenger/mentions-command.js +6 -7
- package/dist/cli/messenger/mentions-command.js.map +1 -1
- package/dist/cli/messenger/messages-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-command.js +2 -2
- package/dist/cli/messenger/messages-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 +2 -2
- package/dist/cli/messenger/messages-send-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 +5 -4
- package/dist/cli/messenger/private-people-command.js.map +1 -1
- package/dist/cli/messenger/review.js +6 -6
- package/dist/cli/messenger/review.js.map +1 -1
- package/dist/cli/messenger/store-maintenance-command.d.ts +1 -1
- package/dist/cli/messenger/tasks-command.d.ts.map +1 -1
- package/dist/cli/messenger/tasks-command.js +12 -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 +3 -2
- package/dist/cli/program.js.map +1 -1
- package/dist/cli/stdin-field.d.ts +11 -0
- package/dist/cli/stdin-field.d.ts.map +1 -0
- package/dist/cli/stdin-field.js +7 -0
- package/dist/cli/stdin-field.js.map +1 -0
- package/dist/domain/tag-consolidation.d.ts +78 -0
- package/dist/domain/tag-consolidation.d.ts.map +1 -0
- package/dist/domain/tag-consolidation.js +2 -0
- package/dist/domain/tag-consolidation.js.map +1 -0
- package/dist/errors/reasons.d.ts.map +1 -1
- package/dist/errors/reasons.js +7 -1
- package/dist/errors/reasons.js.map +1 -1
- package/dist/mcp/agent.d.ts +10 -1
- package/dist/mcp/agent.d.ts.map +1 -1
- package/dist/mcp/agent.js +67 -21
- package/dist/mcp/agent.js.map +1 -1
- package/dist/mcp/prompts.js +1 -1
- package/dist/mcp/prompts.js.map +1 -1
- package/dist/mcp/server.d.ts +5 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +278 -32
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/session.d.ts +2 -0
- package/dist/mcp/session.d.ts.map +1 -1
- package/dist/mcp/session.js +2 -0
- package/dist/mcp/session.js.map +1 -1
- package/dist/mcp/surface.d.ts +5 -2
- package/dist/mcp/surface.d.ts.map +1 -1
- package/dist/mcp/surface.js +7 -4
- package/dist/mcp/surface.js.map +1 -1
- package/dist/mcp/tool.d.ts +3 -6
- package/dist/mcp/tool.d.ts.map +1 -1
- package/dist/mcp/tool.js +3 -36
- package/dist/mcp/tool.js.map +1 -1
- package/dist/mcp/tools/attachments.d.ts.map +1 -1
- package/dist/mcp/tools/attachments.js +3 -138
- package/dist/mcp/tools/attachments.js.map +1 -1
- package/dist/mcp/tools.d.ts +4 -21
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +4 -97
- package/dist/mcp/tools.js.map +1 -1
- package/dist/sends/permissions.d.ts.map +1 -1
- package/dist/sends/permissions.js +2 -1
- package/dist/sends/permissions.js.map +1 -1
- package/dist/store/drivers/node-sqlite.d.ts +2 -3
- package/dist/store/drivers/node-sqlite.d.ts.map +1 -1
- package/dist/store/drivers/node-sqlite.js +2 -3
- package/dist/store/drivers/node-sqlite.js.map +1 -1
- package/dist/store/index.d.ts +1 -0
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js.map +1 -1
- package/dist/store/open.d.ts.map +1 -1
- package/dist/store/open.js +2 -0
- package/dist/store/open.js.map +1 -1
- package/dist/store/sqlite/open.d.ts.map +1 -1
- package/dist/store/sqlite/open.js +2 -0
- package/dist/store/sqlite/open.js.map +1 -1
- package/dist/store/sqlite/tag-consolidation.d.ts +5 -0
- package/dist/store/sqlite/tag-consolidation.d.ts.map +1 -0
- package/dist/store/sqlite/tag-consolidation.js +178 -0
- package/dist/store/sqlite/tag-consolidation.js.map +1 -0
- package/dist/store/sqlite/tags.js +1 -1
- package/dist/store/sqlite/tags.js.map +1 -1
- package/dist/store/sqlite/vocabulary.d.ts +2 -1
- package/dist/store/sqlite/vocabulary.d.ts.map +1 -1
- package/dist/store/sqlite/vocabulary.js +2 -0
- package/dist/store/sqlite/vocabulary.js.map +1 -1
- package/dist/store/sqlite-warning.d.ts +8 -0
- package/dist/store/sqlite-warning.d.ts.map +1 -0
- package/dist/store/sqlite-warning.js +26 -0
- package/dist/store/sqlite-warning.js.map +1 -0
- package/package.json +3 -3
- package/parity.json +12 -0
- package/dist/mcp/search-sync.d.ts +0 -12
- package/dist/mcp/search-sync.d.ts.map +0 -1
- package/dist/mcp/search-sync.js +0 -18
- package/dist/mcp/search-sync.js.map +0 -1
- package/dist/mcp/thread-options.d.ts +0 -19
- package/dist/mcp/thread-options.d.ts.map +0 -1
- package/dist/mcp/thread-options.js +0 -20
- package/dist/mcp/thread-options.js.map +0 -1
- package/dist/mcp/tools/account.d.ts +0 -4
- package/dist/mcp/tools/account.d.ts.map +0 -1
- package/dist/mcp/tools/account.js +0 -31
- package/dist/mcp/tools/account.js.map +0 -1
- package/dist/mcp/tools/admin-statistics.d.ts +0 -4
- package/dist/mcp/tools/admin-statistics.d.ts.map +0 -1
- package/dist/mcp/tools/admin-statistics.js +0 -163
- package/dist/mcp/tools/admin-statistics.js.map +0 -1
- package/dist/mcp/tools/admin.d.ts +0 -5
- package/dist/mcp/tools/admin.d.ts.map +0 -1
- package/dist/mcp/tools/admin.js +0 -262
- package/dist/mcp/tools/admin.js.map +0 -1
- package/dist/mcp/tools/chats-read.d.ts +0 -4
- package/dist/mcp/tools/chats-read.d.ts.map +0 -1
- package/dist/mcp/tools/chats-read.js +0 -28
- package/dist/mcp/tools/chats-read.js.map +0 -1
- package/dist/mcp/tools/chats-state.d.ts +0 -5
- package/dist/mcp/tools/chats-state.d.ts.map +0 -1
- package/dist/mcp/tools/chats-state.js +0 -58
- package/dist/mcp/tools/chats-state.js.map +0 -1
- package/dist/mcp/tools/chats.d.ts +0 -4
- package/dist/mcp/tools/chats.d.ts.map +0 -1
- package/dist/mcp/tools/chats.js +0 -194
- package/dist/mcp/tools/chats.js.map +0 -1
- package/dist/mcp/tools/contacts-write.d.ts +0 -5
- package/dist/mcp/tools/contacts-write.d.ts.map +0 -1
- package/dist/mcp/tools/contacts-write.js +0 -53
- package/dist/mcp/tools/contacts-write.js.map +0 -1
- package/dist/mcp/tools/contacts.d.ts +0 -4
- package/dist/mcp/tools/contacts.d.ts.map +0 -1
- package/dist/mcp/tools/contacts.js +0 -196
- package/dist/mcp/tools/contacts.js.map +0 -1
- package/dist/mcp/tools/conversations.d.ts +0 -5
- package/dist/mcp/tools/conversations.d.ts.map +0 -1
- package/dist/mcp/tools/conversations.js +0 -265
- package/dist/mcp/tools/conversations.js.map +0 -1
- package/dist/mcp/tools/folders.d.ts +0 -5
- package/dist/mcp/tools/folders.d.ts.map +0 -1
- package/dist/mcp/tools/folders.js +0 -103
- package/dist/mcp/tools/folders.js.map +0 -1
- package/dist/mcp/tools/inbox.d.ts +0 -6
- package/dist/mcp/tools/inbox.d.ts.map +0 -1
- package/dist/mcp/tools/inbox.js +0 -65
- package/dist/mcp/tools/inbox.js.map +0 -1
- package/dist/mcp/tools/messages-actions.d.ts +0 -5
- package/dist/mcp/tools/messages-actions.d.ts.map +0 -1
- package/dist/mcp/tools/messages-actions.js +0 -129
- package/dist/mcp/tools/messages-actions.js.map +0 -1
- package/dist/mcp/tools/messages-delete.d.ts +0 -4
- package/dist/mcp/tools/messages-delete.d.ts.map +0 -1
- package/dist/mcp/tools/messages-delete.js +0 -39
- package/dist/mcp/tools/messages-delete.js.map +0 -1
- package/dist/mcp/tools/messages-send.d.ts +0 -8
- package/dist/mcp/tools/messages-send.d.ts.map +0 -1
- package/dist/mcp/tools/messages-send.js +0 -107
- package/dist/mcp/tools/messages-send.js.map +0 -1
- package/dist/mcp/tools/messages-transcribe.d.ts +0 -4
- package/dist/mcp/tools/messages-transcribe.d.ts.map +0 -1
- package/dist/mcp/tools/messages-transcribe.js +0 -32
- package/dist/mcp/tools/messages-transcribe.js.map +0 -1
- package/dist/mcp/tools/messages.d.ts +0 -4
- package/dist/mcp/tools/messages.d.ts.map +0 -1
- package/dist/mcp/tools/messages.js +0 -207
- package/dist/mcp/tools/messages.js.map +0 -1
- package/dist/mcp/tools/moderation.d.ts +0 -8
- package/dist/mcp/tools/moderation.d.ts.map +0 -1
- package/dist/mcp/tools/moderation.js +0 -36
- package/dist/mcp/tools/moderation.js.map +0 -1
- package/dist/mcp/tools/polls.d.ts +0 -6
- package/dist/mcp/tools/polls.d.ts.map +0 -1
- package/dist/mcp/tools/polls.js +0 -140
- package/dist/mcp/tools/polls.js.map +0 -1
- package/dist/mcp/tools/private-people.d.ts +0 -4
- package/dist/mcp/tools/private-people.d.ts.map +0 -1
- package/dist/mcp/tools/private-people.js +0 -121
- package/dist/mcp/tools/private-people.js.map +0 -1
- package/dist/mcp/tools/rankings.d.ts +0 -4
- package/dist/mcp/tools/rankings.d.ts.map +0 -1
- package/dist/mcp/tools/rankings.js +0 -112
- package/dist/mcp/tools/rankings.js.map +0 -1
- package/dist/mcp/tools/reactions.d.ts +0 -5
- package/dist/mcp/tools/reactions.d.ts.map +0 -1
- package/dist/mcp/tools/reactions.js +0 -33
- package/dist/mcp/tools/reactions.js.map +0 -1
- package/dist/mcp/tools/review.d.ts +0 -4
- package/dist/mcp/tools/review.d.ts.map +0 -1
- package/dist/mcp/tools/review.js +0 -68
- package/dist/mcp/tools/review.js.map +0 -1
- package/dist/mcp/tools/runs.d.ts +0 -4
- package/dist/mcp/tools/runs.d.ts.map +0 -1
- package/dist/mcp/tools/runs.js +0 -28
- package/dist/mcp/tools/runs.js.map +0 -1
- package/dist/mcp/tools/search-tools.d.ts +0 -5
- package/dist/mcp/tools/search-tools.d.ts.map +0 -1
- package/dist/mcp/tools/search-tools.js +0 -132
- package/dist/mcp/tools/search-tools.js.map +0 -1
- package/dist/mcp/tools/search.d.ts +0 -154
- package/dist/mcp/tools/search.d.ts.map +0 -1
- package/dist/mcp/tools/search.js +0 -163
- package/dist/mcp/tools/search.js.map +0 -1
- package/dist/mcp/tools/searches.d.ts +0 -4
- package/dist/mcp/tools/searches.d.ts.map +0 -1
- package/dist/mcp/tools/searches.js +0 -108
- package/dist/mcp/tools/searches.js.map +0 -1
- package/dist/mcp/tools/store.d.ts +0 -4
- package/dist/mcp/tools/store.d.ts.map +0 -1
- package/dist/mcp/tools/store.js +0 -163
- package/dist/mcp/tools/store.js.map +0 -1
- package/dist/mcp/tools/tags.d.ts +0 -4
- package/dist/mcp/tools/tags.d.ts.map +0 -1
- package/dist/mcp/tools/tags.js +0 -64
- package/dist/mcp/tools/tags.js.map +0 -1
- package/dist/mcp/tools/tasks.d.ts +0 -4
- package/dist/mcp/tools/tasks.d.ts.map +0 -1
- package/dist/mcp/tools/tasks.js +0 -369
- package/dist/mcp/tools/tasks.js.map +0 -1
- package/dist/mcp/tools/topics.d.ts +0 -5
- package/dist/mcp/tools/topics.d.ts.map +0 -1
- package/dist/mcp/tools/topics.js +0 -134
- package/dist/mcp/tools/topics.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"search-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/search-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
import * as v from "valibot";
|
|
2
|
-
import type { Messenger } from "../../cli/messenger/context.js";
|
|
3
|
-
import type { MessagesService } from "../../services/messages.js";
|
|
4
|
-
import type { SearchKind } from "../../services/search-kind.js";
|
|
5
|
-
import type { SearchesService } from "../../services/searches.js";
|
|
6
|
-
export declare const MESSAGES_SEARCH_DESCRIPTION = "Use discover=true for partial lexical evidence and eligible replies to natural questions in the local archive, without model downloads; inspect each item's discovery.missing_terms and its context before answering. Explicit syntax stays strict, and ranking is not answer confidence. Search the local store, and the messenger's server where it can search, using the Lucene 9.12.3 profile, default AND, with strict Boolean matching. chat: narrows to one chat; has:voice, has:file and NOT has:attachment to voice messages, files or text alone. `saved` runs a saved search (`searches list`) or an earlier run (`searches history`). With sync_first, first fetch new messages within max_chats (5), sync_time (30s), max_messages (500), under messages.sync-first permission. thread=true puts each hit's bounded parent/reply graph in its context; thread_hops, thread_messages, thread_bytes, thread_within set its bounds. Guide: https://github.com/WireCatLabs/cli-core/blob/main/docs/search/query-language.md. Text words and quoted phrases match every form of their words (Snowball stems, exact forms ranked first); exact:word, or exact=true, matches the exact form only. A bare word also matches voice transcripts, file names and file text; each item's matched_in says where (text, transcript, filename, file) and its excerpt comes from there; items with matched_in picture follow the text hits on the first page: pictures found by what they show, where the profile turned picture search on; text:, transcript:, content: (file text), filename: narrow to one place. Without discover=true, where the messenger's server can search, it is also asked by default (backend=both; archive for the local store only) within server_time (5s), under messages.server-search: its hits are saved and re-checked by the same strict query, and each item's found_in says archive, server or both. Returns { items, page, next?, missing?, meta }: items are message hits; meta.accounts the accounts read. A missing entry with field coverage means the archive lacks messages: when nothing was found, run its next step (messages sync) or ask the owner before concluding the message does not exist.";
|
|
7
|
-
/** For a messenger that pushes its history (`history: "store"`): nothing to fetch first, no sync to suggest. */
|
|
8
|
-
export declare const messagesSearchDescription: (messenger: Pick<Messenger, "history">) => string;
|
|
9
|
-
export declare const backendInputs: {
|
|
10
|
-
backend: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<["archive", "server", "both"], undefined>, v.DescriptionAction<"archive" | "both" | "server", "both (default), archive, or the messenger's server; server hits are saved and re-checked by the same strict query, each hit says its source; needs messages.server-search">]>, undefined>;
|
|
11
|
-
server_time: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.DescriptionAction<string, "how long to wait for the server, default 5s, at most 60s">]>, undefined>;
|
|
12
|
-
};
|
|
13
|
-
export declare const backendArgs: (args: {
|
|
14
|
-
backend?: "archive" | "server" | "both";
|
|
15
|
-
server_time?: string;
|
|
16
|
-
}) => {
|
|
17
|
-
backend?: "archive" | "both" | "server" | undefined;
|
|
18
|
-
server?: {
|
|
19
|
-
timeMs: number;
|
|
20
|
-
} | undefined;
|
|
21
|
-
};
|
|
22
|
-
export declare const page: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 1000, undefined>, v.DescriptionAction<number, "which page, from 1: the page a page.next step names">]>, undefined>;
|
|
23
|
-
export declare const messagesSearchInput: (messenger: Messenger) => v.ObjectSchema<{
|
|
24
|
-
readonly sync_first: v.OptionalSchema<v.SchemaWithPipe<readonly [v.BooleanSchema<undefined>, v.DescriptionAction<boolean, "first fetch new messages within the bounds">]>, undefined>;
|
|
25
|
-
readonly max_chats: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 100, undefined>]>, undefined>;
|
|
26
|
-
readonly sync_time: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.DescriptionAction<string, "fetch time budget, default 30s">]>, undefined>;
|
|
27
|
-
readonly max_messages: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 10000, undefined>]>, undefined>;
|
|
28
|
-
readonly thread: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
29
|
-
readonly thread_hops: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 50, undefined>]>, undefined>;
|
|
30
|
-
readonly thread_messages: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 500, undefined>]>, undefined>;
|
|
31
|
-
readonly thread_bytes: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 1048576, undefined>]>, undefined>;
|
|
32
|
-
readonly thread_within: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
33
|
-
readonly backend: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<["archive", "server", "both"], undefined>, v.DescriptionAction<"archive" | "both" | "server", "both (default), archive, or the messenger's server; server hits are saved and re-checked by the same strict query, each hit says its source; needs messages.server-search">]>, undefined>;
|
|
34
|
-
readonly server_time: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.DescriptionAction<string, "how long to wait for the server, default 5s, at most 60s">]>, undefined>;
|
|
35
|
-
readonly page: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 1000, undefined>, v.DescriptionAction<number, "which page, from 1: the page a page.next step names">]>, undefined>;
|
|
36
|
-
readonly text: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.DescriptionAction<string, "the query, in Lucene syntax">]>, undefined>;
|
|
37
|
-
readonly ast: v.OptionalSchema<v.UnknownSchema, undefined>;
|
|
38
|
-
readonly discover: v.OptionalSchema<v.SchemaWithPipe<readonly [v.BooleanSchema<undefined>, v.DescriptionAction<boolean, "partial lexical discovery with eligible replies in the local archive; use for questions when wording is uncertain; hits are evidence, not confirmed answers">]>, undefined>;
|
|
39
|
-
readonly timezone: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
40
|
-
readonly source: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.DescriptionAction<string, "a messenger held on this machine; personal, bots or all — as in: in text">]>, undefined>;
|
|
41
|
-
readonly newest: v.OptionalSchema<v.SchemaWithPipe<readonly [v.BooleanSchema<undefined>, v.DescriptionAction<boolean, "newest first instead of best first">]>, undefined>;
|
|
42
|
-
readonly exact: v.OptionalSchema<v.SchemaWithPipe<readonly [v.BooleanSchema<undefined>, v.DescriptionAction<boolean, "bare words and quotes match their exact form only, as exact:word does; not with an AST">]>, undefined>;
|
|
43
|
-
readonly context: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 20, undefined>, v.DescriptionAction<number, "messages around each hit">]>, undefined>;
|
|
44
|
-
readonly limit: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 100, undefined>, v.DescriptionAction<number, "how many">]>, undefined>;
|
|
45
|
-
readonly saved: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.DescriptionAction<string, "run a saved search (name) or an earlier run (id); text is AND-ed to it, other arguments replace its own">]>, undefined>;
|
|
46
|
-
}, undefined>;
|
|
47
|
-
export declare const syncArgs: (args: {
|
|
48
|
-
sync_first?: boolean;
|
|
49
|
-
max_chats?: number;
|
|
50
|
-
sync_time?: string;
|
|
51
|
-
max_messages?: number;
|
|
52
|
-
}) => {
|
|
53
|
-
syncFirst: {
|
|
54
|
-
maxChats?: number | undefined;
|
|
55
|
-
timeMs?: number | undefined;
|
|
56
|
-
maxMessages?: number | undefined;
|
|
57
|
-
};
|
|
58
|
-
} | {
|
|
59
|
-
syncFirst?: undefined;
|
|
60
|
-
};
|
|
61
|
-
export type MessagesSearchArgs = v.InferOutput<ReturnType<typeof messagesSearchInput>>;
|
|
62
|
-
export declare const answerMessagesSearch: (messages: Pick<MessagesService, "search">, given: MessagesSearchArgs, defaults: {
|
|
63
|
-
limit: number;
|
|
64
|
-
signal?: AbortSignal;
|
|
65
|
-
}, searches?: Pick<SearchesService, "resolve">, kind?: SearchKind) => Promise<import("../../cli/envelope.js").ListBody<{
|
|
66
|
-
ref: string;
|
|
67
|
-
chat_title?: string | null | undefined;
|
|
68
|
-
sender_name: string | null;
|
|
69
|
-
timestamp: string;
|
|
70
|
-
excerpt?: string | undefined;
|
|
71
|
-
matched_in?: "context" | "file" | "filename" | "picture" | "text" | "transcript" | undefined;
|
|
72
|
-
score?: number | undefined;
|
|
73
|
-
found_in?: "archive" | "both" | "server" | undefined;
|
|
74
|
-
discovery?: {
|
|
75
|
-
coverage: number;
|
|
76
|
-
matched_terms: string[];
|
|
77
|
-
missing_terms: string[];
|
|
78
|
-
parent?: string | undefined;
|
|
79
|
-
} | undefined;
|
|
80
|
-
context?: {
|
|
81
|
-
ref: string;
|
|
82
|
-
timestamp: string;
|
|
83
|
-
sender_name: string | null;
|
|
84
|
-
text: string;
|
|
85
|
-
}[] | undefined;
|
|
86
|
-
email?: {
|
|
87
|
-
subject: string | null;
|
|
88
|
-
from: {
|
|
89
|
-
name: string | null;
|
|
90
|
-
address: string;
|
|
91
|
-
ref: string | null;
|
|
92
|
-
} | null;
|
|
93
|
-
to: {
|
|
94
|
-
name: string | null;
|
|
95
|
-
address: string;
|
|
96
|
-
ref: string | null;
|
|
97
|
-
}[];
|
|
98
|
-
cc: {
|
|
99
|
-
name: string | null;
|
|
100
|
-
address: string;
|
|
101
|
-
ref: string | null;
|
|
102
|
-
}[];
|
|
103
|
-
bcc: {
|
|
104
|
-
name: string | null;
|
|
105
|
-
address: string;
|
|
106
|
-
ref: string | null;
|
|
107
|
-
}[];
|
|
108
|
-
reply_addresses: {
|
|
109
|
-
name: string | null;
|
|
110
|
-
address: string;
|
|
111
|
-
ref: string | null;
|
|
112
|
-
}[];
|
|
113
|
-
labels: string[];
|
|
114
|
-
thread: string;
|
|
115
|
-
read: boolean | null;
|
|
116
|
-
flagged: boolean | null;
|
|
117
|
-
sender_score?: {
|
|
118
|
-
score: number;
|
|
119
|
-
signals: string[];
|
|
120
|
-
demoted?: true | undefined;
|
|
121
|
-
} | undefined;
|
|
122
|
-
} | undefined;
|
|
123
|
-
}>>;
|
|
124
|
-
export declare const MESSAGES_STATS_DESCRIPTION = "Count what a strict Lucene query matches in the local store, by chat, sender, calendar day or hour (in the timezone). Each message is counted once; no text means every stored message. Words match every form, as in `search messages`; exact=true counts exact forms only. Counts are lower bounds where coverage is not complete. sync_first optionally refreshes within max_chats, sync_time and max_messages; failed refreshes keep counts with stale coverage and refreshed details. Returns { item: { by, total, rows: [{ key, ref?, name, count }] } }; meta.truncated marks more rows than limit, and missing names a chat the store does not hold whole.";
|
|
125
|
-
export declare const messagesStatsDescription: (messenger: Pick<Messenger, "history">) => string;
|
|
126
|
-
export declare const messagesStatsInput: (messenger: Messenger) => v.ObjectSchema<{
|
|
127
|
-
readonly sync_first: v.OptionalSchema<v.SchemaWithPipe<readonly [v.BooleanSchema<undefined>, v.DescriptionAction<boolean, "first fetch new messages within the bounds">]>, undefined>;
|
|
128
|
-
readonly max_chats: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 100, undefined>]>, undefined>;
|
|
129
|
-
readonly sync_time: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.DescriptionAction<string, "fetch time budget, default 30s">]>, undefined>;
|
|
130
|
-
readonly max_messages: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 10000, undefined>]>, undefined>;
|
|
131
|
-
readonly text: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.DescriptionAction<string, "a strict Lucene query; omit to count all">]>, undefined>;
|
|
132
|
-
readonly ast: v.OptionalSchema<v.UnknownSchema, undefined>;
|
|
133
|
-
readonly exact: v.OptionalSchema<v.SchemaWithPipe<readonly [v.BooleanSchema<undefined>, v.DescriptionAction<boolean, "bare words and quotes match their exact form only, as exact:word does; not with an AST">]>, undefined>;
|
|
134
|
-
readonly by: v.OptionalSchema<v.PicklistSchema<["chat", "sender", "day", "hour"], undefined>, undefined>;
|
|
135
|
-
readonly timezone: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
136
|
-
readonly chat: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.DescriptionAction<string, string>]>, undefined>;
|
|
137
|
-
readonly source: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.DescriptionAction<string, "a messenger held on this machine; personal, bots or all — as in: in text">]>, undefined>;
|
|
138
|
-
readonly limit: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 100, undefined>, v.DescriptionAction<number, "how many">]>, undefined>;
|
|
139
|
-
readonly saved: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.DescriptionAction<string, "run a saved search (name) or an earlier run (id); text is AND-ed to it, other arguments replace its own">]>, undefined>;
|
|
140
|
-
}, undefined>;
|
|
141
|
-
export declare const answerMessagesStats: (messages: Pick<MessagesService, "stats">, args: v.InferOutput<ReturnType<typeof messagesStatsInput>>, defaults: {
|
|
142
|
-
limit: number;
|
|
143
|
-
signal?: AbortSignal;
|
|
144
|
-
}, searches?: Pick<SearchesService, "resolve">) => Promise<import("../../cli/envelope.js").ItemBody<{
|
|
145
|
-
by: "chat" | "day" | "hour" | "sender";
|
|
146
|
-
total: number;
|
|
147
|
-
rows: {
|
|
148
|
-
key: string;
|
|
149
|
-
ref?: string | undefined;
|
|
150
|
-
name: string | null;
|
|
151
|
-
count: number;
|
|
152
|
-
}[];
|
|
153
|
-
}>>;
|
|
154
|
-
//# sourceMappingURL=search.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/search.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAK/D,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,4BAA4B,CAAA;AAE9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAOjE,eAAO,MAAM,2BAA2B,qnEAC4kE,CAAA;AAOpnE,gHAAgH;AAChH,eAAO,MAAM,yBAAyB,cAAe,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,KAAG,MAM3E,CAAA;AAEP,eAAO,MAAM,aAAa;IACxB,OAAO;IAQP,WAAW;CAGZ,CAAA;AAED,eAAO,MAAM,WAAW,SAAU;IAAE,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;CAGjG,CAAA;AAEF,eAAO,MAAM,IAAI,gSAQhB,CAAA;AAED,eAAO,MAAM,mBAAmB,cAAe,SAAS;;;;;;;;;;;;;;;;;;;;;;;aAwCpD,CAAA;AAEJ,eAAO,MAAM,QAAQ,SAAU;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;;;;;;;;CASO,CAAA;AAER,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAA;AAyBtF,eAAO,MAAM,oBAAoB,aACrB,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,SAClC,kBAAkB,YACf;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,aACtC,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,SACrC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DjB,CAAA;AAED,eAAO,MAAM,0BAA0B,uoBAC+lB,CAAA;AAEtoB,eAAO,MAAM,wBAAwB,cAAe,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,KAAG,MAM1E,CAAA;AAEP,eAAO,MAAM,kBAAkB,cAAe,SAAS;;;;;;;;;;;;;;aA0BnD,CAAA;AAEJ,eAAO,MAAM,mBAAmB,aACpB,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,QAClC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,YAChD;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,aACtC,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC;;;;;;;;;GAmB5C,CAAA"}
|
package/dist/mcp/tools/search.js
DELETED
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
import { CliError } from "@wirecat/cli-base";
|
|
2
|
-
import * as v from "valibot";
|
|
3
|
-
import { messagesAnswer, offsetOf } from "../../cli/messenger/search-answers.js";
|
|
4
|
-
import { syncsFirst } from "../../cli/messenger/search-sync-options.js";
|
|
5
|
-
import { countsAnswer } from "../../cli/messenger/stats-answers.js";
|
|
6
|
-
import { parseDuration } from "../../domain/duration.js";
|
|
7
|
-
import { MAX_SEARCH_OFFSET } from "../../services/messages-archive-search.js";
|
|
8
|
-
import { syncInputs } from "../search-sync.js";
|
|
9
|
-
import { threadArgs, threadInputs } from "../thread-options.js";
|
|
10
|
-
import { chatOf, limit } from "../tool.js";
|
|
11
|
-
const EXACT = "bare words and quotes match their exact form only, as exact:word does; not with an AST";
|
|
12
|
-
export const MESSAGES_SEARCH_DESCRIPTION = "Use discover=true for partial lexical evidence and eligible replies to natural questions in the local archive, without model downloads; inspect each item's discovery.missing_terms and its context before answering. Explicit syntax stays strict, and ranking is not answer confidence. Search the local store, and the messenger's server where it can search, using the Lucene 9.12.3 profile, default AND, with strict Boolean matching. chat: narrows to one chat; has:voice, has:file and NOT has:attachment to voice messages, files or text alone. `saved` runs a saved search (`searches list`) or an earlier run (`searches history`). With sync_first, first fetch new messages within max_chats (5), sync_time (30s), max_messages (500), under messages.sync-first permission. thread=true puts each hit's bounded parent/reply graph in its context; thread_hops, thread_messages, thread_bytes, thread_within set its bounds. Guide: https://github.com/WireCatLabs/cli-core/blob/main/docs/search/query-language.md. Text words and quoted phrases match every form of their words (Snowball stems, exact forms ranked first); exact:word, or exact=true, matches the exact form only. A bare word also matches voice transcripts, file names and file text; each item's matched_in says where (text, transcript, filename, file) and its excerpt comes from there; items with matched_in picture follow the text hits on the first page: pictures found by what they show, where the profile turned picture search on; text:, transcript:, content: (file text), filename: narrow to one place. Without discover=true, where the messenger's server can search, it is also asked by default (backend=both; archive for the local store only) within server_time (5s), under messages.server-search: its hits are saved and re-checked by the same strict query, and each item's found_in says archive, server or both. Returns { items, page, next?, missing?, meta }: items are message hits; meta.accounts the accounts read. A missing entry with field coverage means the archive lacks messages: when nothing was found, run its next step (messages sync) or ask the owner before concluding the message does not exist.";
|
|
13
|
-
const SYNC_SENTENCE = " With sync_first, first fetch new messages within max_chats (5), sync_time (30s), max_messages (500), under messages.sync-first permission.";
|
|
14
|
-
const COVERAGE_SENTENCE = " A missing entry with field coverage means the archive lacks messages: when nothing was found, run its next step (messages sync) or ask the owner before concluding the message does not exist.";
|
|
15
|
-
/** For a messenger that pushes its history (`history: "store"`): nothing to fetch first, no sync to suggest. */
|
|
16
|
-
export const messagesSearchDescription = (messenger) => syncsFirst(messenger)
|
|
17
|
-
? MESSAGES_SEARCH_DESCRIPTION
|
|
18
|
-
: MESSAGES_SEARCH_DESCRIPTION.replace(SYNC_SENTENCE, "").replace(COVERAGE_SENTENCE, " The archive holds what serve has kept since the account was linked: when nothing was found, ask the owner before concluding the message does not exist.");
|
|
19
|
-
export const backendInputs = {
|
|
20
|
-
backend: v.optional(v.pipe(v.picklist(["archive", "server", "both"]), v.description("both (default), archive, or the messenger's server; server hits are saved and re-checked by the same strict query, each hit says its source; needs messages.server-search"))),
|
|
21
|
-
server_time: v.optional(v.pipe(v.string(), v.description("how long to wait for the server, default 5s, at most 60s"))),
|
|
22
|
-
};
|
|
23
|
-
export const backendArgs = (args) => ({
|
|
24
|
-
...(args.backend === undefined ? {} : { backend: args.backend }),
|
|
25
|
-
...(args.server_time === undefined ? {} : { server: { timeMs: parseDuration(args.server_time, "server_time") } }),
|
|
26
|
-
});
|
|
27
|
-
export const page = v.optional(v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(MAX_SEARCH_OFFSET), v.description("which page, from 1: the page a page.next step names")));
|
|
28
|
-
export const messagesSearchInput = (messenger) => v.object({
|
|
29
|
-
page,
|
|
30
|
-
// Typed as present so the answer code reads them; offered only where the server can search.
|
|
31
|
-
...(messenger.serverSearch ? backendInputs : {}),
|
|
32
|
-
...threadInputs,
|
|
33
|
-
...syncInputs,
|
|
34
|
-
text: v.optional(v.pipe(v.string(), v.description("the query, in Lucene syntax"))),
|
|
35
|
-
ast: v.optional(v.unknown()),
|
|
36
|
-
discover: v.optional(v.pipe(v.boolean(), v.description("partial lexical discovery with eligible replies in the local archive; use for questions when wording is uncertain; hits are evidence, not confirmed answers"))),
|
|
37
|
-
timezone: v.optional(v.string()),
|
|
38
|
-
source: v.optional(v.pipe(v.string(), v.minLength(1), v.description("a messenger held on this machine; personal, bots or all — as in: in text"))),
|
|
39
|
-
newest: v.optional(v.pipe(v.boolean(), v.description("newest first instead of best first"))),
|
|
40
|
-
exact: v.optional(v.pipe(v.boolean(), v.description(EXACT))),
|
|
41
|
-
context: v.optional(v.pipe(v.number(), v.integer(), v.minValue(0), v.maxValue(20), v.description("messages around each hit"))),
|
|
42
|
-
limit,
|
|
43
|
-
saved: v.optional(v.pipe(v.string(), v.minLength(1), v.description("run a saved search (name) or an earlier run (id); text is AND-ed to it, other arguments replace its own"))),
|
|
44
|
-
});
|
|
45
|
-
export const syncArgs = (args) => args.sync_first
|
|
46
|
-
? {
|
|
47
|
-
syncFirst: {
|
|
48
|
-
...(args.max_chats === undefined ? {} : { maxChats: args.max_chats }),
|
|
49
|
-
...(args.sync_time === undefined ? {} : { timeMs: parseDuration(args.sync_time, "sync_time") }),
|
|
50
|
-
...(args.max_messages === undefined ? {} : { maxMessages: args.max_messages }),
|
|
51
|
-
},
|
|
52
|
-
}
|
|
53
|
-
: {};
|
|
54
|
-
const typedOf = (args) => Object.fromEntries(["text", "discover", "language", "timezone", "source", "newest", "exact", "context", "limit", "by"].flatMap((key) => (args[key] === undefined ? [] : [[key, args[key]]])));
|
|
55
|
-
/** `saved` needs the searches service; a host that mounts the tool without it refuses `saved` rather than ignore it. */
|
|
56
|
-
const resolveSaved = async (searches, args) => {
|
|
57
|
-
if (args.saved === undefined)
|
|
58
|
-
return undefined;
|
|
59
|
-
if (!searches)
|
|
60
|
-
throw new CliError("validation_error", "saved searches are not available on this server");
|
|
61
|
-
if (args.ast !== undefined)
|
|
62
|
-
throw new CliError("validation_error", "with saved, give more words as text, not an AST");
|
|
63
|
-
return searches.resolve(args.saved, typedOf(args));
|
|
64
|
-
};
|
|
65
|
-
const offsetArg = (page, limit) => {
|
|
66
|
-
const offset = offsetOf(page, limit);
|
|
67
|
-
return offset === undefined ? {} : { offset };
|
|
68
|
-
};
|
|
69
|
-
export const answerMessagesSearch = async (messages, given, defaults, searches, kind = "messages") => {
|
|
70
|
-
const args = given;
|
|
71
|
-
const again = {
|
|
72
|
-
...(args.text === undefined ? {} : { query: args.text }),
|
|
73
|
-
...(args.saved === undefined ? {} : { saved: args.saved }),
|
|
74
|
-
...(args.source === undefined ? {} : { source: args.source }),
|
|
75
|
-
...(args.discover ? { discover: true } : {}),
|
|
76
|
-
...(args.exact ? { exact: true } : {}),
|
|
77
|
-
...(args.newest ? { newest: true } : {}),
|
|
78
|
-
...(args.timezone === undefined ? {} : { timezone: args.timezone }),
|
|
79
|
-
};
|
|
80
|
-
const answer = (found, limit) => messagesAnswer(`search ${kind}`, found, { limit, page: args.page ?? 1, again }, args.text);
|
|
81
|
-
const resolved = await resolveSaved(searches, args);
|
|
82
|
-
if (resolved) {
|
|
83
|
-
const { params } = resolved;
|
|
84
|
-
const size = params.limit ?? defaults.limit;
|
|
85
|
-
const found = await messages.search({
|
|
86
|
-
kind,
|
|
87
|
-
...syncArgs(args),
|
|
88
|
-
...backendArgs(args),
|
|
89
|
-
...threadArgs(args),
|
|
90
|
-
...(params.text === undefined ? {} : { text: params.text }),
|
|
91
|
-
...(params.ast === undefined ? {} : { ast: params.ast }),
|
|
92
|
-
...(params.discover === undefined ? {} : { discover: params.discover }),
|
|
93
|
-
signal: defaults.signal,
|
|
94
|
-
...(params.timezone === undefined ? {} : { timezone: params.timezone }),
|
|
95
|
-
limit: size,
|
|
96
|
-
...offsetArg(args.page, size),
|
|
97
|
-
newest: params.newest === true,
|
|
98
|
-
...(params.exact ? { exact: true } : {}),
|
|
99
|
-
context: params.context ?? 0,
|
|
100
|
-
...(params.chat === undefined ? {} : { chat: params.chat }),
|
|
101
|
-
...(params.source === undefined ? {} : { source: params.source }),
|
|
102
|
-
saved: resolved.id,
|
|
103
|
-
});
|
|
104
|
-
return answer(found, size);
|
|
105
|
-
}
|
|
106
|
-
if (args.text === undefined && args.ast === undefined)
|
|
107
|
-
throw new CliError("validation_error", "give search text, a versioned AST, or saved");
|
|
108
|
-
const size = args.limit ?? defaults.limit;
|
|
109
|
-
const found = await messages.search({
|
|
110
|
-
kind,
|
|
111
|
-
...syncArgs(args),
|
|
112
|
-
...backendArgs(args),
|
|
113
|
-
...threadArgs(args),
|
|
114
|
-
...(args.text === undefined ? {} : { text: args.text }),
|
|
115
|
-
...(args.ast === undefined ? {} : { ast: args.ast }),
|
|
116
|
-
...(args.discover === undefined ? {} : { discover: args.discover }),
|
|
117
|
-
signal: defaults.signal,
|
|
118
|
-
...(args.timezone === undefined ? {} : { timezone: args.timezone }),
|
|
119
|
-
limit: size,
|
|
120
|
-
...offsetArg(args.page, size),
|
|
121
|
-
newest: args.newest === true,
|
|
122
|
-
...(args.exact ? { exact: true } : {}),
|
|
123
|
-
context: args.context ?? 0,
|
|
124
|
-
...(args.source === undefined ? {} : { source: args.source }),
|
|
125
|
-
});
|
|
126
|
-
return answer(found, size);
|
|
127
|
-
};
|
|
128
|
-
export const MESSAGES_STATS_DESCRIPTION = "Count what a strict Lucene query matches in the local store, by chat, sender, calendar day or hour (in the timezone). Each message is counted once; no text means every stored message. Words match every form, as in `search messages`; exact=true counts exact forms only. Counts are lower bounds where coverage is not complete. sync_first optionally refreshes within max_chats, sync_time and max_messages; failed refreshes keep counts with stale coverage and refreshed details. Returns { item: { by, total, rows: [{ key, ref?, name, count }] } }; meta.truncated marks more rows than limit, and missing names a chat the store does not hold whole.";
|
|
129
|
-
export const messagesStatsDescription = (messenger) => syncsFirst(messenger)
|
|
130
|
-
? MESSAGES_STATS_DESCRIPTION
|
|
131
|
-
: MESSAGES_STATS_DESCRIPTION.replace(" sync_first optionally refreshes within max_chats, sync_time and max_messages; failed refreshes keep counts with stale coverage and refreshed details.", "");
|
|
132
|
-
export const messagesStatsInput = (messenger) => v.object({
|
|
133
|
-
...syncInputs,
|
|
134
|
-
text: v.optional(v.pipe(v.string(), v.minLength(1), v.description("a strict Lucene query; omit to count all"))),
|
|
135
|
-
ast: v.optional(v.unknown()),
|
|
136
|
-
exact: v.optional(v.pipe(v.boolean(), v.description(EXACT))),
|
|
137
|
-
by: v.optional(v.picklist(["chat", "sender", "day", "hour"])),
|
|
138
|
-
timezone: v.optional(v.string()),
|
|
139
|
-
chat: v.optional(chatOf(messenger)),
|
|
140
|
-
source: v.optional(v.pipe(v.string(), v.minLength(1), v.description("a messenger held on this machine; personal, bots or all — as in: in text"))),
|
|
141
|
-
limit,
|
|
142
|
-
saved: v.optional(v.pipe(v.string(), v.minLength(1), v.description("run a saved search (name) or an earlier run (id); text is AND-ed to it, other arguments replace its own"))),
|
|
143
|
-
});
|
|
144
|
-
export const answerMessagesStats = async (messages, args, defaults, searches) => {
|
|
145
|
-
const resolved = await resolveSaved(searches, args);
|
|
146
|
-
const params = resolved?.params ?? args;
|
|
147
|
-
const size = params.limit ?? defaults.limit;
|
|
148
|
-
const stats = await messages.stats({
|
|
149
|
-
...syncArgs(args),
|
|
150
|
-
...(params.text === undefined ? {} : { text: params.text }),
|
|
151
|
-
...(params.ast === undefined ? {} : { ast: params.ast }),
|
|
152
|
-
by: params.by ?? "chat",
|
|
153
|
-
...(params.exact ? { exact: true } : {}),
|
|
154
|
-
signal: defaults.signal,
|
|
155
|
-
...(params.timezone === undefined ? {} : { timezone: params.timezone }),
|
|
156
|
-
limit: size,
|
|
157
|
-
...(params.chat === undefined ? {} : { chat: params.chat }),
|
|
158
|
-
...(params.source === undefined ? {} : { source: params.source }),
|
|
159
|
-
...(resolved ? { saved: resolved.id } : {}),
|
|
160
|
-
});
|
|
161
|
-
return countsAnswer(stats);
|
|
162
|
-
};
|
|
163
|
-
//# sourceMappingURL=search.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/mcp/tools/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"searches.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/searches.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAO/D,OAAO,EAAE,KAAK,OAAO,EAA2C,MAAM,YAAY,CAAA;AASlF,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAuH1E,CAAA"}
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { CliError } from "@wirecat/cli-base";
|
|
2
|
-
import * as v from "valibot";
|
|
3
|
-
import { itemOf, listOf } from "../../cli/envelope.js";
|
|
4
|
-
import { isAdminSelection } from "../../services/admin-statistics.js";
|
|
5
|
-
import { servicesFor, storedDeps } from "../../services/index.js";
|
|
6
|
-
import { readRankingSelection } from "../../services/rankings-selection.js";
|
|
7
|
-
import { savedSearchItem } from "../../services/searches.js";
|
|
8
|
-
import { chatOf, limit, page, paging, READ, tool } from "../tool.js";
|
|
9
|
-
const LOCAL = { readOnlyHint: false, openWorldHint: false };
|
|
10
|
-
const reference = v.pipe(v.string(), v.minLength(1), v.description("a saved search's name, or the id of any row of `searches history`"));
|
|
11
|
-
export const searchesTools = (messenger) => {
|
|
12
|
-
const services = (store, account, guard) => servicesFor(storedDeps(messenger, store, account, guard));
|
|
13
|
-
return {
|
|
14
|
-
searches_list: tool({
|
|
15
|
-
title: "List saved searches",
|
|
16
|
-
description: "The saved searches, by name; `search messages` and `stats messages show` run one with `saved`.",
|
|
17
|
-
input: v.object({}),
|
|
18
|
-
annotations: { ...READ, openWorldHint: false },
|
|
19
|
-
output: { entity: "saved_search", list: true },
|
|
20
|
-
stored: async (store, account, _args, defaults) => {
|
|
21
|
-
const items = (await services(store, account, defaults.guard).searches.list()).map(savedSearchItem);
|
|
22
|
-
return listOf("searches list", { items, limit: Math.max(1, items.length), has_more: false });
|
|
23
|
-
},
|
|
24
|
-
}),
|
|
25
|
-
searches_history: tool({
|
|
26
|
-
title: "Search history",
|
|
27
|
-
description: "The searches and counts that ran, newest first, saved ones included: the query and options as given, " +
|
|
28
|
-
"never the results. `saved` with an id runs one again.",
|
|
29
|
-
input: v.object({ limit, page }),
|
|
30
|
-
annotations: { ...READ, openWorldHint: false },
|
|
31
|
-
output: { entity: "saved_search", list: true },
|
|
32
|
-
stored: async (store, account, args, defaults) => {
|
|
33
|
-
const { size, number, window } = paging(args, defaults);
|
|
34
|
-
const found = await services(store, account, defaults.guard).searches.history(window.limit, window.offset);
|
|
35
|
-
return listOf("searches history", {
|
|
36
|
-
items: found.items.map(savedSearchItem),
|
|
37
|
-
limit: size,
|
|
38
|
-
has_more: found.has_more,
|
|
39
|
-
page: number,
|
|
40
|
-
});
|
|
41
|
-
},
|
|
42
|
-
}),
|
|
43
|
-
searches_create: tool({
|
|
44
|
-
changesStore: true,
|
|
45
|
-
title: "Save a search",
|
|
46
|
-
description: "Saves a search under a name without running it; the query is checked against today's fields. Takes " +
|
|
47
|
-
"`search messages`'s arguments, plus `by` for `stats messages show`. A taken name is refused unless `replace`. " +
|
|
48
|
-
"Writes only to the local store.",
|
|
49
|
-
input: v.object({
|
|
50
|
-
name: v.pipe(v.string(), v.minLength(1), v.description("up to 64 letters a–z, digits and hyphens")),
|
|
51
|
-
text: v.optional(v.pipe(v.string(), v.minLength(1), v.description("the query, in Lucene syntax"))),
|
|
52
|
-
ast: v.optional(v.unknown()),
|
|
53
|
-
timezone: v.optional(v.string()),
|
|
54
|
-
chat: v.optional(chatOf(messenger)),
|
|
55
|
-
source: v.optional(v.pipe(v.string(), v.minLength(1), v.description("a messenger held on this machine"))),
|
|
56
|
-
newest: v.optional(v.boolean()),
|
|
57
|
-
context: v.optional(v.pipe(v.number(), v.integer(), v.minValue(0), v.maxValue(20))),
|
|
58
|
-
limit,
|
|
59
|
-
by: v.optional(v.picklist(["chat", "sender", "day", "hour"])),
|
|
60
|
-
selection: v.optional(v.union([v.string(), v.record(v.string(), v.unknown())])),
|
|
61
|
-
replace: v.optional(v.pipe(v.boolean(), v.description("overwrite a saved search of the same name"))),
|
|
62
|
-
}),
|
|
63
|
-
annotations: { ...LOCAL, destructiveHint: false, idempotentHint: false },
|
|
64
|
-
output: { entity: "saved_search", list: false },
|
|
65
|
-
stored: async (store, account, { name, replace, ...params }, defaults) => {
|
|
66
|
-
if (params.selection !== undefined) {
|
|
67
|
-
if (Object.entries(params).some(([key, value]) => key !== "selection" && value !== undefined))
|
|
68
|
-
throw new CliError("validation_error", "with selection, save the resolved ranking query without additional options");
|
|
69
|
-
if (isAdminSelection(params.selection))
|
|
70
|
-
return itemOf(savedSearchItem(await services(store, account, defaults.guard).searches.create(name, params, {
|
|
71
|
-
replace: replace === true,
|
|
72
|
-
})));
|
|
73
|
-
const selection = await readRankingSelection(store, params.selection);
|
|
74
|
-
const saved = await services(store, account, defaults.guard).searches.create(name, {
|
|
75
|
-
selection,
|
|
76
|
-
target: selection.target,
|
|
77
|
-
...selection.options,
|
|
78
|
-
timezone: selection.timezone,
|
|
79
|
-
}, { replace: replace === true });
|
|
80
|
-
return itemOf(savedSearchItem(saved));
|
|
81
|
-
}
|
|
82
|
-
return itemOf(savedSearchItem(await services(store, account, defaults.guard).searches.create(name, params, { replace: replace === true })));
|
|
83
|
-
},
|
|
84
|
-
}),
|
|
85
|
-
searches_delete: tool({
|
|
86
|
-
changesStore: true,
|
|
87
|
-
title: "Delete a saved search",
|
|
88
|
-
description: "Deletes a saved search, or one run from the history. Writes only to the local store.",
|
|
89
|
-
input: v.object({ name: reference }),
|
|
90
|
-
annotations: { ...LOCAL, destructiveHint: true, idempotentHint: false },
|
|
91
|
-
output: { entity: "saved_search", list: false },
|
|
92
|
-
stored: async (store, account, args, defaults) => {
|
|
93
|
-
return itemOf(savedSearchItem(await services(store, account, defaults.guard).searches.delete(args.name)));
|
|
94
|
-
},
|
|
95
|
-
}),
|
|
96
|
-
searches_clear: tool({
|
|
97
|
-
changesStore: true,
|
|
98
|
-
title: "Clear search history",
|
|
99
|
-
description: "Empties the search history; saved searches stay. Writes only to the local store. Returns { item: { cleared } }.",
|
|
100
|
-
input: v.object({}),
|
|
101
|
-
annotations: { ...LOCAL, destructiveHint: true, idempotentHint: true },
|
|
102
|
-
stored: async (store, account, _args, defaults) => {
|
|
103
|
-
return itemOf(await services(store, account, defaults.guard).searches.clear());
|
|
104
|
-
},
|
|
105
|
-
}),
|
|
106
|
-
};
|
|
107
|
-
};
|
|
108
|
-
//# sourceMappingURL=searches.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"searches.js","sourceRoot":"","sources":["../../../src/mcp/tools/searches.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAGtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,OAAO,EAAgB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAElF,MAAM,KAAK,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAA;AAC3D,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CACtB,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACd,CAAC,CAAC,WAAW,CAAC,mEAAmE,CAAC,CACnF,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAoB,EAA2B,EAAE;IAC7E,MAAM,QAAQ,GAAG,CAAC,KAAmB,EAAE,OAAmB,EAAE,KAAgB,EAAE,EAAE,CAC9E,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;IAC3D,OAAO;QACL,aAAa,EAAE,IAAI,CAAC;YAClB,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EAAE,gGAAgG;YAC7G,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACnB,WAAW,EAAE,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;YAC9C,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;YAC9C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;gBAChD,MAAM,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;gBACnG,OAAO,MAAM,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;YAC9F,CAAC;SACF,CAAC;QAEF,gBAAgB,EAAE,IAAI,CAAC;YACrB,KAAK,EAAE,gBAAgB;YACvB,WAAW,EACT,uGAAuG;gBACvG,uDAAuD;YACzD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YAChC,WAAW,EAAE,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;YAC9C,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;YAC9C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC/C,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;gBACvD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;gBAC1G,OAAO,MAAM,CAAC,kBAAkB,EAAE;oBAChC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC;oBACvC,KAAK,EAAE,IAAI;oBACX,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,IAAI,EAAE,MAAM;iBACb,CAAC,CAAA;YACJ,CAAC;SACF,CAAC;QAEF,eAAe,EAAE,IAAI,CAAC;YACpB,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,eAAe;YACtB,WAAW,EACT,qGAAqG;gBACrG,gHAAgH;gBAChH,iCAAiC;YACnC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;gBACd,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,0CAA0C,CAAC,CAAC;gBACnG,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC,CAAC;gBAClG,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC5B,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBAChC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACnC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAC,CAAC;gBACzG,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC/B,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnF,KAAK;gBACL,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC7D,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC/E,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,2CAA2C,CAAC,CAAC,CAAC;aACrG,CAAC;YACF,WAAW,EAAE,EAAE,GAAG,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE;YACxE,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;YAC/C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE;gBACvE,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBACnC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,KAAK,SAAS,CAAC;wBAC3F,MAAM,IAAI,QAAQ,CAChB,kBAAkB,EAClB,4EAA4E,CAC7E,CAAA;oBACH,IAAI,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC;wBACpC,OAAO,MAAM,CACX,eAAe,CACb,MAAM,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE;4BAC3E,OAAO,EAAE,OAAO,KAAK,IAAI;yBAC1B,CAAC,CACH,CACF,CAAA;oBACH,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;oBACrE,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAC1E,IAAI,EACJ;wBACE,SAAS;wBACT,MAAM,EAAE,SAAS,CAAC,MAAM;wBACxB,GAAG,SAAS,CAAC,OAAO;wBACpB,QAAQ,EAAE,SAAS,CAAC,QAAQ;qBAC7B,EACD,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,EAAE,CAC9B,CAAA;oBACD,OAAO,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAA;gBACvC,CAAC;gBACD,OAAO,MAAM,CACX,eAAe,CACb,MAAM,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC,CAC5G,CACF,CAAA;YACH,CAAC;SACF,CAAC;QAEF,eAAe,EAAE,IAAI,CAAC;YACpB,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EAAE,sFAAsF;YACnG,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YACpC,WAAW,EAAE,EAAE,GAAG,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE;YACvE,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;YAC/C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC/C,OAAO,MAAM,CAAC,eAAe,CAAC,MAAM,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC3G,CAAC;SACF,CAAC;QAEF,cAAc,EAAE,IAAI,CAAC;YACnB,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EACT,iHAAiH;YACnH,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACnB,WAAW,EAAE,EAAE,GAAG,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;YACtE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;gBAChD,OAAO,MAAM,CAAC,MAAM,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;YAChF,CAAC;SACF,CAAC;KACH,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/store.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAS/D,OAAO,EAAE,KAAK,OAAO,EAAsB,MAAM,YAAY,CAAA;AAG7D,eAAO,MAAM,UAAU,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAiKtE,CAAA"}
|