@ncukondo/reference-manager 0.6.0 → 0.7.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 (39) hide show
  1. package/README.md +36 -0
  2. package/dist/chunks/action-menu-CTtINmWd.js +118 -0
  3. package/dist/chunks/action-menu-CTtINmWd.js.map +1 -0
  4. package/dist/chunks/{file-watcher-Cwfnnw92.js → file-watcher-D7oyc-9z.js} +14 -2
  5. package/dist/chunks/{file-watcher-Cwfnnw92.js.map → file-watcher-D7oyc-9z.js.map} +1 -1
  6. package/dist/chunks/{index-CQO8hLYm.js → index-_7NEUoS7.js} +13 -9
  7. package/dist/chunks/index-_7NEUoS7.js.map +1 -0
  8. package/dist/chunks/{loader-B_ZLxCQW.js → loader-BItrdVWG.js} +59 -7
  9. package/dist/chunks/loader-BItrdVWG.js.map +1 -0
  10. package/dist/chunks/search-prompt-D67WyKrY.js +179 -0
  11. package/dist/chunks/search-prompt-D67WyKrY.js.map +1 -0
  12. package/dist/chunks/tty-CDBIQraQ.js +17 -0
  13. package/dist/chunks/tty-CDBIQraQ.js.map +1 -0
  14. package/dist/cli/commands/search.d.ts +19 -0
  15. package/dist/cli/commands/search.d.ts.map +1 -1
  16. package/dist/cli/index.d.ts.map +1 -1
  17. package/dist/cli.js +64 -10
  18. package/dist/cli.js.map +1 -1
  19. package/dist/config/defaults.d.ts.map +1 -1
  20. package/dist/config/loader.d.ts.map +1 -1
  21. package/dist/config/schema.d.ts +24 -1
  22. package/dist/config/schema.d.ts.map +1 -1
  23. package/dist/features/import/importer.d.ts.map +1 -1
  24. package/dist/features/interactive/action-menu.d.ts +56 -0
  25. package/dist/features/interactive/action-menu.d.ts.map +1 -0
  26. package/dist/features/interactive/debounce.d.ts +22 -0
  27. package/dist/features/interactive/debounce.d.ts.map +1 -0
  28. package/dist/features/interactive/format.d.ts +52 -0
  29. package/dist/features/interactive/format.d.ts.map +1 -0
  30. package/dist/features/interactive/search-prompt.d.ts +47 -0
  31. package/dist/features/interactive/search-prompt.d.ts.map +1 -0
  32. package/dist/features/interactive/tty.d.ts +20 -0
  33. package/dist/features/interactive/tty.d.ts.map +1 -0
  34. package/dist/features/operations/add.d.ts.map +1 -1
  35. package/dist/index.js +3 -3
  36. package/dist/server.js +2 -2
  37. package/package.json +2 -1
  38. package/dist/chunks/index-CQO8hLYm.js.map +0 -1
  39. package/dist/chunks/loader-B_ZLxCQW.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED;;;GAGG;AACH,wBAAgB,kCAAkC,IAAI,MAAM,CAE3D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAEpD;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAuC3B,CAAC"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED;;;GAGG;AACH,wBAAgB,kCAAkC,IAAI,MAAM,CAE3D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAEpD;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MA2C3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,OAAO,EACL,KAAK,MAAM,EAMZ,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yDAAyD;IACzD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7B;AAwLD;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAwClE"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,OAAO,EACL,KAAK,MAAM,EAMZ,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yDAAyD;IACzD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7B;AA6ND;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAwClE"}
@@ -10,6 +10,13 @@ export declare const logLevelSchema: z.ZodEnum<{
10
10
  info: "info";
11
11
  debug: "debug";
12
12
  }>;
13
+ /**
14
+ * Interactive search configuration schema
15
+ */
16
+ export declare const interactiveConfigSchema: z.ZodObject<{
17
+ limit: z.ZodNumber;
18
+ debounceMs: z.ZodNumber;
19
+ }, z.core.$strip>;
13
20
  /**
14
21
  * CLI configuration schema
15
22
  */
@@ -26,6 +33,10 @@ export declare const cliConfigSchema: z.ZodObject<{
26
33
  asc: "asc";
27
34
  desc: "desc";
28
35
  }>;
36
+ interactive: z.ZodObject<{
37
+ limit: z.ZodNumber;
38
+ debounceMs: z.ZodNumber;
39
+ }, z.core.$strip>;
29
40
  }, z.core.$strip>;
30
41
  /**
31
42
  * MCP configuration schema
@@ -148,6 +159,10 @@ export declare const configSchema: z.ZodObject<{
148
159
  asc: "asc";
149
160
  desc: "desc";
150
161
  }>;
162
+ interactive: z.ZodObject<{
163
+ limit: z.ZodNumber;
164
+ debounceMs: z.ZodNumber;
165
+ }, z.core.$strip>;
151
166
  }, z.core.$strip>;
152
167
  mcp: z.ZodObject<{
153
168
  defaultLimit: z.ZodNumber;
@@ -243,6 +258,11 @@ export declare const partialConfigSchema: z.ZodObject<{
243
258
  asc: "asc";
244
259
  desc: "desc";
245
260
  }>>;
261
+ interactive: z.ZodOptional<z.ZodObject<{
262
+ limit: z.ZodOptional<z.ZodNumber>;
263
+ debounceMs: z.ZodOptional<z.ZodNumber>;
264
+ debounce_ms: z.ZodOptional<z.ZodNumber>;
265
+ }, z.core.$strip>>;
246
266
  }, z.core.$strip>>;
247
267
  mcp: z.ZodOptional<z.ZodObject<{
248
268
  defaultLimit: z.ZodOptional<z.ZodNumber>;
@@ -260,6 +280,7 @@ export type CitationFormat = z.infer<typeof citationFormatSchema>;
260
280
  export type CitationConfig = z.infer<typeof citationConfigSchema>;
261
281
  export type PubmedConfig = z.infer<typeof pubmedConfigSchema>;
262
282
  export type FulltextConfig = z.infer<typeof fulltextConfigSchema>;
283
+ export type InteractiveConfig = z.infer<typeof interactiveConfigSchema>;
263
284
  export type CliConfig = z.infer<typeof cliConfigSchema>;
264
285
  export type McpConfig = z.infer<typeof mcpConfigSchema>;
265
286
  export type Config = z.infer<typeof configSchema>;
@@ -276,7 +297,9 @@ export type DeepPartialConfig = {
276
297
  citation?: Partial<CitationConfig>;
277
298
  pubmed?: Partial<PubmedConfig>;
278
299
  fulltext?: Partial<FulltextConfig>;
279
- cli?: Partial<CliConfig>;
300
+ cli?: Partial<Omit<CliConfig, "interactive">> & {
301
+ interactive?: Partial<InteractiveConfig>;
302
+ };
280
303
  mcp?: Partial<McpConfig>;
281
304
  };
282
305
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;GAEG;AACH,eAAO,MAAM,cAAc;;;;EAAsC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;iBAGlC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;iBAK1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe;;iBAE1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;iBAI7B,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;;;;;iBAK5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;EAAkC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;iBAK/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;iBAE/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAWvB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkFhB,CAAC;AAEjB;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACnC,GAAG,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,GAAG;QAC9C,WAAW,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;KAC1C,CAAC;IACF,GAAG,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;CAC1B,CAAC;AAsMF;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,iBAAiB,CAkBhF"}
@@ -1 +1 @@
1
- {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../../src/features/import/importer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAW5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIjD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAqOD;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,WAAW,GAAG,MAAM,EAC5B,QAAQ,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC,CAuCvB;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CA2BvB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,oDAAoD;IACpD,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAC9B,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAsGD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,YAAY,CAAC,CAiCvB"}
1
+ {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../../src/features/import/importer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAW5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIjD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAqOD;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,WAAW,GAAG,MAAM,EAC5B,QAAQ,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC,CAuCvB;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CA2BvB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,oDAAoD;IACpD,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAC9B,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAuGD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,YAAY,CAAC,CAiCvB"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Action menu for interactive search mode.
3
+ * Allows users to perform actions on selected references.
4
+ */
5
+ import type { CslItem } from "../../core/csl-json/types.js";
6
+ /**
7
+ * Action types available in the action menu.
8
+ */
9
+ export type ActionType = "output-ids" | "output-csl-json" | "output-bibtex" | "cite-apa" | "cite-choose" | "cancel";
10
+ /**
11
+ * Result from action menu selection.
12
+ */
13
+ export interface ActionMenuResult {
14
+ /** Selected action type */
15
+ action: ActionType;
16
+ /** Generated output (empty for cancel) */
17
+ output: string;
18
+ /** Whether the prompt was cancelled */
19
+ cancelled: boolean;
20
+ }
21
+ /**
22
+ * Result from style selection prompt.
23
+ */
24
+ export interface StyleSelectResult {
25
+ /** Selected style (undefined if cancelled) */
26
+ style?: string;
27
+ /** Whether the prompt was cancelled */
28
+ cancelled: boolean;
29
+ }
30
+ /**
31
+ * Choice definition for Enquirer Select prompt.
32
+ */
33
+ interface SelectChoice {
34
+ name: string;
35
+ message: string;
36
+ value: ActionType | string;
37
+ }
38
+ /**
39
+ * Available action choices for the action menu.
40
+ */
41
+ export declare const ACTION_CHOICES: SelectChoice[];
42
+ /**
43
+ * Available style choices for citation style selection.
44
+ * Uses BUILTIN_STYLES from config/csl-styles.ts
45
+ */
46
+ export declare const STYLE_CHOICES: SelectChoice[];
47
+ export declare function runStyleSelectPrompt(): Promise<StyleSelectResult>;
48
+ /**
49
+ * Run the action menu for selected references.
50
+ *
51
+ * @param items - Selected references
52
+ * @returns Action result with output
53
+ */
54
+ export declare function runActionMenu(items: CslItem[]): Promise<ActionMenuResult>;
55
+ export {};
56
+ //# sourceMappingURL=action-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-menu.d.ts","sourceRoot":"","sources":["../../../src/features/interactive/action-menu.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAG5D;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,YAAY,GACZ,iBAAiB,GACjB,eAAe,GACf,UAAU,GACV,aAAa,GACb,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,YAAY,EAOxC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,YAAY,EAIvC,CAAC;AAwEF,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CA+BvE;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkC/E"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Debounce utility for interactive search
3
+ */
4
+ /**
5
+ * Debounced function with cancel capability
6
+ */
7
+ export interface DebouncedFunction<T extends (...args: never[]) => void> {
8
+ (...args: Parameters<T>): void;
9
+ cancel: () => void;
10
+ }
11
+ /**
12
+ * Create a debounced version of a function
13
+ *
14
+ * The debounced function will only execute after the specified delay
15
+ * has passed without any new calls. Each call resets the delay timer.
16
+ *
17
+ * @param fn - Function to debounce
18
+ * @param delayMs - Delay in milliseconds
19
+ * @returns Debounced function with cancel method
20
+ */
21
+ export declare function debounce<T extends (...args: never[]) => void>(fn: T, delayMs: number): DebouncedFunction<T>;
22
+ //# sourceMappingURL=debounce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debounce.d.ts","sourceRoot":"","sources":["../../../src/features/interactive/debounce.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI;IACrE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,EAC3D,EAAE,EAAE,CAAC,EACL,OAAO,EAAE,MAAM,GACd,iBAAiB,CAAC,CAAC,CAAC,CAwBtB"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Display format functions for interactive search
3
+ */
4
+ import type { CslItem } from "../../core/csl-json/types.js";
5
+ /**
6
+ * CSL name type (author structure)
7
+ */
8
+ type CslName = NonNullable<CslItem["author"]>[number];
9
+ /**
10
+ * Format author list for display
11
+ * - Single author: "Smith, J."
12
+ * - Two authors: "Smith, J., & Doe, A."
13
+ * - Three authors: "Smith, J., Doe, A., & Johnson, B."
14
+ * - More than three: "Smith, J., et al."
15
+ *
16
+ * @param authors - Array of CSL author objects
17
+ * @returns Formatted author string
18
+ */
19
+ export declare function formatAuthors(authors: CslName[] | undefined): string;
20
+ /**
21
+ * Truncate title to fit terminal width
22
+ *
23
+ * @param title - Title string
24
+ * @param maxWidth - Maximum display width
25
+ * @returns Truncated title with ellipsis if needed
26
+ */
27
+ export declare function formatTitle(title: string | undefined, maxWidth: number): string;
28
+ /**
29
+ * Format identifiers (DOI, PMID, PMCID, ISBN) for display
30
+ *
31
+ * @param item - CSL item
32
+ * @returns Formatted identifier string (e.g., "DOI: 10.1000/example | PMID: 12345678")
33
+ */
34
+ export declare function formatIdentifiers(item: CslItem): string;
35
+ /**
36
+ * Compose a complete search result line
37
+ *
38
+ * Format:
39
+ * ```
40
+ * [1] Smith, J., & Doe, A. (2020)
41
+ * Machine learning in medicine: A comprehensive review
42
+ * DOI: 10.1000/example | PMID: 12345678
43
+ * ```
44
+ *
45
+ * @param item - CSL item
46
+ * @param index - Display index (1-based)
47
+ * @param terminalWidth - Terminal width for title truncation
48
+ * @returns Multi-line formatted string
49
+ */
50
+ export declare function formatSearchResult(item: CslItem, index: number, terminalWidth: number): string;
51
+ export {};
52
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/features/interactive/format.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAE5D;;GAEG;AACH,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAqBtD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,SAAS,GAAG,MAAM,CAsBpE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAW/E;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAiBvD;AAiBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAyB9F"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Interactive search prompt using Enquirer's AutoComplete
3
+ *
4
+ * Provides real-time incremental search with multiple selection support.
5
+ */
6
+ import type { CslItem } from "../../core/csl-json/types.js";
7
+ import type { SearchResult } from "../search/types.js";
8
+ import type { AutoCompleteChoice } from "./enquirer.js";
9
+ /**
10
+ * Configuration for the search prompt
11
+ */
12
+ export interface SearchPromptConfig {
13
+ /** Maximum number of results to display */
14
+ limit: number;
15
+ /** Debounce delay in milliseconds */
16
+ debounceMs: number;
17
+ }
18
+ /**
19
+ * Search function type for filtering references
20
+ */
21
+ export type SearchFunction = (query: string) => SearchResult[];
22
+ /**
23
+ * Result from the search prompt
24
+ */
25
+ export interface SearchPromptResult {
26
+ /** Selected references */
27
+ selected: CslItem[];
28
+ /** Whether the prompt was cancelled */
29
+ cancelled: boolean;
30
+ }
31
+ /**
32
+ * Creates choices from search results
33
+ */
34
+ export declare function createChoices(results: SearchResult[], terminalWidth: number): AutoCompleteChoice[];
35
+ /**
36
+ * Parses selected values back to CslItems
37
+ */
38
+ export declare function parseSelectedValues(values: string | string[]): CslItem[];
39
+ /**
40
+ * Gets terminal width, falling back to 80 if not available
41
+ */
42
+ export declare function getTerminalWidth(): number;
43
+ /**
44
+ * Creates and runs an interactive search prompt
45
+ */
46
+ export declare function runSearchPrompt(allReferences: CslItem[], searchFn: SearchFunction, config: SearchPromptConfig, initialQuery?: string): Promise<SearchPromptResult>;
47
+ //# sourceMappingURL=search-prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-prompt.d.ts","sourceRoot":"","sources":["../../../src/features/interactive/search-prompt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,YAAY,EAAE,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,0BAA0B;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,uCAAuC;IACvC,SAAS,EAAE,OAAO,CAAC;CACpB;AAUD;;GAEG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,YAAY,EAAE,EACvB,aAAa,EAAE,MAAM,GACpB,kBAAkB,EAAE,CAgBtB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,CAiBxE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,aAAa,EAAE,OAAO,EAAE,EACxB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,kBAAkB,EAC1B,YAAY,SAAK,GAChB,OAAO,CAAC,kBAAkB,CAAC,CAgF7B"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * TTY detection for interactive mode
3
+ */
4
+ /**
5
+ * Error thrown when TTY is required but not available
6
+ */
7
+ export declare class TTYError extends Error {
8
+ readonly exitCode = 1;
9
+ constructor(message: string);
10
+ }
11
+ /**
12
+ * Check if the current environment is a TTY
13
+ *
14
+ * Throws TTYError if stdin or stdout is not a TTY,
15
+ * which means interactive mode cannot be used.
16
+ *
17
+ * @throws {TTYError} If not running in a TTY
18
+ */
19
+ export declare function checkTTY(): void;
20
+ //# sourceMappingURL=tty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tty.d.ts","sourceRoot":"","sources":["../../../src/features/interactive/tty.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,QAAQ,KAAK;gBAEV,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,IAAI,IAAI,CAI/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/features/operations/add.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAOzD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,+BAA+B;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAC9B,+BAA+B;IAC/B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAwC9B"}
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/features/operations/add.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAOzD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,+BAA+B;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAC9B,+BAA+B;IAC/B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAwC9B"}
package/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
- import { C as CslLibrarySchema, c as computeFileHash, a as computeHash, p as pickDefined, n as normalize, s as search, b as sortResults, t as tokenize, d as detectDuplicate } from "./chunks/file-watcher-Cwfnnw92.js";
2
- import { e, F, L, R, m, o, h, i, k, l, j, f, g, w } from "./chunks/file-watcher-Cwfnnw92.js";
1
+ import { C as CslLibrarySchema, c as computeFileHash, a as computeHash, p as pickDefined, n as normalize, s as search, b as sortResults, t as tokenize, d as detectDuplicate } from "./chunks/file-watcher-D7oyc-9z.js";
2
+ import { e, F, L, R, m, o, h, i, k, l, j, f, g, w } from "./chunks/file-watcher-D7oyc-9z.js";
3
3
  import { mkdir, readFile, copyFile, stat, unlink, readdir } from "node:fs/promises";
4
4
  import { dirname, join } from "node:path";
5
5
  import writeFileAtomicLib from "write-file-atomic";
6
6
  import { existsSync } from "node:fs";
7
7
  import { tmpdir } from "node:os";
8
8
  import { fileURLToPath } from "node:url";
9
- import { b as backupConfigSchema, c as configSchema, d as defaultConfig, g as getDefaultBackupDirectory, a as getDefaultCurrentDirConfigFilename, e as getDefaultLibraryPath, f as getDefaultUserConfigPath, l as loadConfig, h as logLevelSchema, n as normalizePartialConfig, p as partialConfigSchema, w as watchConfigSchema } from "./chunks/loader-B_ZLxCQW.js";
9
+ import { b as backupConfigSchema, c as configSchema, d as defaultConfig, g as getDefaultBackupDirectory, a as getDefaultCurrentDirConfigFilename, e as getDefaultLibraryPath, f as getDefaultUserConfigPath, l as loadConfig, h as logLevelSchema, n as normalizePartialConfig, p as partialConfigSchema, w as watchConfigSchema } from "./chunks/loader-BItrdVWG.js";
10
10
  function validateCslJson(data) {
11
11
  const parseResult = CslLibrarySchema.safeParse(data);
12
12
  if (!parseResult.success) {
package/dist/server.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import "hono";
2
- import "./chunks/file-watcher-Cwfnnw92.js";
3
- import { c, s } from "./chunks/index-CQO8hLYm.js";
2
+ import "./chunks/file-watcher-D7oyc-9z.js";
3
+ import { c, s } from "./chunks/index-_7NEUoS7.js";
4
4
  export {
5
5
  c as createServer,
6
6
  s as startServerWithFileWatcher
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ncukondo/reference-manager",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "A local reference management tool using CSL-JSON as the single source of truth",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -53,6 +53,7 @@
53
53
  "@modelcontextprotocol/sdk": "^1.25.1",
54
54
  "chokidar": "^5.0.0",
55
55
  "commander": "^12.1.0",
56
+ "enquirer": "^2.4.1",
56
57
  "hono": "^4.11.1",
57
58
  "tabtab": "^3.0.2",
58
59
  "write-file-atomic": "^7.0.0",