@hasna/search 0.0.2

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 (77) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +82 -0
  3. package/dist/cli/components/ProviderStatus.d.ts +8 -0
  4. package/dist/cli/components/ProviderStatus.d.ts.map +1 -0
  5. package/dist/cli/components/ResultsList.d.ts +9 -0
  6. package/dist/cli/components/ResultsList.d.ts.map +1 -0
  7. package/dist/cli/index.d.ts +3 -0
  8. package/dist/cli/index.d.ts.map +1 -0
  9. package/dist/cli/index.js +7972 -0
  10. package/dist/db/database.d.ts +5 -0
  11. package/dist/db/database.d.ts.map +1 -0
  12. package/dist/db/migrations.d.ts +3 -0
  13. package/dist/db/migrations.d.ts.map +1 -0
  14. package/dist/db/profiles.d.ts +13 -0
  15. package/dist/db/profiles.d.ts.map +1 -0
  16. package/dist/db/providers.d.ts +14 -0
  17. package/dist/db/providers.d.ts.map +1 -0
  18. package/dist/db/results.d.ts +38 -0
  19. package/dist/db/results.d.ts.map +1 -0
  20. package/dist/db/saved-searches.d.ts +14 -0
  21. package/dist/db/saved-searches.d.ts.map +1 -0
  22. package/dist/db/searches.d.ts +26 -0
  23. package/dist/db/searches.d.ts.map +1 -0
  24. package/dist/index.d.ts +9 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +4686 -0
  27. package/dist/lib/config.d.ts +7 -0
  28. package/dist/lib/config.d.ts.map +1 -0
  29. package/dist/lib/dedup.d.ts +4 -0
  30. package/dist/lib/dedup.d.ts.map +1 -0
  31. package/dist/lib/export.d.ts +4 -0
  32. package/dist/lib/export.d.ts.map +1 -0
  33. package/dist/lib/providers/arxiv.d.ts +11 -0
  34. package/dist/lib/providers/arxiv.d.ts.map +1 -0
  35. package/dist/lib/providers/bing.d.ts +9 -0
  36. package/dist/lib/providers/bing.d.ts.map +1 -0
  37. package/dist/lib/providers/brave.d.ts +9 -0
  38. package/dist/lib/providers/brave.d.ts.map +1 -0
  39. package/dist/lib/providers/exa.d.ts +9 -0
  40. package/dist/lib/providers/exa.d.ts.map +1 -0
  41. package/dist/lib/providers/github.d.ts +11 -0
  42. package/dist/lib/providers/github.d.ts.map +1 -0
  43. package/dist/lib/providers/google.d.ts +9 -0
  44. package/dist/lib/providers/google.d.ts.map +1 -0
  45. package/dist/lib/providers/hackernews.d.ts +9 -0
  46. package/dist/lib/providers/hackernews.d.ts.map +1 -0
  47. package/dist/lib/providers/index.d.ts +8 -0
  48. package/dist/lib/providers/index.d.ts.map +1 -0
  49. package/dist/lib/providers/perplexity.d.ts +9 -0
  50. package/dist/lib/providers/perplexity.d.ts.map +1 -0
  51. package/dist/lib/providers/reddit.d.ts +9 -0
  52. package/dist/lib/providers/reddit.d.ts.map +1 -0
  53. package/dist/lib/providers/serpapi.d.ts +11 -0
  54. package/dist/lib/providers/serpapi.d.ts.map +1 -0
  55. package/dist/lib/providers/transcriber.d.ts +27 -0
  56. package/dist/lib/providers/transcriber.d.ts.map +1 -0
  57. package/dist/lib/providers/twitter.d.ts +9 -0
  58. package/dist/lib/providers/twitter.d.ts.map +1 -0
  59. package/dist/lib/providers/types.d.ts +17 -0
  60. package/dist/lib/providers/types.d.ts.map +1 -0
  61. package/dist/lib/providers/youtube.d.ts +9 -0
  62. package/dist/lib/providers/youtube.d.ts.map +1 -0
  63. package/dist/lib/search.d.ts +11 -0
  64. package/dist/lib/search.d.ts.map +1 -0
  65. package/dist/lib/youtube-deep.d.ts +21 -0
  66. package/dist/lib/youtube-deep.d.ts.map +1 -0
  67. package/dist/mcp/index.d.ts +3 -0
  68. package/dist/mcp/index.d.ts.map +1 -0
  69. package/dist/mcp/index.js +21350 -0
  70. package/dist/server/index.d.ts +3 -0
  71. package/dist/server/index.d.ts.map +1 -0
  72. package/dist/server/index.js +5746 -0
  73. package/dist/server/serve.d.ts +2 -0
  74. package/dist/server/serve.d.ts.map +1 -0
  75. package/dist/types/index.d.ts +142 -0
  76. package/dist/types/index.d.ts.map +1 -0
  77. package/package.json +85 -0
@@ -0,0 +1,7 @@
1
+ import { type SearchConfig } from "../types/index.js";
2
+ export declare function getConfig(): SearchConfig;
3
+ export declare function setConfig(updates: Partial<SearchConfig>): SearchConfig;
4
+ export declare function resetConfig(): SearchConfig;
5
+ export declare function getConfigValue(key: keyof SearchConfig): unknown;
6
+ export declare function setConfigValue(key: keyof SearchConfig, value: unknown): SearchConfig;
7
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAatE,wBAAgB,SAAS,IAAI,YAAY,CAYxC;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAMtE;AAED,wBAAgB,WAAW,IAAI,YAAY,CAI1C;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,YAAY,GAAG,OAAO,CAG/D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,YAAY,CAKpF"}
@@ -0,0 +1,4 @@
1
+ import type { SearchResult } from "../types/index.js";
2
+ export declare function normalizeUrl(url: string): string;
3
+ export declare function deduplicateResults(results: SearchResult[]): SearchResult[];
4
+ //# sourceMappingURL=dedup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dedup.d.ts","sourceRoot":"","sources":["../../src/lib/dedup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA0BhD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CA+C1E"}
@@ -0,0 +1,4 @@
1
+ import type { ExportFormat } from "../types/index.js";
2
+ import type { Database } from "bun:sqlite";
3
+ export declare function exportResults(searchId: string, format: ExportFormat, db?: Database): string;
4
+ //# sourceMappingURL=export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/lib/export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,CAgBR"}
@@ -0,0 +1,11 @@
1
+ import type { SearchOptions } from "../../types/index.js";
2
+ import type { SearchProvider, RawSearchResult } from "./types.js";
3
+ export declare class ArxivProvider implements SearchProvider {
4
+ name: "arxiv";
5
+ displayName: string;
6
+ isConfigured(): boolean;
7
+ search(query: string, options?: SearchOptions): Promise<RawSearchResult[]>;
8
+ private parseAtomFeed;
9
+ private extractTag;
10
+ }
11
+ //# sourceMappingURL=arxiv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arxiv.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/arxiv.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElE,qBAAa,aAAc,YAAW,cAAc;IAClD,IAAI,EAAG,OAAO,CAAU;IACxB,WAAW,SAAW;IAEtB,YAAY,IAAI,OAAO;IAIjB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAmBhF,OAAO,CAAC,aAAa;IAkDrB,OAAO,CAAC,UAAU;CAKnB"}
@@ -0,0 +1,9 @@
1
+ import type { SearchOptions } from "../../types/index.js";
2
+ import type { SearchProvider, RawSearchResult } from "./types.js";
3
+ export declare class BingProvider implements SearchProvider {
4
+ name: "bing";
5
+ displayName: string;
6
+ isConfigured(): boolean;
7
+ search(query: string, options?: SearchOptions): Promise<RawSearchResult[]>;
8
+ }
9
+ //# sourceMappingURL=bing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bing.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/bing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAkBlE,qBAAa,YAAa,YAAW,cAAc;IACjD,IAAI,EAAG,MAAM,CAAU;IACvB,WAAW,SAAU;IAErB,YAAY,IAAI,OAAO;IAIjB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CAwCjF"}
@@ -0,0 +1,9 @@
1
+ import type { SearchOptions } from "../../types/index.js";
2
+ import type { SearchProvider, RawSearchResult } from "./types.js";
3
+ export declare class BraveProvider implements SearchProvider {
4
+ name: "brave";
5
+ displayName: string;
6
+ isConfigured(): boolean;
7
+ search(query: string, options?: SearchOptions): Promise<RawSearchResult[]>;
8
+ }
9
+ //# sourceMappingURL=brave.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brave.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/brave.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAgBlE,qBAAa,aAAc,YAAW,cAAc;IAClD,IAAI,EAAG,OAAO,CAAU;IACxB,WAAW,SAAkB;IAE7B,YAAY,IAAI,OAAO;IAIjB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CAmCjF"}
@@ -0,0 +1,9 @@
1
+ import type { SearchOptions } from "../../types/index.js";
2
+ import type { SearchProvider, RawSearchResult } from "./types.js";
3
+ export declare class ExaProvider implements SearchProvider {
4
+ name: "exa";
5
+ displayName: string;
6
+ isConfigured(): boolean;
7
+ search(query: string, options?: SearchOptions): Promise<RawSearchResult[]>;
8
+ }
9
+ //# sourceMappingURL=exa.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exa.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/exa.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAiBlE,qBAAa,WAAY,YAAW,cAAc;IAChD,IAAI,EAAG,KAAK,CAAU;IACtB,WAAW,SAAY;IAEvB,YAAY,IAAI,OAAO;IAIjB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CAuCjF"}
@@ -0,0 +1,11 @@
1
+ import type { SearchOptions } from "../../types/index.js";
2
+ import type { SearchProvider, RawSearchResult } from "./types.js";
3
+ export declare class GitHubProvider implements SearchProvider {
4
+ name: "github";
5
+ displayName: string;
6
+ isConfigured(): boolean;
7
+ search(query: string, options?: SearchOptions): Promise<RawSearchResult[]>;
8
+ private searchCode;
9
+ private searchRepos;
10
+ }
11
+ //# sourceMappingURL=github.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/github.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAkClE,qBAAa,cAAe,YAAW,cAAc;IACnD,IAAI,EAAG,QAAQ,CAAU;IACzB,WAAW,SAAY;IAEvB,YAAY,IAAI,OAAO;IAIjB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;YAwBlE,UAAU;YAqCV,WAAW;CAkC1B"}
@@ -0,0 +1,9 @@
1
+ import type { SearchOptions } from "../../types/index.js";
2
+ import type { SearchProvider, RawSearchResult } from "./types.js";
3
+ export declare class GoogleProvider implements SearchProvider {
4
+ name: "google";
5
+ displayName: string;
6
+ isConfigured(): boolean;
7
+ search(query: string, options?: SearchOptions): Promise<RawSearchResult[]>;
8
+ }
9
+ //# sourceMappingURL=google.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/google.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAgBlE,qBAAa,cAAe,YAAW,cAAc;IACnD,IAAI,EAAG,QAAQ,CAAU;IACzB,WAAW,SAAY;IAEvB,YAAY,IAAI,OAAO;IAIjB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CA+BjF"}
@@ -0,0 +1,9 @@
1
+ import type { SearchOptions } from "../../types/index.js";
2
+ import type { SearchProvider, RawSearchResult } from "./types.js";
3
+ export declare class HackerNewsProvider implements SearchProvider {
4
+ name: "hackernews";
5
+ displayName: string;
6
+ isConfigured(): boolean;
7
+ search(query: string, options?: SearchOptions): Promise<RawSearchResult[]>;
8
+ }
9
+ //# sourceMappingURL=hackernews.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hackernews.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/hackernews.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAoBlE,qBAAa,kBAAmB,YAAW,cAAc;IACvD,IAAI,EAAG,YAAY,CAAU;IAC7B,WAAW,SAAiB;IAE5B,YAAY,IAAI,OAAO;IAIjB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CAmCjF"}
@@ -0,0 +1,8 @@
1
+ import type { SearchProviderName } from "../../types/index.js";
2
+ import type { SearchProvider } from "./types.js";
3
+ export declare function getProvider(name: SearchProviderName): SearchProvider;
4
+ export declare function getAllProviders(): SearchProvider[];
5
+ export declare function getConfiguredProviders(): SearchProvider[];
6
+ export declare function getProviderNames(): SearchProviderName[];
7
+ export type { SearchProvider, RawSearchResult } from "./types.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA+BjD,wBAAgB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,cAAc,CASpE;AAED,wBAAgB,eAAe,IAAI,cAAc,EAAE,CAIlD;AAED,wBAAgB,sBAAsB,IAAI,cAAc,EAAE,CAEzD;AAED,wBAAgB,gBAAgB,IAAI,kBAAkB,EAAE,CAEvD;AAED,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { SearchOptions } from "../../types/index.js";
2
+ import type { SearchProvider, RawSearchResult } from "./types.js";
3
+ export declare class PerplexityProvider implements SearchProvider {
4
+ name: "perplexity";
5
+ displayName: string;
6
+ isConfigured(): boolean;
7
+ search(query: string, _options?: SearchOptions): Promise<RawSearchResult[]>;
8
+ }
9
+ //# sourceMappingURL=perplexity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perplexity.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/perplexity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAiBlE,qBAAa,kBAAmB,YAAW,cAAc;IACvD,IAAI,EAAG,YAAY,CAAU;IAC7B,WAAW,SAAgB;IAE3B,YAAY,IAAI,OAAO;IAIjB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CA6ClF"}
@@ -0,0 +1,9 @@
1
+ import type { SearchOptions } from "../../types/index.js";
2
+ import type { SearchProvider, RawSearchResult } from "./types.js";
3
+ export declare class RedditProvider implements SearchProvider {
4
+ name: "reddit";
5
+ displayName: string;
6
+ isConfigured(): boolean;
7
+ search(query: string, options?: SearchOptions): Promise<RawSearchResult[]>;
8
+ }
9
+ //# sourceMappingURL=reddit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reddit.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/reddit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA0DlE,qBAAa,cAAe,YAAW,cAAc;IACnD,IAAI,EAAG,QAAQ,CAAU;IACzB,WAAW,SAAY;IAEvB,YAAY,IAAI,OAAO;IAIjB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CAyCjF"}
@@ -0,0 +1,11 @@
1
+ import type { SearchOptions } from "../../types/index.js";
2
+ import type { SearchProvider, RawSearchResult } from "./types.js";
3
+ export declare class SerpApiProvider implements SearchProvider {
4
+ name: "serpapi";
5
+ displayName: string;
6
+ private engine;
7
+ constructor(engine?: string);
8
+ isConfigured(): boolean;
9
+ search(query: string, options?: SearchOptions): Promise<RawSearchResult[]>;
10
+ }
11
+ //# sourceMappingURL=serpapi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serpapi.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/serpapi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAgBlE,qBAAa,eAAgB,YAAW,cAAc;IACpD,IAAI,EAAG,SAAS,CAAU;IAC1B,WAAW,SAAa;IAExB,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,GAAE,MAAiB;IAIrC,YAAY,IAAI,OAAO;IAIjB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CA8BjF"}
@@ -0,0 +1,27 @@
1
+ interface TranscriptResult {
2
+ id: string;
3
+ title: string;
4
+ sourceUrl: string;
5
+ status: string;
6
+ transcriptText?: string;
7
+ duration?: number;
8
+ wordCount?: number;
9
+ provider?: string;
10
+ }
11
+ interface TranscriptSearchResult {
12
+ id: string;
13
+ title: string;
14
+ sourceUrl: string;
15
+ snippet: string;
16
+ score?: number;
17
+ }
18
+ export declare function isTranscriberAvailable(): Promise<boolean>;
19
+ export declare function transcribeVideo(url: string, opts?: {
20
+ provider?: string;
21
+ language?: string;
22
+ diarize?: boolean;
23
+ }): Promise<TranscriptResult>;
24
+ export declare function getTranscript(id: string): Promise<TranscriptResult | null>;
25
+ export declare function searchTranscripts(query: string): Promise<TranscriptSearchResult[]>;
26
+ export {};
27
+ //# sourceMappingURL=transcriber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcriber.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/transcriber.ts"],"names":[],"mappings":"AAEA,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,sBAAsB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC,CAoB/D;AAED,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GACrE,OAAO,CAAC,gBAAgB,CAAC,CA0D3B;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAWhF;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAYxF"}
@@ -0,0 +1,9 @@
1
+ import type { SearchOptions } from "../../types/index.js";
2
+ import type { SearchProvider, RawSearchResult } from "./types.js";
3
+ export declare class TwitterProvider implements SearchProvider {
4
+ name: "twitter";
5
+ displayName: string;
6
+ isConfigured(): boolean;
7
+ search(query: string, options?: SearchOptions): Promise<RawSearchResult[]>;
8
+ }
9
+ //# sourceMappingURL=twitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twitter.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/twitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA4BlE,qBAAa,eAAgB,YAAW,cAAc;IACpD,IAAI,EAAG,SAAS,CAAU;IAC1B,WAAW,SAAiB;IAE5B,YAAY,IAAI,OAAO;IAIjB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CAoDjF"}
@@ -0,0 +1,17 @@
1
+ import type { SearchProviderName, SearchOptions } from "../../types/index.js";
2
+ export interface RawSearchResult {
3
+ title: string;
4
+ url: string;
5
+ snippet: string;
6
+ score?: number;
7
+ publishedAt?: string;
8
+ thumbnail?: string;
9
+ metadata?: Record<string, unknown>;
10
+ }
11
+ export interface SearchProvider {
12
+ name: SearchProviderName;
13
+ displayName: string;
14
+ search(query: string, options?: SearchOptions): Promise<RawSearchResult[]>;
15
+ isConfigured(): boolean;
16
+ }
17
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE9E,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAC3E,YAAY,IAAI,OAAO,CAAC;CACzB"}
@@ -0,0 +1,9 @@
1
+ import type { SearchOptions } from "../../types/index.js";
2
+ import type { SearchProvider, RawSearchResult } from "./types.js";
3
+ export declare class YouTubeProvider implements SearchProvider {
4
+ name: "youtube";
5
+ displayName: string;
6
+ isConfigured(): boolean;
7
+ search(query: string, options?: SearchOptions): Promise<RawSearchResult[]>;
8
+ }
9
+ //# sourceMappingURL=youtube.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"youtube.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/youtube.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAsBlE,qBAAa,eAAgB,YAAW,cAAc;IACpD,IAAI,EAAG,SAAS,CAAU;IAC1B,WAAW,SAAa;IAExB,YAAY,IAAI,OAAO;IAIjB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CA8CjF"}
@@ -0,0 +1,11 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import { type SearchProviderName, type SearchOptions, type UnifiedSearchResponse } from "../types/index.js";
3
+ export declare function unifiedSearch(query: string, opts?: {
4
+ providers?: SearchProviderName[];
5
+ profile?: string;
6
+ options?: SearchOptions;
7
+ dedup?: boolean;
8
+ db?: Database;
9
+ }): Promise<UnifiedSearchResponse>;
10
+ export declare function searchSingleProvider(provider: SearchProviderName, query: string, options?: SearchOptions, db?: Database): Promise<UnifiedSearchResponse>;
11
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/lib/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAElB,KAAK,qBAAqB,EAE3B,MAAM,mBAAmB,CAAC;AAS3B,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IACJ,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,EAAE,CAAC,EAAE,QAAQ,CAAC;CACV,GACL,OAAO,CAAC,qBAAqB,CAAC,CAmJhC;AAED,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,aAAa,EACvB,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAAC,qBAAqB,CAAC,CAOhC"}
@@ -0,0 +1,21 @@
1
+ import type { SearchOptions, SearchResult } from "../types/index.js";
2
+ interface DeepSearchResult {
3
+ videoResults: SearchResult[];
4
+ transcriptMatches: Array<{
5
+ videoUrl: string;
6
+ videoTitle: string;
7
+ snippet: string;
8
+ score?: number;
9
+ }>;
10
+ transcriptionErrors: Array<{
11
+ url: string;
12
+ error: string;
13
+ }>;
14
+ }
15
+ export declare function youtubeDeepSearch(query: string, opts?: {
16
+ limit?: number;
17
+ transcribeTop?: number;
18
+ searchOptions?: SearchOptions;
19
+ }): Promise<DeepSearchResult>;
20
+ export {};
21
+ //# sourceMappingURL=youtube-deep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"youtube-deep.d.ts","sourceRoot":"","sources":["../../src/lib/youtube-deep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAsB,MAAM,mBAAmB,CAAC;AAIzF,UAAU,gBAAgB;IACxB,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,iBAAiB,EAAE,KAAK,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,mBAAmB,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5D;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IACJ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC1B,GACL,OAAO,CAAC,gBAAgB,CAAC,CA0D3B"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env bun
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":""}