@wirecat/cli-memo 0.54.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 +8 -231
  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 +1 -1
  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,163 +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 hasSource = (node) => node.kind === "predicate"
159
- ? node.field === "in"
160
- : node.clauses.some(({ occur, node }) => occur !== "must_not" && hasSource(node));
161
19
  const levelOf = ({ brief, full }) => {
162
20
  if (brief && full)
163
21
  throw new CliError("validation_error", "--brief and --full ask for opposite things — pick one");
@@ -189,72 +47,8 @@ export const found = (item, level) => {
189
47
  ];
190
48
  return lines.join("\n");
191
49
  };
192
- /** Messages, mail and notes ranked together, with the open tasks that point at a hit and every account read. */
193
- export const searchEverywhere = async (store, env, { text, limit, only, exact, timezone }) => {
194
- const accounts = await store.accounts();
195
- // The shared search names this command only in the model hint, and the model comes from tg.
196
- const messenger = { app: { ...APP, command: "tg" } };
197
- let messageAccounts = [];
198
- const found = await searchAll(store, MEMO, {
199
- text,
200
- limit,
201
- env,
202
- ...(only === undefined ? {} : { only }),
203
- ...(exact ? { exact: true } : {}),
204
- ...(timezone === undefined ? {} : { timezone }),
205
- }, messenger, async (query) => {
206
- const read = await searchStore(store, MEMO, query, messenger);
207
- messageAccounts = read.coverage?.accounts ?? [];
208
- return read;
209
- });
210
- const searched = [];
211
- for (const resource of found.searched) {
212
- if (resource === "messages")
213
- searched.push(...messageAccounts.map(({ provider, account }) => ({ resource, provider, account })));
214
- if (resource === "mail")
215
- searched.push(...accounts
216
- .filter(({ provider }) => provider === "email")
217
- .map(({ provider, account }) => ({ resource, provider, account })));
218
- if (resource === "notes")
219
- searched.push({ resource, provider: "notes", account: "internal" }, ...(await store.notes.folders()).map(({ id }) => ({ resource, provider: "notes", account: id })));
220
- }
221
- const tasks = [];
222
- let tasksIncomplete = false;
223
- const sources = found.items.map((item) => item.ref);
224
- for (const account of accounts) {
225
- const page = await taskPage(store, account, { state: "open", sources, limit: Math.min(limit, 500) });
226
- tasks.push(...page.items.map((task) => ({ ...task, heldBy: account })));
227
- tasksIncomplete ||= page.hasMore;
228
- }
229
- return {
230
- ...found,
231
- accounts: searched,
232
- tasks: tasks.slice(0, limit),
233
- tasksIncomplete: tasksIncomplete || tasks.length > limit,
234
- };
235
- };
236
- /** One kind with all its fields: messenger messages from every messenger, or imported mail. */
237
- export const searchKind = async (store, kind, { text, limit, account, exact, timezone }) => {
238
- const held = (await store.accounts()).some(({ provider }) => provider !== "notes" && (kind === "mail" ? provider === "email" : provider !== "email"));
239
- if (!held)
240
- throw new CliError("not_found", kind === "mail" ? "no imported mail; run memo sync --only mail" : "no stored messenger messages");
241
- return searchStore(store, MEMO, {
242
- text,
243
- kind,
244
- ...(kind === "messages" && !hasSource(parseLucene(text).root) ? { source: "all" } : {}),
245
- limit,
246
- ...(account === undefined ? {} : { mailAccount: account }),
247
- ...(exact ? { exact: true } : {}),
248
- ...(timezone === undefined ? {} : { timezone }),
249
- }, { app: APP });
250
- };
251
- /** The rules and `memo mail status` take an account's name; search takes it too, or the address. */
252
- const mailAddressOf = (env, account) => account.includes("@")
253
- ? account
254
- : (mailAccounts(loadConfig(env).mail?.accounts ?? [], [account])[0]?.address ?? account);
255
50
  const PROJECT_HELP = "rank the key documents of this project (id, key or project:<id>) first, labelled key; nothing is left out";
256
51
  const PROJECT_ORDER_HELP = "rank the key documents of this project (id, key or project:<id>) first; nothing is left out";
257
- const keyRefs = async (store, project) => new Set((await keyDocuments(store, await projectOf(store, project))).map((item) => item.ref));
258
52
  export const searchCommand = (program, streams, env) => {
259
53
  const group = program
260
54
  .command("search")
@@ -274,8 +68,7 @@ export const searchCommand = (program, streams, env) => {
274
68
  .option("--json", "print JSON; --json=id,title keeps only those fields")
275
69
  .option("--brief", "each message or email as reference, time, sender and excerpt only")
276
70
  .option("--full", "each message or email with its whole text; --json keeps the excerpt, messages show the text");
277
- queryOptions(group
278
- .command("all")
71
+ queryOptions(annotate(group.command("all"), { effects: LOCAL_READ, output: { entity: "hit" } })
279
72
  .description("messages, mail and notes ranked together; not people, memories, projects or decisions. A kind you know " +
280
73
  "reads better with its own search, with all its fields")
281
74
  .summary("messages, mail and notes ranked together"))
@@ -293,9 +86,7 @@ content: narrows a search to the text of files, transcript: to voice transcripts
293
86
  ...(options.exact ? { exact: true } : {}),
294
87
  ...(options.timezone === undefined ? {} : { timezone: options.timezone }),
295
88
  });
296
- return options.project === undefined
297
- ? found
298
- : { ...found, items: keyFirst(found.items, await keyRefs(store, options.project)) };
89
+ return { ...found, items: await keyDocumentsFirst(store, found.items, options.project) };
299
90
  });
300
91
  if (!options.json) {
301
92
  streams.diagnostic(`searched: ${answer.accounts.map(({ provider, account }) => `${provider}:${account}`).join(", ") || "nothing"}\n`);
@@ -310,7 +101,7 @@ content: narrows a search to the text of files, transcript: to voice transcripts
310
101
  ].join("\n"));
311
102
  });
312
103
  for (const kind of ["messages", "mail"]) {
313
- 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"));
314
105
  if (kind === "mail")
315
106
  leaf.option("--account <account>", "only this mail account, by its name in mail.accounts or its address (default: every mail account)");
316
107
  leaf.addHelpText("after", kind === "messages"
@@ -337,7 +128,7 @@ Mail sent to many is in the mailbox bulk; NOT mailbox:bulk leaves it out, and bi
337
128
  print(options.json, kindAnswer(kind, answer, options.limit, level, words.join(" ")), answer.items.map((item) => found(item, level)).join("\n"));
338
129
  });
339
130
  }
340
- queryOptions(group.command("notes").description("native notes by words and, with the local model, meaning"))
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"))
341
132
  .addHelpText("after", "\nsource:internal keeps the notes written in memo, source:file the notes from a folder — 'budget source:internal'." +
342
133
  "\n--source notes:<folder id> is different: it chooses which notes accounts are read." +
343
134
  "\ntag: in --filter keeps the notes with that tag and leaves the search by meaning as it is — --filter 'tag:work'." +
@@ -348,21 +139,7 @@ Mail sent to many is in the mailbox bulk; NOT mailbox:bulk leaves it out, and bi
348
139
  .option("--page <n>", "which page, from 1", positive, 1)
349
140
  .option("--project <project>", PROJECT_HELP)
350
141
  .action(async (words, options) => {
351
- const answer = await withStore(env, async (store) => {
352
- const found = await searchNotesOf(store, MEMO, words.join(" "), {
353
- limit: options.limit,
354
- offset: (options.page - 1) * options.limit,
355
- env,
356
- app: APP,
357
- ...(options.filter === undefined ? {} : { filter: options.filter }),
358
- ...(options.source === undefined ? {} : { accounts: options.source }),
359
- ...(options.exact ? { exact: true } : {}),
360
- ...(options.timezone === undefined ? {} : { timezone: options.timezone }),
361
- });
362
- return options.project === undefined
363
- ? found
364
- : { ...found, hits: keyFirst(found.hits, await keyRefs(store, options.project)) };
365
- });
142
+ const answer = await withStore(env, (store) => searchNotes(store, env, words.join(" "), options));
366
143
  if (answer.meaning_skipped && !options.json)
367
144
  streams.diagnostic(`Searched by words only: ${modelHint(answer.meaning_skipped)}\n`);
368
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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"}