@wirecat/cli-memo 0.62.0 → 0.64.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 (78) hide show
  1. package/README.md +5 -5
  2. package/dist/actions/command.d.ts.map +1 -1
  3. package/dist/actions/command.js +7 -5
  4. package/dist/actions/command.js.map +1 -1
  5. package/dist/answers/command.d.ts.map +1 -1
  6. package/dist/answers/command.js +9 -5
  7. package/dist/answers/command.js.map +1 -1
  8. package/dist/context/command.d.ts +1 -1
  9. package/dist/context/command.d.ts.map +1 -1
  10. package/dist/context/command.js +13 -5
  11. package/dist/context/command.js.map +1 -1
  12. package/dist/doctor/command.d.ts +1 -1
  13. package/dist/examples.d.ts.map +1 -1
  14. package/dist/examples.js +27 -35
  15. package/dist/examples.js.map +1 -1
  16. package/dist/findings/command.d.ts.map +1 -1
  17. package/dist/findings/command.js +17 -12
  18. package/dist/findings/command.js.map +1 -1
  19. package/dist/knowledge/command.d.ts.map +1 -1
  20. package/dist/knowledge/command.js +28 -15
  21. package/dist/knowledge/command.js.map +1 -1
  22. package/dist/knowledge/meeting-projects-command.d.ts.map +1 -1
  23. package/dist/knowledge/meeting-projects-command.js +20 -13
  24. package/dist/knowledge/meeting-projects-command.js.map +1 -1
  25. package/dist/mail/score.d.ts +11 -3
  26. package/dist/mail/score.d.ts.map +1 -1
  27. package/dist/mail/score.js +25 -8
  28. package/dist/mail/score.js.map +1 -1
  29. package/dist/mail/sender-scores.d.ts +15 -3
  30. package/dist/mail/sender-scores.d.ts.map +1 -1
  31. package/dist/mail/sender-scores.js +57 -8
  32. package/dist/mail/sender-scores.js.map +1 -1
  33. package/dist/notes/command.d.ts.map +1 -1
  34. package/dist/notes/command.js +8 -7
  35. package/dist/notes/command.js.map +1 -1
  36. package/dist/options.d.ts +4 -1
  37. package/dist/options.d.ts.map +1 -1
  38. package/dist/options.js +5 -4
  39. package/dist/options.js.map +1 -1
  40. package/dist/run/import.d.ts.map +1 -1
  41. package/dist/run/import.js +23 -9
  42. package/dist/run/import.js.map +1 -1
  43. package/dist/search/answers.d.ts.map +1 -1
  44. package/dist/search/answers.js +2 -3
  45. package/dist/search/answers.js.map +1 -1
  46. package/dist/search/command.d.ts.map +1 -1
  47. package/dist/search/command.js +5 -0
  48. package/dist/search/command.js.map +1 -1
  49. package/dist/search/search.d.ts +9 -4
  50. package/dist/search/search.d.ts.map +1 -1
  51. package/dist/search/search.js +45 -11
  52. package/dist/search/search.js.map +1 -1
  53. package/dist/store/scope.d.ts +3 -0
  54. package/dist/store/scope.d.ts.map +1 -1
  55. package/dist/store/scope.js +8 -2
  56. package/dist/store/scope.js.map +1 -1
  57. package/dist/store/source-list.d.ts +39 -5
  58. package/dist/store/source-list.d.ts.map +1 -1
  59. package/dist/store/source-list.js +110 -2
  60. package/dist/store/source-list.js.map +1 -1
  61. package/dist/tags/command.d.ts.map +1 -1
  62. package/dist/tags/command.js +24 -24
  63. package/dist/tags/command.js.map +1 -1
  64. package/dist/tasks/command.d.ts.map +1 -1
  65. package/dist/tasks/command.js +12 -8
  66. package/dist/tasks/command.js.map +1 -1
  67. package/dist/tasks/list.d.ts +2 -2
  68. package/dist/tasks/list.d.ts.map +1 -1
  69. package/dist/tasks/list.js +15 -7
  70. package/dist/tasks/list.js.map +1 -1
  71. package/dist/tasks/shared.d.ts +1 -1
  72. package/dist/tasks/shared.d.ts.map +1 -1
  73. package/dist/tasks/shared.js +31 -23
  74. package/dist/tasks/shared.js.map +1 -1
  75. package/dist/version.d.ts +1 -1
  76. package/dist/version.js +1 -1
  77. package/package.json +3 -3
  78. package/skills/cli-memo/SKILL.md +6 -5
@@ -6,7 +6,8 @@ import { APP } from "../app.js";
6
6
  import { loadConfig } from "../config.js";
7
7
  import { keyDocuments, keyFirst, projectOf } from "../knowledge/key-documents.js";
8
8
  import { mailAccounts } from "../mail/accounts.js";
9
- import { selectAccount } from "../store/scope.js";
9
+ import { demotedSenders } from "../mail/sender-scores.js";
10
+ import { accountsOf } from "../store/source-list.js";
10
11
  import { taskPage } from "../tasks/context.js";
11
12
  const CHATS_CHECKED = 500;
12
13
  /**
@@ -132,19 +133,30 @@ export const unifiedSearch = async (store, query, options) => {
132
133
  };
133
134
  };
134
135
  /** Notes are no account's: `--all` takes them with every account, `--provider notes` alone. */
135
- export const searchAccounts = async (store, options) => {
136
- if (options.all && (options.provider !== undefined || options.account !== undefined))
137
- throw new CliError("validation_error", "use --all alone or select one provider/account");
138
- if (options.provider === "notes")
139
- return { keys: [], notes: true };
140
- const messengers = (await store.accounts.accounts()).filter(({ provider }) => provider !== "notes");
141
- return options.all ? { keys: messengers, notes: true } : { keys: [await selectAccount(store, options)], notes: false };
136
+ /** `--all`, or the accounts a `--source` list names; notes count as one source, whichever folder is named. */
137
+ export const searchAccounts = async (store, env, options) => {
138
+ if (options.all && options.source !== undefined)
139
+ throw new CliError("validation_error", "use --all alone, or name the accounts with --source");
140
+ if (options.all)
141
+ return { keys: (await store.accounts.accounts()).filter(({ provider }) => provider !== "notes"), notes: true };
142
+ if (options.source === undefined)
143
+ throw new CliError("validation_error", "give --all, or name the accounts with --source: telegram:1,email,notes");
144
+ const keys = await accountsOf(store, env, options.source);
145
+ return {
146
+ keys: keys.filter(({ provider }) => provider !== "notes"),
147
+ notes: keys.some(({ provider }) => provider === "notes"),
148
+ };
142
149
  };
143
150
  const hasSource = (node) => node.kind === "predicate"
144
151
  ? node.field === "in"
145
152
  : node.clauses.some(({ occur, node }) => occur !== "must_not" && hasSource(node));
153
+ /** Mail from senders with signs of fraud after the rest of the page, each part in the order it had. */
154
+ export const lowerSuspicious = (items, suspicious) => [
155
+ ...items.filter((item) => !suspicious(item)),
156
+ ...items.filter(suspicious),
157
+ ];
146
158
  /** Messages, mail and notes ranked together, with the open tasks that point at a hit and every account read. */
147
- export const searchEverywhere = async (store, env, { text, limit, only, exact, timezone }) => {
159
+ export const searchEverywhere = async (store, env, { text, limit, only, exact, timezone, plainOrder }) => {
148
160
  const accounts = await store.accounts.accounts();
149
161
  // The shared search names this command only in the model hint, and the model comes from tg.
150
162
  const messenger = { app: { ...APP, command: "tg" } };
@@ -180,19 +192,38 @@ export const searchEverywhere = async (store, env, { text, limit, only, exact, t
180
192
  tasks.push(...page.items.map((task) => ({ ...task, heldBy: account })));
181
193
  tasksIncomplete ||= page.hasMore;
182
194
  }
195
+ const suspicious = plainOrder ? new Set() : await suspiciousRefs(store, found.items);
183
196
  return {
184
197
  ...found,
198
+ items: lowerSuspicious(found.items, (item) => suspicious.has(item.ref)),
185
199
  accounts: searched,
186
200
  tasks: tasks.slice(0, limit),
187
201
  tasksIncomplete: tasksIncomplete || tasks.length > limit,
188
202
  };
189
203
  };
204
+ /** The mail on a page whose sender's mail search ranks lower; the page's items carry no sender address. */
205
+ const suspiciousRefs = async (store, items) => {
206
+ const demoted = await demotedSenders(store);
207
+ const refs = new Set();
208
+ if (demoted.size === 0)
209
+ return refs;
210
+ for (const { kind, ref } of items) {
211
+ if (kind !== "mail")
212
+ continue;
213
+ const { provider, account, message } = parseLocator(ref);
214
+ const stored = await store.accounts.storedAccount({ provider, account }).catch(() => null);
215
+ const email = stored === null || message === undefined ? null : await store.mail.email(stored.id, message);
216
+ if (email?.fromAddress && demoted.has(email.fromAddress.toLowerCase()))
217
+ refs.add(ref);
218
+ }
219
+ return refs;
220
+ };
190
221
  /** One kind with all its fields: messenger messages from every messenger, or imported mail. */
191
- export const searchKind = async (store, kind, { text, limit, account, accounts, exact, timezone }) => {
222
+ export const searchKind = async (store, kind, { text, limit, account, accounts, exact, timezone, plainOrder, }) => {
192
223
  const held = (await store.accounts.accounts()).some(({ provider }) => provider !== "notes" && (kind === "mail" ? provider === "email" : provider !== "email"));
193
224
  if (!held)
194
225
  throw new CliError("not_found", kind === "mail" ? "no imported mail; run memo sync --only mail" : "no stored messenger messages");
195
- return searchStore(store, MEMO, {
226
+ const found = await searchStore(store, MEMO, {
196
227
  text,
197
228
  kind,
198
229
  ...(kind === "messages" && !hasSource(parseLucene(text).root) ? { source: "all" } : {}),
@@ -202,6 +233,9 @@ export const searchKind = async (store, kind, { text, limit, account, accounts,
202
233
  ...(exact ? { exact: true } : {}),
203
234
  ...(timezone === undefined ? {} : { timezone }),
204
235
  }, { app: APP });
236
+ if (kind !== "mail" || plainOrder)
237
+ return found;
238
+ return { ...found, items: lowerSuspicious(found.items, (item) => item.email?.senderScore?.demoted === true) };
205
239
  };
206
240
  /** The rules and `memo mail status` take an account's name; search takes it too, or the address. */
207
241
  export const mailAddressOf = (env, account) => account.includes("@")
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/search/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/search/search.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { AccountKey, KnowledgeTarget, MessageStore } from "@wirecat/cli-core/store";
2
+ import { type WriteOptions } from "./source-list.js";
2
3
  export interface AccountScope {
3
4
  provider?: string;
4
5
  account?: string;
@@ -20,4 +21,6 @@ export declare const selectTarget: (store: MessageStore, input: TargetInput) =>
20
21
  key: AccountKey;
21
22
  target: KnowledgeTarget;
22
23
  }>;
24
+ /** A write's `--account` as the scope the helpers above take, resolved only when given: a locator may name it. */
25
+ export declare const scopeOf: (store: MessageStore, env: NodeJS.ProcessEnv, options: WriteOptions, warn: (text: string) => void) => Promise<AccountScope>;
23
26
  //# sourceMappingURL=scope.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/store/scope.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAExF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AACD,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAKD,eAAO,MAAM,aAAa,UAAiB,YAAY,SAAS,YAAY,KAAG,OAAO,CAAC,UAAU,CAkBhG,CAAA;AAED,kGAAkG;AAClG,eAAO,MAAM,gBAAgB,UAAiB,YAAY,MAAM,MAAM,SAAS,YAAY,KAAG,OAAO,CAAC,MAAM,CAO3G,CAAA;AAED,eAAO,MAAM,YAAY,UAChB,YAAY,SACZ,WAAW,KACjB,OAAO,CAAC;IAAE,GAAG,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,CAsBtD,CAAA"}
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/store/scope.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACxF,OAAO,EAAgB,KAAK,YAAY,EAAkB,MAAM,kBAAkB,CAAA;AAElF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AACD,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAKD,eAAO,MAAM,aAAa,UAAiB,YAAY,SAAS,YAAY,KAAG,OAAO,CAAC,UAAU,CAchG,CAAA;AAED,kGAAkG;AAClG,eAAO,MAAM,gBAAgB,UAAiB,YAAY,MAAM,MAAM,SAAS,YAAY,KAAG,OAAO,CAAC,MAAM,CAO3G,CAAA;AAED,eAAO,MAAM,YAAY,UAChB,YAAY,SACZ,WAAW,KACjB,OAAO,CAAC;IAAE,GAAG,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,CAsBtD,CAAA;AAED,kHAAkH;AAClH,eAAO,MAAM,OAAO,UACX,YAAY,OACd,MAAM,CAAC,UAAU,WACb,YAAY,QACf,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,KAC3B,OAAO,CAAC,YAAY,CAGtB,CAAA"}
@@ -1,14 +1,15 @@
1
1
  import { CliError } from "@wirecat/cli-base";
2
2
  import { parseLocator } from "@wirecat/cli-core";
3
+ import { oneAccountOf, writeAccountOf } from "./source-list.js";
3
4
  const choices = (keys) => keys.length ? `; choose one of ${keys.map(({ provider, account }) => `${provider}:${account}`).join(", ")}` : "";
4
5
  export const selectAccount = async (store, scope) => {
5
6
  const held = await store.accounts.accounts();
6
7
  if (!scope.provider)
7
- throw new CliError("validation_error", `select --provider and, when several accounts exist, --account${choices(held)}`);
8
+ throw new CliError("validation_error", `give --account <provider>:<account>${choices(held)}`);
8
9
  const matches = held.filter((key) => key.provider === scope.provider && (scope.account === undefined || key.account === scope.account));
9
10
  if (matches.length !== 1)
10
11
  throw new CliError(matches.length ? "validation_error" : "not_found", matches.length
11
- ? `several accounts match; select --account explicitly${choices(matches)}`
12
+ ? `several accounts match; give one${choices(matches)}`
12
13
  : `the store holds no ${scope.provider} account matching this selection${choices(held)}`);
13
14
  return matches[0];
14
15
  };
@@ -43,4 +44,9 @@ export const selectTarget = async (store, input) => {
43
44
  }
44
45
  return { key: await selectAccount(store, input), target: { type, id: input[type] } };
45
46
  };
47
+ /** A write's `--account` as the scope the helpers above take, resolved only when given: a locator may name it. */
48
+ export const scopeOf = async (store, env, options, warn) => {
49
+ const value = writeAccountOf(options, warn);
50
+ return value === undefined ? {} : oneAccountOf(store, env, value, "--account");
51
+ };
46
52
  //# sourceMappingURL=scope.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/store/scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/store/scope.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,52 @@
1
1
  import type { AccountKey, MessageStore } from "@wirecat/cli-core/store";
2
+ import type { Command } from "commander";
2
3
  /** What a `--source` list names among the texts outside a chat: mailboxes, memo's notes, imported documents. */
3
4
  export interface SourceList {
4
5
  mail: AccountKey[];
5
6
  notes: boolean;
6
7
  documents: boolean;
7
8
  }
8
- /**
9
- * cli-core's four `--source` shapes through its own reader. memo also knows a mailbox by its name in mail.accounts,
10
- * which the store does not hold, so `email:<name>` becomes `email:<address>` first; notes and documents are memo's
11
- * own texts and count even before the store holds an account of them.
12
- */
13
9
  export declare const sourceListOf: (store: MessageStore, env: NodeJS.ProcessEnv, value: string) => Promise<SourceList>;
14
10
  export declare const SOURCE_HELP = "which texts, separated by commas: provider:account (email:personal), a provider (email), a kind (mail, notes, documents) or group:<name>";
15
11
  export declare const MAIL_SOURCES = "email:<account> (its name in mail.accounts or its address), email or group:<name>";
12
+ /**
13
+ * The configured mailboxes `sync` reads: the store holds no account before its first sync, so names are looked up in
14
+ * mail.accounts, and a group's other members are left out. `undefined` is every one.
15
+ */
16
+ export declare const syncedMailboxesOf: (store: MessageStore, value: string) => Promise<string[] | undefined>;
16
17
  /** The mailboxes a mail-only command reads; a list that names notes or documents is refused, not cut. */
17
18
  export declare const mailboxesOf: (store: MessageStore, env: NodeJS.ProcessEnv, value: string) => Promise<AccountKey[]>;
19
+ export declare const ACCOUNTS_HELP = "which accounts, separated by commas: provider:account (email:personal), a provider (email), a kind (mail, notes, documents) or group:<name>";
20
+ export declare const MEETING_ACCOUNT_HELP = "the meeting account: provider:account (zoom:me@example.com), or a provider that has one";
21
+ export declare const MEETING_WRITE_HELP = "the meeting account it acts as: provider:account, such as zoom:me@example.com";
22
+ export declare const ONE_ACCOUNT_HELP = "the one account: provider:account (telegram:500, email:personal), or a provider or group:<name> that holds only one";
23
+ /** Every stored account a `--source` value names, of any kind, each once. */
24
+ export declare const accountsOf: (store: MessageStore, env: NodeJS.ProcessEnv, value: string) => Promise<AccountKey[]>;
25
+ /** One account, and the owner names it: none or several is an error listing the choices. */
26
+ export declare const oneAccountOf: (store: MessageStore, env: NodeJS.ProcessEnv, value: string | undefined, option?: string) => Promise<AccountKey>;
27
+ export interface SourceOptions {
28
+ source?: string;
29
+ provider?: string;
30
+ account?: string;
31
+ }
32
+ /** `--source`, and for one release the `--provider --account` it replaces. */
33
+ export declare const sourceOptions: (command: Command, help: string) => Command;
34
+ /** The `--source` an old `--provider --account` stands for; the new spelling goes to stderr. */
35
+ export declare const sourceOf: (options: SourceOptions, warn: (text: string) => void) => string | undefined;
36
+ /** The one account `--source` or the old `--provider --account` names. */
37
+ export declare const theAccount: (store: MessageStore, env: NodeJS.ProcessEnv, options: SourceOptions, warn: (text: string) => void) => Promise<AccountKey>;
38
+ /** Every account `--source` or the old `--provider --account` names; none named is an error, never all of them. */
39
+ export declare const theAccounts: (store: MessageStore, env: NodeJS.ProcessEnv, options: SourceOptions, warn: (text: string) => void) => Promise<AccountKey[]>;
40
+ export declare const accountName: ({ provider, account }: AccountKey) => string;
41
+ export declare const WRITE_HELP = "the account it acts as: provider:account, such as telegram:1 or email:personal";
42
+ export interface WriteOptions {
43
+ account?: string;
44
+ provider?: string;
45
+ }
46
+ /** A write's `--account provider:account`, and for one release the `--provider` that came before it. */
47
+ export declare const writeOptions: (command: Command, help?: string) => Command;
48
+ /** The `provider:account` a write names; an old `--provider --account` pair is joined, its new spelling on stderr. */
49
+ export declare const writeAccountOf: (options: WriteOptions, warn: (text: string) => void) => string | undefined;
50
+ /** The one account a write acts as. */
51
+ export declare const writeAccount: (store: MessageStore, env: NodeJS.ProcessEnv, options: WriteOptions, warn: (text: string) => void) => Promise<AccountKey>;
18
52
  //# sourceMappingURL=source-list.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"source-list.d.ts","sourceRoot":"","sources":["../../src/store/source-list.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAGvE,gHAAgH;AAChH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,EAAE,CAAA;IAClB,KAAK,EAAE,OAAO,CAAA;IACd,SAAS,EAAE,OAAO,CAAA;CACnB;AA0BD;;;;GAIG;AACH,eAAO,MAAM,YAAY,UAAiB,YAAY,OAAO,MAAM,CAAC,UAAU,SAAS,MAAM,KAAG,OAAO,CAAC,UAAU,CAkCjH,CAAA;AAED,eAAO,MAAM,WAAW,6IAAgD,CAAA;AAExE,eAAO,MAAM,YAAY,sFAAsF,CAAA;AAE/G,yGAAyG;AACzG,eAAO,MAAM,WAAW,UACf,YAAY,OACd,MAAM,CAAC,UAAU,SACf,MAAM,KACZ,OAAO,CAAC,UAAU,EAAE,CAKtB,CAAA"}
1
+ {"version":3,"file":"source-list.d.ts","sourceRoot":"","sources":["../../src/store/source-list.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ const messengers = (entry) => new CliError("validation_error", `${entry}: mentio
24
24
  * which the store does not hold, so `email:<name>` becomes `email:<address>` first; notes and documents are memo's
25
25
  * own texts and count even before the store holds an account of them.
26
26
  */
27
- export const sourceListOf = async (store, env, value) => {
27
+ const listedOf = async (store, env, value) => {
28
28
  const named = async (entry) => {
29
29
  const [provider = "", ...rest] = entry.trim().split(":");
30
30
  const account = rest.join(":");
@@ -34,12 +34,15 @@ export const sourceListOf = async (store, env, value) => {
34
34
  };
35
35
  const each = (entries) => Promise.all(entries.filter((one) => one.trim()).map(named));
36
36
  const groups = Object.fromEntries(await Promise.all(Object.entries(await store.accounts.accountGroups()).map(async ([name, members]) => [name, await each(members)])));
37
- const listed = entriesOfList((await each(value.split(","))).join(","), {
37
+ return entriesOfList((await each(value.split(","))).join(","), {
38
38
  held: await store.accounts.storedAccounts(),
39
39
  groups,
40
40
  profiles: await store.accounts.profiles(),
41
41
  running: { provider: "email", command: "memo" },
42
42
  });
43
+ };
44
+ export const sourceListOf = async (store, env, value) => {
45
+ const listed = await listedOf(store, env, value);
43
46
  const list = { mail: [], notes: false, documents: false };
44
47
  for (const { entry, accounts } of listed) {
45
48
  const word = entry.split(":")[0] ?? "";
@@ -66,6 +69,35 @@ export const sourceListOf = async (store, env, value) => {
66
69
  };
67
70
  export const SOURCE_HELP = `which texts, separated by commas: ${SHAPES}`;
68
71
  export const MAIL_SOURCES = "email:<account> (its name in mail.accounts or its address), email or group:<name>";
72
+ /**
73
+ * The configured mailboxes `sync` reads: the store holds no account before its first sync, so names are looked up in
74
+ * mail.accounts, and a group's other members are left out. `undefined` is every one.
75
+ */
76
+ export const syncedMailboxesOf = async (store, value) => {
77
+ const groups = await store.accounts.accountGroups();
78
+ const names = [];
79
+ const add = (entry, group) => {
80
+ const [provider = "", ...rest] = entry.trim().split(":");
81
+ if (provider === "group") {
82
+ const members = groups[rest.join(":")];
83
+ if (members === undefined)
84
+ throw new CliError("not_found", `no account group "${rest.join(":")}"`);
85
+ for (const member of members)
86
+ add(member, rest.join(":"));
87
+ }
88
+ else if (!MAIL.has(provider)) {
89
+ if (group === undefined)
90
+ throw new CliError("validation_error", `${entry}: sync reads mail only — ${MAIL_SOURCES}`);
91
+ }
92
+ else if (rest.length === 0)
93
+ names.push("*");
94
+ else
95
+ names.push(rest.join(":"));
96
+ };
97
+ for (const entry of value.split(",").filter((one) => one.trim()))
98
+ add(entry);
99
+ return names.includes("*") ? undefined : [...new Set(names)];
100
+ };
69
101
  /** The mailboxes a mail-only command reads; a list that names notes or documents is refused, not cut. */
70
102
  export const mailboxesOf = async (store, env, value) => {
71
103
  const list = await sourceListOf(store, env, value);
@@ -73,4 +105,80 @@ export const mailboxesOf = async (store, env, value) => {
73
105
  throw new CliError("validation_error", `${value}: this reads mail only — ${MAIL_SOURCES}`);
74
106
  return list.mail;
75
107
  };
108
+ export const ACCOUNTS_HELP = `which accounts, separated by commas: ${SHAPES}`;
109
+ export const MEETING_ACCOUNT_HELP = "the meeting account: provider:account (zoom:me@example.com), or a provider that has one";
110
+ export const MEETING_WRITE_HELP = "the meeting account it acts as: provider:account, such as zoom:me@example.com";
111
+ export const ONE_ACCOUNT_HELP = "the one account: provider:account (telegram:500, email:personal), or a provider or group:<name> that holds only one";
112
+ /** Every stored account a `--source` value names, of any kind, each once. */
113
+ export const accountsOf = async (store, env, value) => {
114
+ const keys = [];
115
+ for (const { accounts } of await listedOf(store, env, value))
116
+ for (const { provider, account } of accounts)
117
+ if (!keys.some((one) => one.provider === provider && one.account === account))
118
+ keys.push({ provider, account });
119
+ return keys;
120
+ };
121
+ const named = (keys) => keys.map((key) => accountName(key)).join(", ");
122
+ const unnamed = async (store, option = "--source") => new CliError("validation_error", `give ${option} <provider>:<account> — the store holds ${named(await store.accounts.accounts()) || "no account yet"}`);
123
+ /** One account, and the owner names it: none or several is an error listing the choices. */
124
+ export const oneAccountOf = async (store, env, value, option = "--source") => {
125
+ if (value === undefined)
126
+ throw await unnamed(store, option);
127
+ const keys = await accountsOf(store, env, value);
128
+ if (keys.length === 1)
129
+ return keys[0];
130
+ if (keys.length === 0)
131
+ throw new CliError("not_found", `${value} names no stored account`);
132
+ throw new CliError("validation_error", `${value} names ${keys.length} accounts; give one: ${named(keys)}`);
133
+ };
134
+ /** `--source`, and for one release the `--provider --account` it replaces. */
135
+ export const sourceOptions = (command, help) => command
136
+ .option("--source <accounts>", help)
137
+ .option("--provider <provider>", "deprecated: --source <provider>")
138
+ .option("--account <account>", "deprecated: --source <provider>:<account>");
139
+ /** The `--source` an old `--provider --account` stands for; the new spelling goes to stderr. */
140
+ export const sourceOf = (options, warn) => {
141
+ if (options.provider === undefined && options.account === undefined)
142
+ return options.source;
143
+ if (options.source !== undefined)
144
+ throw new CliError("validation_error", "--provider and --account are the old --source <provider>:<account>; give one of them");
145
+ if (options.provider === undefined)
146
+ throw new CliError("validation_error", "--account needs its provider: --source <provider>:<account>");
147
+ const value = options.account === undefined ? options.provider : `${options.provider}:${options.account}`;
148
+ warn(`--provider and --account are deprecated: use --source ${value}\n`);
149
+ return value;
150
+ };
151
+ /** The one account `--source` or the old `--provider --account` names. */
152
+ export const theAccount = (store, env, options, warn) => oneAccountOf(store, env, sourceOf(options, warn));
153
+ /** Every account `--source` or the old `--provider --account` names; none named is an error, never all of them. */
154
+ export const theAccounts = async (store, env, options, warn) => {
155
+ const value = sourceOf(options, warn);
156
+ if (value === undefined)
157
+ throw await unnamed(store);
158
+ const keys = await accountsOf(store, env, value);
159
+ if (keys.length === 0)
160
+ throw new CliError("not_found", `${value} names no stored account`);
161
+ return keys;
162
+ };
163
+ export const accountName = ({ provider, account }) => `${provider}:${account}`;
164
+ export const WRITE_HELP = "the account it acts as: provider:account, such as telegram:1 or email:personal";
165
+ /** A write's `--account provider:account`, and for one release the `--provider` that came before it. */
166
+ export const writeOptions = (command, help = WRITE_HELP) => command
167
+ .option("--account <account>", help)
168
+ .option("--provider <provider>", "deprecated: --account <provider>:<account>");
169
+ /** The `provider:account` a write names; an old `--provider --account` pair is joined, its new spelling on stderr. */
170
+ export const writeAccountOf = (options, warn) => {
171
+ const { provider, account } = options;
172
+ if (provider === undefined) {
173
+ if (account !== undefined && (!account.includes(":") || account.startsWith("group:")))
174
+ throw new CliError("validation_error", `--account takes provider:account, such as telegram:${account}`);
175
+ return account;
176
+ }
177
+ if (account?.includes(":"))
178
+ throw new CliError("validation_error", "--account provider:account names the provider; leave out --provider");
179
+ warn(`--provider is deprecated: use --account ${provider}:${account ?? "<account>"}\n`);
180
+ return account === undefined ? provider : `${provider}:${account}`;
181
+ };
182
+ /** The one account a write acts as. */
183
+ export const writeAccount = (store, env, options, warn) => oneAccountOf(store, env, writeAccountOf(options, warn), "--account");
76
184
  //# sourceMappingURL=source-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"source-list.js","sourceRoot":"","sources":["../../src/store/source-list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-list.js","sourceRoot":"","sources":["../../src/store/source-list.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/tags/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAM1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA0FxC,eAAO,MAAM,WAAW,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,IAqKxF,CAAA"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/tags/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAM1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAqGxC,eAAO,MAAM,WAAW,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,IAwKxF,CAAA"}
@@ -7,6 +7,7 @@ import { folderIds } from "../notes/bound.js";
7
7
  import { positive } from "../options.js";
8
8
  import { heldMessage } from "../store/held.js";
9
9
  import { selectTarget } from "../store/scope.js";
10
+ import { ACCOUNTS_HELP, accountName, accountsOf, oneAccountOf, sourceOf, sourceOptions, WRITE_HELP, writeAccountOf, writeOptions, } from "../store/source-list.js";
10
11
  import { sourceTarget } from "../store/source-target.js";
11
12
  import { canonicalProject } from "../vocabulary/project.js";
12
13
  const OWNED = ["note", "document", "person", "organization", "project", "task", "meeting", "folder"];
@@ -18,31 +19,22 @@ const TAG_QUERY = {
18
19
  fields: [termField("tag", "kw", "tag:work"), termField("type", "enum", "type:note", { values: TYPES })],
19
20
  };
20
21
  const reference = ({ provider, account }, chat) => provider && account ? formatReference({ type: "chat", provider, account, chat }) : chat;
21
- const targetOptions = (command) => command
22
+ const targetOptions = (command) => writeOptions(command
22
23
  .argument("<tag...>", "one or more tags: 1–32 letters a–z, digits or hyphens; case is ignored")
23
24
  .option("--message <message>", "a stored email or message's full msg: locator")
24
25
  .option("--note <reference>", "a note: note:<id>, a file in a notes folder: document:<id>; a bare id is a note")
25
- .option("--chat <chat>", "a stored mail thread or chat's exact id; requires --provider and --account")
26
- .option("--provider <provider>", "the chat's provider, such as email")
27
- .option("--account <account>", "the chat's account, such as a mailbox address")
26
+ .option("--chat <chat>", "a stored mail thread or chat's exact id; requires --account")
28
27
  .option("--task <id>", "label a task")
29
- .option("--contact <person>", "label a contact identity, with provider/account")
28
+ .option("--contact <person>", "label a contact identity, with --account")
30
29
  .option("--person <uid>", "label a unified person")
31
30
  .option("--organization <organization>", "label an organization: its id or organization:<id>")
32
31
  .option("--project <project>", "label a project: its key or project:<id>")
33
- .option("--meeting <id>", "label a meeting by its store id, with --provider and --account")
32
+ .option("--meeting <id>", "label a meeting by its store id, with --account")
34
33
  .option("--folder <folder>", "label a notes folder by its id or path, or with --subfolder one subfolder: every note under it")
35
- .option("--subfolder <path>", "the subfolder inside --folder")
36
- .option("--json", "print JSON; --json=id,title keeps only those fields");
34
+ .option("--subfolder <path>", "the subfolder inside --folder"), `the account of --chat, --contact or --meeting: ${WRITE_HELP}`).option("--json", "print JSON; --json=id,title keeps only those fields");
37
35
  const listTags = async (store, options) => {
38
- if (options.account !== undefined && options.provider === undefined)
39
- throw new CliError("validation_error", "--account requires --provider");
40
- const keys = (await store.accounts.accounts()).filter((key) => (options.provider === undefined || key.provider === options.provider) &&
41
- (options.account === undefined || key.account === options.account));
42
- if (keys.length === 0 && (options.provider !== undefined || options.account !== undefined))
43
- throw new CliError("not_found", "the store holds no matching account");
44
36
  const items = [];
45
- for (const key of keys) {
37
+ for (const key of options.keys) {
46
38
  const types = options.type === undefined
47
39
  ? ["chat", "message", "contact"]
48
40
  : options.type === "chat" || options.type === "message" || options.type === "contact"
@@ -68,7 +60,10 @@ const listTags = async (store, options) => {
68
60
  export const tagsCommand = (program, streams, env) => {
69
61
  const tags = program.command("tags").description("your labels on stored sources and folders or threads");
70
62
  const { print } = answers(program, streams, env);
71
- const mutate = async (operation, given, options) => {
63
+ const warn = (text) => streams.diagnostic(text);
64
+ const mutate = async (operation, given, { provider, account, ...options }) => {
65
+ const value = writeAccountOf({ provider, account }, warn);
66
+ const scoped = async (store) => value === undefined ? {} : oneAccountOf(store, env, value, "--account");
72
67
  const target = options.note !== undefined
73
68
  ? options.note.startsWith("document:")
74
69
  ? { type: "document", id: options.note.slice("document:".length) }
@@ -103,15 +98,17 @@ export const tagsCommand = (program, streams, env) => {
103
98
  }
104
99
  if (options.contact !== undefined || options.meeting !== undefined) {
105
100
  await withStore(env, async (store) => {
106
- const { key, target } = await selectTarget(store, options);
101
+ const { key, target } = await selectTarget(store, { ...options, ...(await scoped(store)) });
107
102
  const changed = await (operation === "add" ? store.knowledge.addTags : store.knowledge.removeTags)(key, target, given);
108
103
  print(options.json, itemAnswer({ ...key, target, [operation === "add" ? "added" : "removed"]: changed }), `${operation}: ${changed.join(", ") || "no labels changed"}`);
109
104
  });
110
105
  return;
111
106
  }
112
- const selected = sourceTarget(options);
107
+ if (options.message !== undefined && value !== undefined)
108
+ throw new CliError("validation_error", "a message locator names its account and chat — use --message alone");
113
109
  const labels = [...new Set(given.map(normalizeTag))];
114
110
  await withStore(env, async (store) => {
111
+ const selected = sourceTarget({ ...options, ...(await scoped(store)) });
115
112
  const changed = await (operation === "add" ? store.tags.addTags : store.tags.removeTags)(selected.key, selected.target, labels);
116
113
  const target = { ...selected.target, ...(selected.locator === undefined ? {} : { locator: selected.locator }) };
117
114
  const answer = {
@@ -126,21 +123,23 @@ export const tagsCommand = (program, streams, env) => {
126
123
  };
127
124
  for (const operation of ["add", "remove"])
128
125
  targetOptions(annotate(tags.command(operation), { effects: LOCAL_WRITE }).description(operation === "add" ? "put labels on one source" : "remove labels from one source")).action((given, options) => mutate(operation, given, options));
129
- withQuery(annotate(tags.command("list"), { effects: LOCAL_READ, output: { entity: "source_tag" } }).description("list source labels, optionally in one provider or account"), TAG_QUERY)
130
- .option("--provider <provider>", "only this provider")
131
- .option("--account <account>", "only this account; requires --provider")
126
+ const tagsList = withQuery(annotate(tags.command("list"), { effects: LOCAL_READ, output: { entity: "source_tag" } }).description("list source labels, of every account or of the ones --source names"), TAG_QUERY);
127
+ sourceOptions(tagsList, `only these accounts (default: every one): ${ACCOUNTS_HELP}`)
132
128
  .option("--limit <n>", "most labels to show", positive, 100)
133
129
  .option("--json", "print JSON; --json=id,title keeps only those fields")
134
- .action(async (words, scope) => {
130
+ .action(async (words, given) => {
135
131
  const terms = queryTerms(words, TAG_QUERY, "tags list");
136
132
  const tag = terms.get("tag");
133
+ const value = sourceOf(given, warn);
137
134
  const options = {
138
- ...scope,
135
+ limit: given.limit,
136
+ ...(given.json === undefined ? {} : { json: given.json }),
139
137
  ...(tag === undefined ? {} : { tag: normalizeTag(tag) }),
140
138
  ...(terms.has("type") ? { type: terms.get("type") } : {}),
141
139
  };
142
140
  await withStore(env, async (store) => {
143
- const answer = await listTags(store, options);
141
+ const keys = value === undefined ? await store.accounts.accounts() : await accountsOf(store, env, value);
142
+ const answer = await listTags(store, { ...options, keys });
144
143
  const owned = options.type === undefined || OWNED.includes(options.type)
145
144
  ? await store.knowledge.labelled(null, {
146
145
  ...(options.tag === undefined ? {} : { tag: options.tag }),
@@ -164,6 +163,7 @@ export const tagsCommand = (program, streams, env) => {
164
163
  ],
165
164
  limit: options.limit,
166
165
  has_more: answer.hasMore,
166
+ meta: { accounts: keys.map(accountName) },
167
167
  }), [
168
168
  ...lines,
169
169
  ...knowledge