@wirecat/cli-memo 0.20.0 → 0.22.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 (83) hide show
  1. package/dist/actions/actions.js +1 -1
  2. package/dist/actions/command.d.ts +1 -1
  3. package/dist/agents/command.d.ts +1 -1
  4. package/dist/answers/command.d.ts +1 -1
  5. package/dist/answers/command.js +3 -3
  6. package/dist/answers/command.js.map +1 -1
  7. package/dist/bin/memo.js +1 -1
  8. package/dist/config.js +1 -1
  9. package/dist/context/command.d.ts +1 -1
  10. package/dist/context/command.js +1 -1
  11. package/dist/context/context.js +1 -1
  12. package/dist/discovery/command.d.ts +1 -1
  13. package/dist/discovery/command.js +2 -2
  14. package/dist/facts/command.d.ts +1 -1
  15. package/dist/knowledge/command.d.ts +1 -1
  16. package/dist/knowledge/command.d.ts.map +1 -1
  17. package/dist/knowledge/command.js +8 -4
  18. package/dist/knowledge/command.js.map +1 -1
  19. package/dist/knowledge/meeting-projects-command.d.ts +1 -1
  20. package/dist/knowledge/meeting-projects-command.js +1 -1
  21. package/dist/mail/command.d.ts +1 -1
  22. package/dist/mail/command.d.ts.map +1 -1
  23. package/dist/mail/command.js +33 -6
  24. package/dist/mail/command.js.map +1 -1
  25. package/dist/mail/gmail.js +1 -1
  26. package/dist/mail/himalaya.js +1 -1
  27. package/dist/mail/parse.js +2 -2
  28. package/dist/mail/parse.js.map +1 -1
  29. package/dist/mcp/command.d.ts +1 -1
  30. package/dist/mcp/knowledge.d.ts +9 -0
  31. package/dist/mcp/knowledge.d.ts.map +1 -0
  32. package/dist/mcp/knowledge.js +59 -0
  33. package/dist/mcp/knowledge.js.map +1 -0
  34. package/dist/mcp/server.d.ts.map +1 -1
  35. package/dist/mcp/server.js +7 -3
  36. package/dist/mcp/server.js.map +1 -1
  37. package/dist/mcp/tool.d.ts +2 -2
  38. package/dist/mcp/tool.d.ts.map +1 -1
  39. package/dist/memories/command.d.ts +1 -1
  40. package/dist/notes/bound.js +1 -1
  41. package/dist/notes/command.d.ts +1 -1
  42. package/dist/notes/command.js +1 -1
  43. package/dist/notes/embed.js +1 -1
  44. package/dist/notes/folders-command.d.ts +1 -1
  45. package/dist/notes/folders-command.js +1 -1
  46. package/dist/notes/folders.js +1 -1
  47. package/dist/notes/internal.js +1 -1
  48. package/dist/notes/state.js +1 -1
  49. package/dist/options.d.ts +1 -0
  50. package/dist/options.d.ts.map +1 -1
  51. package/dist/options.js +6 -0
  52. package/dist/options.js.map +1 -1
  53. package/dist/people/command.d.ts +1 -1
  54. package/dist/people/command.js +1 -1
  55. package/dist/people/identity.js +1 -1
  56. package/dist/people/notes-map.js +1 -1
  57. package/dist/program.d.ts +1 -1
  58. package/dist/program.js +1 -1
  59. package/dist/records/run.d.ts +1 -1
  60. package/dist/records/run.js +1 -1
  61. package/dist/run/auto.d.ts +1 -1
  62. package/dist/run/auto.js +1 -1
  63. package/dist/run/import.d.ts +1 -1
  64. package/dist/run/import.js +1 -1
  65. package/dist/run/lock.js +1 -1
  66. package/dist/search/command.d.ts +40 -1
  67. package/dist/search/command.d.ts.map +1 -1
  68. package/dist/search/command.js +120 -60
  69. package/dist/search/command.js.map +1 -1
  70. package/dist/store/scope.js +1 -1
  71. package/dist/store/source-target.js +1 -1
  72. package/dist/tags/command.d.ts +1 -1
  73. package/dist/tags/command.js +1 -1
  74. package/dist/tasks/command.d.ts +1 -1
  75. package/dist/tasks/command.js +1 -1
  76. package/dist/tasks/relations-command.d.ts +1 -1
  77. package/dist/tasks/relations-command.js +1 -1
  78. package/dist/version.d.ts +1 -1
  79. package/dist/version.js +1 -1
  80. package/dist/vocabulary/command.d.ts +1 -1
  81. package/dist/vocabulary/command.js +1 -1
  82. package/dist/vocabulary/project.js +1 -1
  83. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -5,13 +5,13 @@ export interface MemoTool {
5
5
  description: string;
6
6
  writes: boolean;
7
7
  input: v.ObjectSchema<v.ObjectEntries, undefined>;
8
- run: (store: MessageStore, args: never) => Promise<object>;
8
+ run: (store: MessageStore, args: never, env: NodeJS.ProcessEnv) => Promise<object>;
9
9
  }
10
10
  export declare const define: <S extends v.ObjectSchema<v.ObjectEntries, undefined>>(tool: {
11
11
  title: string;
12
12
  description: string;
13
13
  writes: boolean;
14
14
  input: S;
15
- run: (store: MessageStore, args: v.InferOutput<S>) => Promise<object>;
15
+ run: (store: MessageStore, args: v.InferOutput<S>, env: NodeJS.ProcessEnv) => Promise<object>;
16
16
  }) => MemoTool;
17
17
  //# sourceMappingURL=tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/mcp/tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,KAAK,KAAK,CAAC,MAAM,SAAS,CAAA;AAEjC,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;IACjD,GAAG,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CAC3D;AAED,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,EAAE,SAAS,CAAC,QAAQ;IACjF,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,CAAC,CAAA;IACR,GAAG,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CACtE,KAAG,QAAuC,CAAA"}
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/mcp/tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,KAAK,KAAK,CAAC,MAAM,SAAS,CAAA;AAEjC,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;IACjD,GAAG,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CACnF;AAED,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,EAAE,SAAS,CAAC,QAAQ;IACjF,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,CAAC,CAAA;IACR,GAAG,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CAC9F,KAAG,QAAuC,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { Streams } from "@wirecat/cli-core";
1
+ import type { Streams } from "@wirecat/cli-base";
2
2
  import type { Command } from "commander";
3
3
  export declare const memoriesCommand: (program: Command, streams: Streams, env: NodeJS.ProcessEnv) => void;
4
4
  //# sourceMappingURL=command.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { resolve } from "node:path";
2
- import { CliError } from "@wirecat/cli-core";
2
+ import { CliError } from "@wirecat/cli-base";
3
3
  import { loadConfig } from "../config.js";
4
4
  import { noteFolders } from "./folders.js";
5
5
  const unbound = (path) => new CliError("configuration_error", `${path} has no folder id — memo folders add ${path}, or memo folders attach <id> ${path} if another computer made one`);
@@ -1,4 +1,4 @@
1
- import { type Streams } from "@wirecat/cli-core";
1
+ import { type Streams } from "@wirecat/cli-base";
2
2
  import { type Command } from "commander";
3
3
  export declare const notesCommand: (program: Command, streams: Streams, env: NodeJS.ProcessEnv) => void;
4
4
  //# sourceMappingURL=command.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { readFileSync } from "node:fs";
2
- import { CliError, createRenderer } from "@wirecat/cli-core";
2
+ import { CliError, createRenderer } from "@wirecat/cli-base";
3
3
  import { openStore } from "@wirecat/cli-messaging/store";
4
4
  import { InvalidArgumentError } from "commander";
5
5
  import { loadConfig } from "../config.js";
@@ -1,4 +1,4 @@
1
- import { CliError } from "@wirecat/cli-core";
1
+ import { CliError } from "@wirecat/cli-base";
2
2
  import { conversationsService, embeddingsService, embedMail as embedMailChunksOf, embedNotes as embedNoteChunksOf, storeOnlyDeps, } from "@wirecat/cli-messaging/services";
3
3
  import { APP } from "../app.js";
4
4
  /** About three chunks a second with e5-small on this laptop (2026-10-06): a run stays near three minutes, under a five-minute timer, and the next resumes. */
@@ -1,4 +1,4 @@
1
- import { type Streams } from "@wirecat/cli-core";
1
+ import { type Streams } from "@wirecat/cli-base";
2
2
  import { type Command } from "commander";
3
3
  export declare const foldersCommand: (program: Command, streams: Streams, env: NodeJS.ProcessEnv) => void;
4
4
  //# sourceMappingURL=folders-command.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import { statSync } from "node:fs";
2
2
  import { basename, resolve } from "node:path";
3
- import { CliError, createRenderer } from "@wirecat/cli-core";
3
+ import { CliError, createRenderer } from "@wirecat/cli-base";
4
4
  import { openStore } from "@wirecat/cli-messaging/store";
5
5
  import { InvalidArgumentError } from "commander";
6
6
  import { loadConfig, updateConfig } from "../config.js";
@@ -1,5 +1,5 @@
1
1
  import { resolve } from "node:path";
2
- import { CliError } from "@wirecat/cli-core";
2
+ import { CliError } from "@wirecat/cli-base";
3
3
  const entryOf = (entry) => typeof entry === "string"
4
4
  ? { id: null, path: resolve(entry), format: "obsidian" }
5
5
  : { id: entry.id, path: resolve(entry.path), format: entry.format ?? "obsidian" };
@@ -1,5 +1,5 @@
1
1
  import { resolve } from "node:path";
2
- import { CliError } from "@wirecat/cli-core";
2
+ import { CliError } from "@wirecat/cli-base";
3
3
  import { dialectOf } from "./dialects/index.js";
4
4
  import { exportNotes } from "./export.js";
5
5
  const PAGE = 500;
@@ -1,6 +1,6 @@
1
1
  import { mkdirSync, readFileSync, renameSync, writeFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
- import { resolvePaths } from "@wirecat/cli-core";
3
+ import { resolvePaths } from "@wirecat/cli-base";
4
4
  const empty = () => ({ files: {}, documents: {} });
5
5
  const fileOf = (env, id) => join(resolvePaths({ appName: "cli-memo", prefix: "MEMO", env }).state, "folders", `${id}.json`);
6
6
  /** `undefined` before this computer's first import of the folder. */
package/dist/options.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { type Command } from "commander";
2
2
  export declare const positive: (value: string) => number;
3
+ export declare const whole: (value: string) => number;
3
4
  export declare const oneOf: <T extends string>(values: readonly T[]) => (value: string) => T;
4
5
  export declare const accountOptions: (command: Command) => Command;
5
6
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAwB,MAAM,WAAW,CAAA;AAE9D,eAAO,MAAM,QAAQ,UAAW,MAAM,KAAG,MAIxC,CAAA;AAED,eAAO,MAAM,KAAK,GACf,CAAC,SAAS,MAAM,UAAU,SAAS,CAAC,EAAE,aAC/B,MAAM,KAAG,CAGhB,CAAA;AAEH,eAAO,MAAM,cAAc,YAAa,OAAO,YAIZ,CAAA"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAwB,MAAM,WAAW,CAAA;AAE9D,eAAO,MAAM,QAAQ,UAAW,MAAM,KAAG,MAIxC,CAAA;AAED,eAAO,MAAM,KAAK,UAAW,MAAM,KAAG,MAKrC,CAAA;AAED,eAAO,MAAM,KAAK,GACf,CAAC,SAAS,MAAM,UAAU,SAAS,CAAC,EAAE,aAC/B,MAAM,KAAG,CAGhB,CAAA;AAEH,eAAO,MAAM,cAAc,YAAa,OAAO,YAIZ,CAAA"}
package/dist/options.js CHANGED
@@ -5,6 +5,12 @@ export const positive = (value) => {
5
5
  throw new InvalidArgumentError("a whole number above zero");
6
6
  return number;
7
7
  };
8
+ export const whole = (value) => {
9
+ const number = Number(value);
10
+ if (!Number.isInteger(number) || number < 0 || number > 100)
11
+ throw new InvalidArgumentError("a whole number, 0 to 100");
12
+ return number;
13
+ };
8
14
  export const oneOf = (values) => (value) => {
9
15
  if (!values.includes(value))
10
16
  throw new InvalidArgumentError(`choose ${values.join(", ")}`);
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAE9D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAU,EAAE;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC5B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,oBAAoB,CAAC,2BAA2B,CAAC,CAAA;IACxG,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAChB,CAAmB,MAAoB,EAAE,EAAE,CAC3C,CAAC,KAAa,EAAK,EAAE;IACnB,IAAI,CAAE,MAA4B,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,oBAAoB,CAAC,UAAU,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACjH,OAAO,KAAU,CAAA;AACnB,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAE,EAAE,CACjD,OAAO;KACJ,MAAM,CAAC,uBAAuB,EAAE,iBAAiB,CAAC;KAClD,MAAM,CAAC,qBAAqB,EAAE,sBAAsB,CAAC;KACrD,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAE9D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAU,EAAE;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC5B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,oBAAoB,CAAC,2BAA2B,CAAC,CAAA;IACxG,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAU,EAAE;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC5B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,GAAG;QACzD,MAAM,IAAI,oBAAoB,CAAC,0BAA0B,CAAC,CAAA;IAC5D,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAChB,CAAmB,MAAoB,EAAE,EAAE,CAC3C,CAAC,KAAa,EAAK,EAAE;IACnB,IAAI,CAAE,MAA4B,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,oBAAoB,CAAC,UAAU,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACjH,OAAO,KAAU,CAAA;AACnB,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAE,EAAE,CACjD,OAAO;KACJ,MAAM,CAAC,uBAAuB,EAAE,iBAAiB,CAAC;KAClD,MAAM,CAAC,qBAAqB,EAAE,sBAAsB,CAAC;KACrD,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { type Streams } from "@wirecat/cli-core";
1
+ import { type Streams } from "@wirecat/cli-base";
2
2
  import type { Command } from "commander";
3
3
  /** Who is who is linked in messaging (`tg contacts link`); the note about a person is an `about` link. */
4
4
  export declare const noteCommand: (program: Command, streams: Streams, env: NodeJS.ProcessEnv) => void;
@@ -1,5 +1,5 @@
1
1
  import { join } from "node:path";
2
- import { CliError } from "@wirecat/cli-core";
2
+ import { CliError } from "@wirecat/cli-base";
3
3
  import { openStore } from "@wirecat/cli-messaging/store";
4
4
  import { boundFolders, folderOfFile } from "../notes/bound.js";
5
5
  import { folderNotes } from "../notes/import.js";
@@ -1,4 +1,4 @@
1
- import { CliError } from "@wirecat/cli-core";
1
+ import { CliError } from "@wirecat/cli-base";
2
2
  import { pickPerson } from "@wirecat/cli-messaging";
3
3
  /** `telegram:Ana`, `max:12345`, `email:ana@example.com` — the messenger is always named. */
4
4
  export const identityOf = async (store, reference) => {
@@ -1,6 +1,6 @@
1
1
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
- import { loadConfigFile, resolvePaths } from "@wirecat/cli-core";
3
+ import { loadConfigFile, resolvePaths } from "@wirecat/cli-base";
4
4
  import * as v from "valibot";
5
5
  import { folderOfFile } from "../notes/bound.js";
6
6
  import { folderNotes } from "../notes/import.js";
package/dist/program.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type Streams } from "@wirecat/cli-core";
1
+ import { type Streams } from "@wirecat/cli-base";
2
2
  import { Command } from "commander";
3
3
  export declare const createProgram: ({ streams, env, }?: {
4
4
  streams?: Streams;
package/dist/program.js CHANGED
@@ -1,4 +1,4 @@
1
- import { processStreams } from "@wirecat/cli-core";
1
+ import { processStreams } from "@wirecat/cli-base";
2
2
  import { Command } from "commander";
3
3
  import { actionsCommand } from "./actions/command.js";
4
4
  import { agentsCommand } from "./agents/command.js";
@@ -1,4 +1,4 @@
1
- import { type Streams } from "@wirecat/cli-core";
1
+ import { type Streams } from "@wirecat/cli-base";
2
2
  import { type MessageStore } from "@wirecat/cli-messaging/store";
3
3
  /** Opens the store for one command, prints its answer as JSON or as indented text, and closes the store. */
4
4
  export declare const answering: (streams: Streams, env: NodeJS.ProcessEnv) => (json: boolean | undefined, work: (store: MessageStore) => Promise<unknown>) => Promise<void>;
@@ -1,4 +1,4 @@
1
- import { createRenderer } from "@wirecat/cli-core";
1
+ import { createRenderer } from "@wirecat/cli-base";
2
2
  import { openStore } from "@wirecat/cli-messaging/store";
3
3
  /** Opens the store for one command, prints its answer as JSON or as indented text, and closes the store. */
4
4
  export const answering = (streams, env) => async (json, work) => {
@@ -1,4 +1,4 @@
1
- import { type Streams } from "@wirecat/cli-core";
1
+ import { type Streams } from "@wirecat/cli-base";
2
2
  import { type Command } from "commander";
3
3
  import { type Config } from "../config.js";
4
4
  export declare const DEFAULT_EVERY = "5m";
package/dist/run/auto.js CHANGED
@@ -3,7 +3,7 @@ import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node
3
3
  import { homedir } from "node:os";
4
4
  import { dirname, join, resolve } from "node:path";
5
5
  import { fileURLToPath } from "node:url";
6
- import { CliError, createRenderer } from "@wirecat/cli-core";
6
+ import { CliError, createRenderer } from "@wirecat/cli-base";
7
7
  import { InvalidArgumentError } from "commander";
8
8
  import { loadConfig, updateConfig } from "../config.js";
9
9
  export const DEFAULT_EVERY = "5m";
@@ -1,4 +1,4 @@
1
- import { type Streams } from "@wirecat/cli-core";
1
+ import { type Streams } from "@wirecat/cli-base";
2
2
  import type { Command } from "commander";
3
3
  import { type ImportResult } from "../mail/import.js";
4
4
  import { type NoteChunksEmbedded } from "../notes/embed.js";
@@ -1,4 +1,4 @@
1
- import { createRenderer } from "@wirecat/cli-core";
1
+ import { createRenderer } from "@wirecat/cli-base";
2
2
  import { openStore } from "@wirecat/cli-messaging/store";
3
3
  import { loadConfig } from "../config.js";
4
4
  import { himalaya } from "../mail/himalaya.js";
package/dist/run/lock.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { join } from "node:path";
2
- import { CliError, resolvePaths } from "@wirecat/cli-core";
2
+ import { CliError, resolvePaths } from "@wirecat/cli-base";
3
3
  import { releaseLock, takeLock } from "@wirecat/cli-messaging/background";
4
4
  /** Runs one import at a time: `memo import`, the timer and `memo mail <account> import` share this lock. */
5
5
  export const withImportLock = async (env, work) => {
@@ -1,4 +1,5 @@
1
- import { type Streams } from "@wirecat/cli-core";
1
+ import { type Streams } from "@wirecat/cli-base";
2
+ import { type SearchedResource, type SearchFound } from "@wirecat/cli-messaging/services";
2
3
  import type { AccountKey, MessageStore } from "@wirecat/cli-messaging/store";
3
4
  import { type Command } from "commander";
4
5
  import { type AccountScope } from "../store/scope.js";
@@ -34,5 +35,43 @@ export declare const searchAccounts: (store: MessageStore, options: AccountScope
34
35
  keys: AccountKey[];
35
36
  notes: boolean;
36
37
  }>;
38
+ export type Level = "brief" | "full";
39
+ /**
40
+ * A found message or email for a reader: its reference first, then when and from whom, who else it went to and
41
+ * where it is filed, its subject or chat, and an excerpt — the whole text only with --full.
42
+ */
43
+ export declare const found: (item: SearchFound["items"][number], level: Level | undefined) => string;
44
+ export interface QueryInput {
45
+ text: string;
46
+ limit: number;
47
+ exact?: boolean;
48
+ timezone?: string;
49
+ }
50
+ /** Messages, mail and notes ranked together, with the open tasks that point at a hit. */
51
+ export declare const searchEverywhere: (store: MessageStore, env: NodeJS.ProcessEnv, { text, limit, only, exact, timezone }: QueryInput & {
52
+ only?: SearchedResource[];
53
+ }) => Promise<{
54
+ query: string;
55
+ items: import("@wirecat/cli-messaging/services").SearchAllItem[];
56
+ hasMore: boolean;
57
+ nextOffset?: number;
58
+ searched: SearchedResource[];
59
+ skipped: {
60
+ resource: SearchedResource;
61
+ reason: string;
62
+ }[];
63
+ notes?: {
64
+ by: "words" | "words and meaning";
65
+ meaningSkipped?: string;
66
+ };
67
+ server?: import("@wirecat/cli-messaging/services").ServerSearched;
68
+ tasks: import("@wirecat/cli-messaging/services").TaskView[];
69
+ tasksIncomplete: boolean;
70
+ }>;
71
+ /** One kind with all its fields: messenger messages from every messenger, or imported mail. */
72
+ export declare const searchKind: (store: MessageStore, kind: "messages" | "mail", { text, limit, type, account, exact, timezone }: QueryInput & {
73
+ type?: "text" | "voice" | "file";
74
+ account?: string;
75
+ }) => Promise<SearchFound>;
37
76
  export declare const searchCommand: (program: Command, streams: Streams, env: NodeJS.ProcessEnv) => void;
38
77
  //# sourceMappingURL=command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/search/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAW1E,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAQ,MAAM,8BAA8B,CAAA;AAElF,OAAO,EAAE,KAAK,OAAO,EAAwB,MAAM,WAAW,CAAA;AAM9D,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,mBAAmB,CAAA;AAGpE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;IAC3C,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,kBAAkB,GAAG,WAAW,GAAG,aAAa,CAAA;IACvD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,aAAa,UACjB,YAAY,SACZ,MAAM,WACJ;IAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,KACnG,OAAO,CAAC;IACT,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,UAAU,EAAE,CAAA;IACtB,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB,CA0GA,CAAA;AAED,+FAA+F;AAC/F,eAAO,MAAM,cAAc,UAClB,YAAY,WACV,YAAY,GAAG;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,KACxC,OAAO,CAAC;IAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAMhD,CAAA;AAgCD,eAAO,MAAM,aAAa,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,SA+LvF,CAAA"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/search/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAKjB,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAQ,MAAM,8BAA8B,CAAA;AAElF,OAAO,EAAE,KAAK,OAAO,EAAwB,MAAM,WAAW,CAAA;AAM9D,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,mBAAmB,CAAA;AAGpE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;IAC3C,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,kBAAkB,GAAG,WAAW,GAAG,aAAa,CAAA;IACvD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAID,eAAO,MAAM,aAAa,UACjB,YAAY,SACZ,MAAM,WACJ;IAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,KACnG,OAAO,CAAC;IACT,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,UAAU,EAAE,CAAA;IACtB,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB,CAyHA,CAAA;AAED,+FAA+F;AAC/F,eAAO,MAAM,cAAc,UAClB,YAAY,WACV,YAAY,GAAG;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,KACxC,OAAO,CAAC;IAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAMhD,CAAA;AAgCD,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,MAAM,CAAA;AASpC;;;GAGG;AACH,eAAO,MAAM,KAAK,SAAU,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,GAAG,SAAS,KAAG,MAqBpF,CAAA;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,yFAAyF;AACzF,eAAO,MAAM,gBAAgB,UACpB,YAAY,OACd,MAAM,CAAC,UAAU,0CACkB,UAAU,GAAG;IAAE,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAAE;;;;;;;;;;;;;;;;;EA2BnF,CAAA;AAED,+FAA+F;AAC/F,eAAO,MAAM,UAAU,UACd,YAAY,QACb,UAAU,GAAG,MAAM,mDACwB,UAAU,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,yBA6BrH,CAAA;AAED,eAAO,MAAM,aAAa,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,SA0JvF,CAAA"}
@@ -1,5 +1,5 @@
1
- import { CliError, createRenderer } from "@wirecat/cli-core";
2
- import { parseLocator } from "@wirecat/cli-messaging";
1
+ import { CliError } from "@wirecat/cli-base";
2
+ import { parseLocator, resolveOutput } from "@wirecat/cli-messaging";
3
3
  import { parseLucene, searchAll, searchNotes, searchNotesQuery, searchStore, } from "@wirecat/cli-messaging/services";
4
4
  import { openStore } from "@wirecat/cli-messaging/store";
5
5
  import { InvalidArgumentError } from "commander";
@@ -10,6 +10,7 @@ import { positive } from "../options.js";
10
10
  import { SAVE_HELP } from "../save-help.js";
11
11
  import { selectAccount } from "../store/scope.js";
12
12
  import { taskPage } from "../tasks/context.js";
13
+ const CHATS_CHECKED = 500;
13
14
  export const unifiedSearch = async (store, query, options) => {
14
15
  const limit = options.limit ?? 20, offset = options.offset ?? 0;
15
16
  if (!Number.isInteger(limit) || limit < 1 || limit > 100 || !Number.isInteger(offset) || offset < 0 || offset > 1000)
@@ -94,11 +95,26 @@ export const unifiedSearch = async (store, query, options) => {
94
95
  match: "task-source",
95
96
  });
96
97
  }
97
- coverage.push({
98
- ...key,
99
- mail: key.provider === "email" ? ((await store.syncState(key, "mail_coverage"))?.value ?? null) : undefined,
100
- archives: await store.chatCompleteness(key, (await store.chats(key, { limit: 500 })).items.map((chat) => chat.id)),
101
- });
98
+ if (key.provider === "email")
99
+ coverage.push({ ...key, mail: (await store.syncState(key, "mail_coverage"))?.value ?? null });
100
+ else {
101
+ // Counts, not one row per chat: an account of hundreds of chats made the rows most of an answer.
102
+ const chats = await store.chats(key, { limit: CHATS_CHECKED });
103
+ const archives = await store.chatCompleteness(key, chats.items.map((chat) => chat.id));
104
+ const count = (test) => archives.filter(test).length;
105
+ coverage.push({
106
+ ...key,
107
+ chats: {
108
+ checked: archives.length,
109
+ more: chats.hasMore,
110
+ complete: count(({ state }) => state === "complete"),
111
+ partial: count(({ state }) => state === "partial"),
112
+ neverFetched: count(({ state }) => state === "unknown"),
113
+ behind: count(({ upToDate }) => upToDate === false),
114
+ withGaps: count(({ gaps }) => gaps),
115
+ },
116
+ });
117
+ }
102
118
  }
103
119
  items.sort((a, b) => b.timestamp.localeCompare(a.timestamp) || a.kind.localeCompare(b.kind) || a.locator.localeCompare(b.locator));
104
120
  const unique = [...new Map(items.map((item) => [item.locator, item])).values()];
@@ -147,6 +163,80 @@ const searchFolderIds = async (store, env, selected) => {
147
163
  const bound = paths.length ? await boundFolders(store, env, { only: paths }) : [];
148
164
  return [...new Set([...selected.filter((value) => known.has(value)), ...bound.map(({ id }) => id)])];
149
165
  };
166
+ const levelOf = ({ brief, full }) => {
167
+ if (brief && full)
168
+ throw new CliError("validation_error", "--brief and --full ask for opposite things — pick one");
169
+ return brief ? "brief" : full ? "full" : undefined;
170
+ };
171
+ const line = (text) => text.replace(/\s+/g, " ").trim();
172
+ /**
173
+ * A found message or email for a reader: its reference first, then when and from whom, who else it went to and
174
+ * where it is filed, its subject or chat, and an excerpt — the whole text only with --full.
175
+ */
176
+ export const found = (item, level) => {
177
+ const mail = item.email;
178
+ const names = (people) => people.map(({ name, address }) => line(name ?? address)).join(", ");
179
+ const between = mail
180
+ ? [
181
+ mail.to.length ? `to ${names(mail.to)}` : "",
182
+ mail.cc.length ? `cc ${names(mail.cc)}` : "",
183
+ mail.labels.join(", "),
184
+ ]
185
+ .filter(Boolean)
186
+ .join(" · ")
187
+ : "";
188
+ const who = line(item.senderName ?? item.senderId ?? "unknown");
189
+ const lines = [
190
+ item.locator,
191
+ ` ${item.timestamp} ${who}${level === "brief" || !between ? "" : ` ${between}`}`,
192
+ ...(level === "brief" || !item.chatTitle ? [] : [` ${line(item.chatTitle)}`]),
193
+ ` ${level === "full" ? item.text.replace(/\n/g, "\n ") : line(item.excerpt ?? item.text)}`,
194
+ ];
195
+ return lines.join("\n");
196
+ };
197
+ /** Messages, mail and notes ranked together, with the open tasks that point at a hit. */
198
+ export const searchEverywhere = async (store, env, { text, limit, only, exact, timezone }) => {
199
+ const accounts = await store.accounts();
200
+ const key = accounts.find(({ provider }) => provider !== "notes") ?? { provider: "notes", account: "internal" };
201
+ const found = await searchAll(store, key, {
202
+ text,
203
+ limit,
204
+ env,
205
+ ...(only === undefined ? {} : { only }),
206
+ ...(exact ? { exact: true } : {}),
207
+ ...(timezone === undefined ? {} : { timezone }),
208
+ },
209
+ // The shared search names this command only in the model hint, and the model comes from tg.
210
+ { app: { ...APP, command: "tg" } });
211
+ const tasks = [];
212
+ let tasksIncomplete = false;
213
+ const sources = found.items.map((item) => item.ref);
214
+ for (const account of accounts) {
215
+ const page = await taskPage(store, account, { state: "open", sources, limit: Math.min(limit, 500) });
216
+ tasks.push(...page.items);
217
+ tasksIncomplete ||= page.hasMore;
218
+ }
219
+ return { ...found, tasks: tasks.slice(0, limit), tasksIncomplete: tasksIncomplete || tasks.length > limit };
220
+ };
221
+ /** One kind with all its fields: messenger messages from every messenger, or imported mail. */
222
+ export const searchKind = async (store, kind, { text, limit, type, account, exact, timezone }) => {
223
+ const [runsAs] = (await store.accounts()).filter(({ provider }) => provider !== "notes" && (kind === "mail" ? provider === "email" : provider !== "email"));
224
+ if (runsAs === undefined)
225
+ throw new CliError("not_found", kind === "mail" ? "no imported mail; run memo mail <account> import" : "no stored messenger messages");
226
+ // The store needs an account to run as; the kind, the query and the mail account choose what it reads.
227
+ return searchStore(store, runsAs, {
228
+ text: type === undefined
229
+ ? text
230
+ : `(${text}) AND ${{ text: "NOT has:attachment", voice: "has:voice", file: "has:file" }[type]}`,
231
+ language: "lucene",
232
+ kind,
233
+ ...(kind === "messages" && !hasSource(parseLucene(text).root) ? { source: "all" } : {}),
234
+ limit,
235
+ ...(account === undefined ? {} : { mailAccount: account }),
236
+ ...(exact ? { exact: true } : {}),
237
+ ...(timezone === undefined ? {} : { timezone }),
238
+ }, { app: APP });
239
+ };
150
240
  export const searchCommand = (program, streams, env) => {
151
241
  const group = program
152
242
  .command("search")
@@ -160,9 +250,9 @@ export const searchCommand = (program, streams, env) => {
160
250
  await store.close();
161
251
  }
162
252
  };
163
- const print = (json, answer, text) => {
253
+ const print = (json, answer, text, level) => {
164
254
  if (json)
165
- createRenderer({ format: "json", color: false, streams }).result(answer);
255
+ resolveOutput({ json: true, streams, ...(level === undefined ? {} : { hitDetail: level }) }).renderer.result(answer);
166
256
  else
167
257
  streams.data(`${text}\n`);
168
258
  };
@@ -177,41 +267,22 @@ export const searchCommand = (program, streams, env) => {
177
267
  }, 20)
178
268
  .option("--exact", "words as written; skip meaning search")
179
269
  .option("--timezone <zone>", "IANA timezone for calendar date boundaries")
180
- .option("--json", "print JSON");
270
+ .option("--json", "print JSON")
271
+ .option("--brief", "each message or email as reference, time, sender and excerpt only")
272
+ .option("--full", "each message or email with its whole text and every field");
181
273
  queryOptions(group
182
274
  .command("all")
183
275
  .description("Messages, mail and notes ranked together; not people, memories, projects or decisions. A kind you know " +
184
276
  "reads better with its own search, with all its fields"))
185
277
  .option("--only <resources>", "messages,mail,notes, separated by commas", onlyOf)
186
278
  .action(async (words, options) => {
187
- const answer = await withStore(async (store) => {
188
- const accounts = await store.accounts();
189
- const key = accounts.find(({ provider }) => provider !== "notes") ?? {
190
- provider: "notes",
191
- account: "internal",
192
- };
193
- const found = await searchAll(store, key, {
194
- text: words.join(" "),
195
- limit: options.limit,
196
- env,
197
- ...(options.only === undefined ? {} : { only: options.only }),
198
- ...(options.exact ? { exact: true } : {}),
199
- ...(options.timezone === undefined ? {} : { timezone: options.timezone }),
200
- }, { app: APP });
201
- const tasks = [];
202
- let tasksIncomplete = false;
203
- const sources = found.items.map((item) => item.ref);
204
- for (const account of accounts) {
205
- const page = await taskPage(store, account, { state: "open", sources, limit: Math.min(options.limit, 500) });
206
- tasks.push(...page.items);
207
- tasksIncomplete ||= page.hasMore;
208
- }
209
- return {
210
- ...found,
211
- tasks: tasks.slice(0, options.limit),
212
- tasksIncomplete: tasksIncomplete || tasks.length > options.limit,
213
- };
214
- });
279
+ const answer = await withStore((store) => searchEverywhere(store, env, {
280
+ text: words.join(" "),
281
+ limit: options.limit,
282
+ ...(options.only === undefined ? {} : { only: options.only }),
283
+ ...(options.exact ? { exact: true } : {}),
284
+ ...(options.timezone === undefined ? {} : { timezone: options.timezone }),
285
+ }));
215
286
  if (!options.json) {
216
287
  for (const skipped of answer.skipped)
217
288
  streams.diagnostic(`${skipped.resource} not searched: ${skipped.reason}\n`);
@@ -230,27 +301,16 @@ export const searchCommand = (program, streams, env) => {
230
301
  else
231
302
  leaf.option("--account <address>", "only this mail account, by its address (default: every mail account)");
232
303
  leaf.action(async (words, options) => {
233
- const answer = await withStore(async (store) => {
234
- const [runsAs] = (await store.accounts()).filter(({ provider }) => provider !== "notes" && (kind === "mail" ? provider === "email" : provider !== "email"));
235
- if (runsAs === undefined)
236
- throw new CliError("not_found", kind === "mail" ? "no imported mail; run memo mail <account> import" : "no stored messenger messages");
237
- // The store needs an account to run as; the kind, the query and --account choose what it reads.
238
- return searchStore(store, runsAs, {
239
- text: options.type === undefined
240
- ? words.join(" ")
241
- : `(${words.join(" ")}) AND ${{ text: "NOT has:attachment", voice: "has:voice", file: "has:file" }[options.type]}`,
242
- language: "lucene",
243
- kind,
244
- ...(kind === "messages" && !hasSource(parseLucene(words.join(" ")).root)
245
- ? { source: "all" }
246
- : {}),
247
- limit: options.limit,
248
- ...(options.account === undefined ? {} : { mailAccount: options.account }),
249
- ...(options.exact ? { exact: true } : {}),
250
- ...(options.timezone === undefined ? {} : { timezone: options.timezone }),
251
- }, { app: APP });
252
- });
253
- print(options.json, answer, answer.items.map((item) => `${item.locator}\n ${item.text}`).join("\n"));
304
+ const level = levelOf(options);
305
+ const answer = await withStore((store) => searchKind(store, kind, {
306
+ text: words.join(" "),
307
+ limit: options.limit,
308
+ ...(options.type === undefined ? {} : { type: options.type }),
309
+ ...(options.account === undefined ? {} : { account: options.account }),
310
+ ...(options.exact ? { exact: true } : {}),
311
+ ...(options.timezone === undefined ? {} : { timezone: options.timezone }),
312
+ }));
313
+ print(options.json, answer, answer.items.map((item) => found(item, level)).join("\n"), level);
254
314
  });
255
315
  }
256
316
  queryOptions(group.command("notes").description("Native notes by words and, with the local model, meaning"))
@@ -264,7 +324,7 @@ export const searchCommand = (program, streams, env) => {
264
324
  limit: options.limit,
265
325
  offset: options.offset,
266
326
  env,
267
- command: "memo",
327
+ command: "tg",
268
328
  ...(options.type === undefined ? {} : { source: options.type }),
269
329
  ...(options.tag === undefined ? {} : { tag: options.tag }),
270
330
  ...(options.filter === undefined ? {} : { filter: options.filter }),