@wirecat/cli-memo 0.53.0 → 0.55.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.
Files changed (109) hide show
  1. package/dist/actions/command.d.ts.map +1 -1
  2. package/dist/actions/command.js +7 -9
  3. package/dist/actions/command.js.map +1 -1
  4. package/dist/agents/command.d.ts.map +1 -1
  5. package/dist/agents/command.js +4 -5
  6. package/dist/agents/command.js.map +1 -1
  7. package/dist/answers/command.d.ts +1 -1
  8. package/dist/answers/command.d.ts.map +1 -1
  9. package/dist/answers/command.js +4 -3
  10. package/dist/answers/command.js.map +1 -1
  11. package/dist/context/command.d.ts.map +1 -1
  12. package/dist/context/command.js +3 -2
  13. package/dist/context/command.js.map +1 -1
  14. package/dist/discovery/command.d.ts.map +1 -1
  15. package/dist/discovery/command.js +3 -3
  16. package/dist/discovery/command.js.map +1 -1
  17. package/dist/doctor/command.d.ts.map +1 -1
  18. package/dist/doctor/command.js +3 -3
  19. package/dist/doctor/command.js.map +1 -1
  20. package/dist/facts/command.d.ts.map +1 -1
  21. package/dist/facts/command.js +7 -9
  22. package/dist/facts/command.js.map +1 -1
  23. package/dist/failure.d.ts.map +1 -1
  24. package/dist/failure.js +5 -4
  25. package/dist/failure.js.map +1 -1
  26. package/dist/knowledge/command.d.ts.map +1 -1
  27. package/dist/knowledge/command.js +28 -36
  28. package/dist/knowledge/command.js.map +1 -1
  29. package/dist/knowledge/meeting-projects-command.d.ts.map +1 -1
  30. package/dist/knowledge/meeting-projects-command.js +4 -5
  31. package/dist/knowledge/meeting-projects-command.js.map +1 -1
  32. package/dist/mail/accounts.d.ts +6 -1
  33. package/dist/mail/accounts.d.ts.map +1 -1
  34. package/dist/mail/accounts.js +13 -1
  35. package/dist/mail/accounts.js.map +1 -1
  36. package/dist/mail/apply.js +1 -1
  37. package/dist/mail/apply.js.map +1 -1
  38. package/dist/mail/command.d.ts.map +1 -1
  39. package/dist/mail/command.js +15 -26
  40. package/dist/mail/command.js.map +1 -1
  41. package/dist/mail/import.d.ts.map +1 -1
  42. package/dist/mail/import.js +4 -4
  43. package/dist/mail/import.js.map +1 -1
  44. package/dist/mail/messages-command.d.ts.map +1 -1
  45. package/dist/mail/messages-command.js +3 -2
  46. package/dist/mail/messages-command.js.map +1 -1
  47. package/dist/mail/status.d.ts.map +1 -1
  48. package/dist/mail/status.js +5 -1
  49. package/dist/mail/status.js.map +1 -1
  50. package/dist/mcp/command.d.ts.map +1 -1
  51. package/dist/mcp/command.js +3 -2
  52. package/dist/mcp/command.js.map +1 -1
  53. package/dist/mcp/knowledge.js +1 -1
  54. package/dist/mcp/knowledge.js.map +1 -1
  55. package/dist/memories/command.d.ts.map +1 -1
  56. package/dist/memories/command.js +8 -11
  57. package/dist/memories/command.js.map +1 -1
  58. package/dist/notes/command.d.ts.map +1 -1
  59. package/dist/notes/command.js +8 -12
  60. package/dist/notes/command.js.map +1 -1
  61. package/dist/notes/folders-command.d.ts.map +1 -1
  62. package/dist/notes/folders-command.js +5 -6
  63. package/dist/notes/folders-command.js.map +1 -1
  64. package/dist/people/command.d.ts.map +1 -1
  65. package/dist/people/command.js +3 -2
  66. package/dist/people/command.js.map +1 -1
  67. package/dist/program.d.ts.map +1 -1
  68. package/dist/program.js +9 -5
  69. package/dist/program.js.map +1 -1
  70. package/dist/run/auto.d.ts.map +1 -1
  71. package/dist/run/auto.js +5 -6
  72. package/dist/run/auto.js.map +1 -1
  73. package/dist/run/import.d.ts.map +1 -1
  74. package/dist/run/import.js +3 -3
  75. package/dist/run/import.js.map +1 -1
  76. package/dist/search/command.d.ts +1 -63
  77. package/dist/search/command.d.ts.map +1 -1
  78. package/dist/search/command.js +11 -239
  79. package/dist/search/command.js.map +1 -1
  80. package/dist/search/search.d.ts +82 -0
  81. package/dist/search/search.d.ts.map +1 -0
  82. package/dist/search/search.js +227 -0
  83. package/dist/search/search.js.map +1 -0
  84. package/dist/tags/command.d.ts.map +1 -1
  85. package/dist/tags/command.js +4 -5
  86. package/dist/tags/command.js.map +1 -1
  87. package/dist/tasks/command.d.ts.map +1 -1
  88. package/dist/tasks/command.js +16 -86
  89. package/dist/tasks/command.js.map +1 -1
  90. package/dist/tasks/relations-command.d.ts.map +1 -1
  91. package/dist/tasks/relations-command.js +5 -6
  92. package/dist/tasks/relations-command.js.map +1 -1
  93. package/dist/tasks/tasks.d.ts +33 -0
  94. package/dist/tasks/tasks.d.ts.map +1 -0
  95. package/dist/tasks/tasks.js +82 -0
  96. package/dist/tasks/tasks.js.map +1 -0
  97. package/dist/update.d.ts.map +1 -1
  98. package/dist/update.js +4 -3
  99. package/dist/update.js.map +1 -1
  100. package/dist/version.d.ts +1 -1
  101. package/dist/version.js +1 -1
  102. package/dist/vocabulary/command.d.ts.map +1 -1
  103. package/dist/vocabulary/command.js +8 -12
  104. package/dist/vocabulary/command.js.map +1 -1
  105. package/package.json +2 -2
  106. package/dist/effects.d.ts +0 -11
  107. package/dist/effects.d.ts.map +0 -1
  108. package/dist/effects.js +0 -139
  109. package/dist/effects.js.map +0 -1
@@ -1,168 +1,21 @@
1
- import { CliError, isCliError } from "@wirecat/cli-base";
1
+ import { CliError } from "@wirecat/cli-base";
2
2
  import { annotate } from "@wirecat/cli-base/commands";
3
- import { parseLucene } from "@wirecat/cli-base/query";
4
- import { parseLocator } from "@wirecat/cli-core";
5
- import { searchAll, searchNotesOf, searchNotesQuery, searchStore, } from "@wirecat/cli-core/services";
3
+ import { LOCAL_READ } from "@wirecat/cli-core/cli";
6
4
  import { InvalidArgumentError } from "commander";
7
5
  import { answers, withStore } from "../answer.js";
8
- import { APP } from "../app.js";
9
- import { loadConfig } from "../config.js";
10
- import { keyDocuments, keyFirst, projectOf } from "../knowledge/key-documents.js";
11
- import { mailAccounts } from "../mail/accounts.js";
12
6
  import { searchMemoriesCommand } from "../memories/command.js";
13
7
  import { modelHint } from "../notes/embed.js";
14
8
  import { searchText } from "../notes/search.js";
15
9
  import { positive } from "../options.js";
16
10
  import { SAVE_HELP } from "../save-help.js";
17
- import { selectAccount } from "../store/scope.js";
18
- import { taskPage } from "../tasks/context.js";
19
11
  import { allAnswer, kindAnswer, notesAnswer } from "./answers.js";
20
- const CHATS_CHECKED = 500;
21
- /**
22
- * The account memo's searches run as: its own notes, never a stored account picked for the owner. The scope comes
23
- * from the query alone, and every account it covers is named in the answer.
24
- */
25
- const MEMO = { provider: "notes", account: "internal" };
26
- export const unifiedSearch = async (store, query, options) => {
27
- const limit = options.limit ?? 20, offset = options.offset ?? 0;
28
- if (!Number.isInteger(limit) || limit < 1 || limit > 100 || !Number.isInteger(offset) || offset < 0 || offset > 1000)
29
- throw new CliError("validation_error", "limit takes 1–100; offset takes 0–1000");
30
- if ((!options.keys.length && !options.notes) || options.keys.length > 50)
31
- throw new CliError("validation_error", "select 1–50 accounts, or notes");
32
- const answer = options.keys.length
33
- ? await searchStore(store, MEMO, {
34
- text: query,
35
- accounts: options.keys,
36
- limit: Math.min(2000, offset + limit + 1),
37
- newest: true,
38
- })
39
- : { items: [], hasMore: false };
40
- const items = answer.items.map((hit) => {
41
- const key = parseLocator(hit.locator);
42
- return {
43
- kind: key.provider === "email" ? "email" : "message",
44
- locator: hit.locator,
45
- provider: key.provider,
46
- account: key.account,
47
- timestamp: hit.timestamp,
48
- text: hit.text.slice(0, 2000),
49
- match: "structured-words",
50
- };
51
- });
52
- const matched = new Set(items.map((hit) => hit.locator));
53
- const coverage = [];
54
- let incomplete = answer.hasMore;
55
- const noteItem = (note, match) => ({
56
- kind: "note",
57
- locator: note.ref,
58
- provider: "notes",
59
- account: note.folderId ?? "internal",
60
- timestamp: note.updatedAt,
61
- text: note.text.slice(0, 2000),
62
- match,
63
- });
64
- if (options.notes) {
65
- try {
66
- const notes = await searchNotesQuery(store, { text: query, limit: Math.min(500, offset + limit + 1) });
67
- incomplete ||= notes.hasMore;
68
- items.push(...notes.items.map(({ note }) => noteItem(note, "structured-words")));
69
- coverage.push({ notes: "searched" });
70
- }
71
- catch (error) {
72
- // A field only messages have (`from:`, `after:`) is refused by notes; the messages still answer.
73
- if (!isCliError(error) || error.code !== "validation_error" || !options.keys.length)
74
- throw error;
75
- coverage.push({ notes: `not searched: ${error.message}` });
76
- incomplete = true;
77
- }
78
- }
79
- if (options.noteText !== undefined) {
80
- const notes = await store.notes.notes({
81
- source: "internal",
82
- search: options.noteText,
83
- limit: Math.min(500, offset + limit + 1),
84
- });
85
- incomplete ||= notes.hasMore;
86
- items.push(...notes.items.map((note) => noteItem(note, "note-text")));
87
- }
88
- for (const item of items)
89
- matched.add(item.locator);
90
- for (const key of options.keys) {
91
- const taskResults = await taskPage(store, key, {
92
- state: "open",
93
- sources: [...matched],
94
- limit: Math.min(500, offset + limit + 1),
95
- });
96
- incomplete ||= taskResults.hasMore;
97
- for (const task of taskResults.items) {
98
- if (matched.has(task.source))
99
- items.push({
100
- kind: "task",
101
- locator: `task:${task.id}`,
102
- ...key,
103
- timestamp: task.createdAt.toISOString(),
104
- text: task.kind,
105
- source: task.source,
106
- match: "task-source",
107
- });
108
- }
109
- if (key.provider === "email")
110
- coverage.push({ ...key, mail: (await store.syncState(key, "mail_coverage"))?.value ?? null });
111
- else {
112
- // Counts, not one row per chat: an account of hundreds of chats made the rows most of an answer.
113
- const chats = await store.chats(key, { limit: CHATS_CHECKED });
114
- const archives = await store.chatCompleteness(key, chats.items.map((chat) => chat.id));
115
- const count = (test) => archives.filter(test).length;
116
- coverage.push({
117
- ...key,
118
- chats: {
119
- checked: archives.length,
120
- more: chats.hasMore,
121
- complete: count(({ state }) => state === "complete"),
122
- partial: count(({ state }) => state === "partial"),
123
- neverFetched: count(({ state }) => state === "unknown"),
124
- behind: count(({ upToDate }) => upToDate === false),
125
- withGaps: count(({ gaps }) => gaps),
126
- },
127
- });
128
- }
129
- }
130
- items.sort((a, b) => b.timestamp.localeCompare(a.timestamp) || a.kind.localeCompare(b.kind) || a.locator.localeCompare(b.locator));
131
- const unique = [...new Map(items.map((item) => [item.locator, item])).values()];
132
- const hasMore = unique.length > offset + limit;
133
- return {
134
- query,
135
- items: unique.slice(offset, offset + limit),
136
- hasMore,
137
- ...(hasMore && offset + limit <= 1000 ? { nextOffset: offset + limit } : {}),
138
- incomplete: incomplete || (hasMore && offset + limit > 1000),
139
- accounts: options.keys,
140
- coverage,
141
- };
142
- };
143
- /** Notes are no account's: `--all` takes them with every account, `--provider notes` alone. */
144
- export const searchAccounts = async (store, options) => {
145
- if (options.all && (options.provider !== undefined || options.account !== undefined))
146
- throw new CliError("validation_error", "use --all alone or select one provider/account");
147
- if (options.provider === "notes")
148
- return { keys: [], notes: true };
149
- const messengers = (await store.accounts()).filter(({ provider }) => provider !== "notes");
150
- return options.all ? { keys: messengers, notes: true } : { keys: [await selectAccount(store, options)], notes: false };
151
- };
12
+ import { keyDocumentsFirst, mailAddressOf, searchEverywhere, searchKind, searchNotes } from "./search.js";
152
13
  const onlyOf = (value) => {
153
14
  const selected = value.split(",").map((part) => part.trim());
154
15
  if (!selected.length || selected.some((part) => !["messages", "mail", "notes"].includes(part)))
155
16
  throw new InvalidArgumentError("choose messages,mail,notes, separated by commas");
156
17
  return [...new Set(selected)];
157
18
  };
158
- const noteType = (value) => {
159
- if (value !== "file" && value !== "internal")
160
- throw new InvalidArgumentError("choose file or internal");
161
- return value;
162
- };
163
- const hasSource = (node) => node.kind === "predicate"
164
- ? node.field === "in"
165
- : node.clauses.some(({ occur, node }) => occur !== "must_not" && hasSource(node));
166
19
  const levelOf = ({ brief, full }) => {
167
20
  if (brief && full)
168
21
  throw new CliError("validation_error", "--brief and --full ask for opposite things — pick one");
@@ -194,72 +47,8 @@ export const found = (item, level) => {
194
47
  ];
195
48
  return lines.join("\n");
196
49
  };
197
- /** Messages, mail and notes ranked together, with the open tasks that point at a hit and every account read. */
198
- export const searchEverywhere = async (store, env, { text, limit, only, exact, timezone }) => {
199
- const accounts = await store.accounts();
200
- // The shared search names this command only in the model hint, and the model comes from tg.
201
- const messenger = { app: { ...APP, command: "tg" } };
202
- let messageAccounts = [];
203
- const found = await searchAll(store, MEMO, {
204
- text,
205
- limit,
206
- env,
207
- ...(only === undefined ? {} : { only }),
208
- ...(exact ? { exact: true } : {}),
209
- ...(timezone === undefined ? {} : { timezone }),
210
- }, messenger, async (query) => {
211
- const read = await searchStore(store, MEMO, query, messenger);
212
- messageAccounts = read.coverage?.accounts ?? [];
213
- return read;
214
- });
215
- const searched = [];
216
- for (const resource of found.searched) {
217
- if (resource === "messages")
218
- searched.push(...messageAccounts.map(({ provider, account }) => ({ resource, provider, account })));
219
- if (resource === "mail")
220
- searched.push(...accounts
221
- .filter(({ provider }) => provider === "email")
222
- .map(({ provider, account }) => ({ resource, provider, account })));
223
- if (resource === "notes")
224
- searched.push({ resource, provider: "notes", account: "internal" }, ...(await store.notes.folders()).map(({ id }) => ({ resource, provider: "notes", account: id })));
225
- }
226
- const tasks = [];
227
- let tasksIncomplete = false;
228
- const sources = found.items.map((item) => item.ref);
229
- for (const account of accounts) {
230
- const page = await taskPage(store, account, { state: "open", sources, limit: Math.min(limit, 500) });
231
- tasks.push(...page.items.map((task) => ({ ...task, heldBy: account })));
232
- tasksIncomplete ||= page.hasMore;
233
- }
234
- return {
235
- ...found,
236
- accounts: searched,
237
- tasks: tasks.slice(0, limit),
238
- tasksIncomplete: tasksIncomplete || tasks.length > limit,
239
- };
240
- };
241
- /** One kind with all its fields: messenger messages from every messenger, or imported mail. */
242
- export const searchKind = async (store, kind, { text, limit, account, exact, timezone }) => {
243
- const held = (await store.accounts()).some(({ provider }) => provider !== "notes" && (kind === "mail" ? provider === "email" : provider !== "email"));
244
- if (!held)
245
- throw new CliError("not_found", kind === "mail" ? "no imported mail; run memo sync --only mail" : "no stored messenger messages");
246
- return searchStore(store, MEMO, {
247
- text,
248
- kind,
249
- ...(kind === "messages" && !hasSource(parseLucene(text).root) ? { source: "all" } : {}),
250
- limit,
251
- ...(account === undefined ? {} : { mailAccount: account }),
252
- ...(exact ? { exact: true } : {}),
253
- ...(timezone === undefined ? {} : { timezone }),
254
- }, { app: APP });
255
- };
256
- /** The rules and `memo mail status` take an account's name; search takes it too, or the address. */
257
- const mailAddressOf = (env, account) => account.includes("@")
258
- ? account
259
- : (mailAccounts(loadConfig(env).mail?.accounts ?? [], [account])[0]?.address ?? account);
260
50
  const PROJECT_HELP = "rank the key documents of this project (id, key or project:<id>) first, labelled key; nothing is left out";
261
51
  const PROJECT_ORDER_HELP = "rank the key documents of this project (id, key or project:<id>) first; nothing is left out";
262
- const keyRefs = async (store, project) => new Set((await keyDocuments(store, await projectOf(store, project))).map((item) => item.ref));
263
52
  export const searchCommand = (program, streams, env) => {
264
53
  const group = program
265
54
  .command("search")
@@ -279,8 +68,7 @@ export const searchCommand = (program, streams, env) => {
279
68
  .option("--json", "print JSON; --json=id,title keeps only those fields")
280
69
  .option("--brief", "each message or email as reference, time, sender and excerpt only")
281
70
  .option("--full", "each message or email with its whole text; --json keeps the excerpt, messages show the text");
282
- queryOptions(group
283
- .command("all")
71
+ queryOptions(annotate(group.command("all"), { effects: LOCAL_READ, output: { entity: "hit" } })
284
72
  .description("messages, mail and notes ranked together; not people, memories, projects or decisions. A kind you know " +
285
73
  "reads better with its own search, with all its fields")
286
74
  .summary("messages, mail and notes ranked together"))
@@ -298,9 +86,7 @@ content: narrows a search to the text of files, transcript: to voice transcripts
298
86
  ...(options.exact ? { exact: true } : {}),
299
87
  ...(options.timezone === undefined ? {} : { timezone: options.timezone }),
300
88
  });
301
- return options.project === undefined
302
- ? found
303
- : { ...found, items: keyFirst(found.items, await keyRefs(store, options.project)) };
89
+ return { ...found, items: await keyDocumentsFirst(store, found.items, options.project) };
304
90
  });
305
91
  if (!options.json) {
306
92
  streams.diagnostic(`searched: ${answer.accounts.map(({ provider, account }) => `${provider}:${account}`).join(", ") || "nothing"}\n`);
@@ -315,7 +101,7 @@ content: narrows a search to the text of files, transcript: to voice transcripts
315
101
  ].join("\n"));
316
102
  });
317
103
  for (const kind of ["messages", "mail"]) {
318
- const leaf = queryOptions(group.command(kind).description(kind === "mail" ? "imported emails only" : "stored messenger messages only"));
104
+ const leaf = queryOptions(annotate(group.command(kind), { effects: LOCAL_READ, output: { entity: "message", view: "hit" } }).description(kind === "mail" ? "imported emails only" : "stored messenger messages only"));
319
105
  if (kind === "mail")
320
106
  leaf.option("--account <account>", "only this mail account, by its name in mail.accounts or its address (default: every mail account)");
321
107
  leaf.addHelpText("after", kind === "messages"
@@ -342,32 +128,18 @@ Mail sent to many is in the mailbox bulk; NOT mailbox:bulk leaves it out, and bi
342
128
  print(options.json, kindAnswer(kind, answer, options.limit, level, words.join(" ")), answer.items.map((item) => found(item, level)).join("\n"));
343
129
  });
344
130
  }
345
- queryOptions(group.command("notes").description("native notes by words and, with the local model, meaning"))
346
- .addHelpText("after", "\ntag: in --filter keeps the notes with that tag and leaves the search by meaning as it is — --filter 'tag:work'." +
131
+ queryOptions(annotate(group.command("notes"), { effects: LOCAL_READ, output: { entity: "note", view: "hit" } }).description("native notes by words and, with the local model, meaning"))
132
+ .addHelpText("after", "\nsource:internal keeps the notes written in memo, source:file the notes from a folder — 'budget source:internal'." +
133
+ "\n--source notes:<folder id> is different: it chooses which notes accounts are read." +
134
+ "\ntag: in --filter keeps the notes with that tag and leaves the search by meaning as it is — --filter 'tag:work'." +
347
135
  "\n--json: each note's reference is ref (note: or document:).")
348
- .option("--type <type>", "file or internal", noteType)
349
136
  .option("--filter <query>", "another query every note must match")
350
137
  .option("--source <accounts>", "only these notes accounts, separated by commas: notes:internal for notes written in memo, notes:<folder id> " +
351
138
  "as a hit shows it, notes or group:<name>")
352
139
  .option("--page <n>", "which page, from 1", positive, 1)
353
140
  .option("--project <project>", PROJECT_HELP)
354
141
  .action(async (words, options) => {
355
- const answer = await withStore(env, async (store) => {
356
- const found = await searchNotesOf(store, MEMO, words.join(" "), {
357
- limit: options.limit,
358
- offset: (options.page - 1) * options.limit,
359
- env,
360
- app: APP,
361
- ...(options.type === undefined ? {} : { source: options.type }),
362
- ...(options.filter === undefined ? {} : { filter: options.filter }),
363
- ...(options.source === undefined ? {} : { accounts: options.source }),
364
- ...(options.exact ? { exact: true } : {}),
365
- ...(options.timezone === undefined ? {} : { timezone: options.timezone }),
366
- });
367
- return options.project === undefined
368
- ? found
369
- : { ...found, hits: keyFirst(found.hits, await keyRefs(store, options.project)) };
370
- });
142
+ const answer = await withStore(env, (store) => searchNotes(store, env, words.join(" "), options));
371
143
  if (answer.meaning_skipped && !options.json)
372
144
  streams.diagnostic(`Searched by words only: ${modelHint(answer.meaning_skipped)}\n`);
373
145
  for (const { source, reason } of answer.skipped)
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/search/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/search/command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ import { type SearchAllFound, type SearchedResource } from "@wirecat/cli-core/services";
2
+ import type { AccountKey, MessageStore } from "@wirecat/cli-core/store";
3
+ import { type AccountScope } from "../store/scope.js";
4
+ import { taskPage } from "../tasks/context.js";
5
+ export interface EvidenceItem {
6
+ kind: "message" | "note" | "email" | "task";
7
+ locator: string;
8
+ provider: string;
9
+ account: string;
10
+ timestamp: string;
11
+ text: string;
12
+ match: "structured-words" | "note-text" | "task-source";
13
+ source?: string;
14
+ }
15
+ export declare const unifiedSearch: (store: MessageStore, query: string, options: {
16
+ keys: AccountKey[];
17
+ notes?: boolean;
18
+ limit?: number;
19
+ offset?: number;
20
+ noteText?: string;
21
+ }) => Promise<{
22
+ query: string;
23
+ items: EvidenceItem[];
24
+ hasMore: boolean;
25
+ nextOffset?: number;
26
+ incomplete: boolean;
27
+ accounts: AccountKey[];
28
+ coverage: unknown[];
29
+ }>;
30
+ /** Notes are no account's: `--all` takes them with every account, `--provider notes` alone. */
31
+ export declare const searchAccounts: (store: MessageStore, options: AccountScope & {
32
+ all?: boolean;
33
+ }) => Promise<{
34
+ keys: AccountKey[];
35
+ notes: boolean;
36
+ }>;
37
+ export interface QueryInput {
38
+ text: string;
39
+ limit: number;
40
+ exact?: boolean;
41
+ timezone?: string;
42
+ }
43
+ export interface SearchedAccount {
44
+ resource: SearchedResource;
45
+ provider: string;
46
+ account: string;
47
+ }
48
+ interface EverywhereExtras {
49
+ accounts: SearchedAccount[];
50
+ tasks: (Awaited<ReturnType<typeof taskPage>>["items"][number] & {
51
+ heldBy: AccountKey;
52
+ })[];
53
+ tasksIncomplete: boolean;
54
+ }
55
+ /** Messages, mail and notes ranked together, with the open tasks that point at a hit and every account read. */
56
+ export declare const searchEverywhere: (store: MessageStore, env: NodeJS.ProcessEnv, { text, limit, only, exact, timezone }: QueryInput & {
57
+ only?: SearchedResource[];
58
+ }) => Promise<SearchAllFound & EverywhereExtras>;
59
+ /** One kind with all its fields: messenger messages from every messenger, or imported mail. */
60
+ export declare const searchKind: (store: MessageStore, kind: "messages" | "mail", { text, limit, account, exact, timezone }: QueryInput & {
61
+ account?: string;
62
+ }) => Promise<import("@wirecat/cli-core/services").SearchFound>;
63
+ /** The rules and `memo mail status` take an account's name; search takes it too, or the address. */
64
+ export declare const mailAddressOf: (env: NodeJS.ProcessEnv, account: string) => string;
65
+ /** A project's key documents first, labelled key; nothing is left out. */
66
+ export declare const keyDocumentsFirst: <T extends {
67
+ ref: string;
68
+ }>(store: MessageStore, items: T[], project: string | undefined) => Promise<(T & {
69
+ key?: true;
70
+ })[]>;
71
+ export interface NotesQuery {
72
+ limit: number;
73
+ page: number;
74
+ filter?: string;
75
+ source?: string;
76
+ project?: string;
77
+ exact?: boolean;
78
+ timezone?: string;
79
+ }
80
+ export declare const searchNotes: (store: MessageStore, env: NodeJS.ProcessEnv, text: string, options: NotesQuery) => Promise<import("@wirecat/cli-core/services").NotesFoundOf>;
81
+ export {};
82
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/search/search.ts"],"names":[],"mappings":"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"}