@ayga/mcp-client 2.0.1 → 3.0.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.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACH,qBAAqB,EACrB,sBAAsB,GACzB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEtD,gBAAgB;AAChB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,yBAAyB,CAAC;AACjE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;AAS1C,MAAM,aAAa;IACP,MAAM,CAAS;IACf,QAAQ,CAAU;IAClB,WAAW,CAAU;IAE7B;QACI,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CACpB;YACI,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,OAAO;SACnB,EACD;YACI,YAAY,EAAE;gBACV,KAAK,EAAE,EAAE;aACZ;SACJ,CACJ,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAEO,GAAG,CAAC,OAAe,EAAE,QAAoC,MAAM;QACnE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,OAAO,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;IAEO,KAAK,CAAC,MAAM;QAChB,yDAAyD;QACzD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,MAAM,EAAE,CAAC;YAC9E,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAE7C,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,gBAAgB,EAAE;gBACrD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACL,WAAW,EAAE,OAAO;oBACpB,cAAc,EAAE,kBAAkB;iBACrC;aACJ,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,gBAAgB,QAAQ,CAAC,MAAM,MAAM,SAAS,EAAE,CAAC,CAAC;YACtE,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAmD,CAAC;YACpF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;YAClC,mDAAmD;YACnD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC;YAEjE,IAAI,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,yBAAyB,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;YACpD,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC1B,QAAgB,EAChB,KAAa,EACb,UAAkB,EAAE;QAEpB,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAEnC,IAAI,CAAC,GAAG,CAAC,mBAAmB,MAAM,cAAc,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAE/D,iCAAiC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;YAC5B,MAAM;YACN,MAAM,CAAC,WAAW;YAClB,SAAS;YACT,KAAK;YACL,EAAE;YACF,EAAE;SACL,CAAC,CAAC;QAEH,IAAI,CAAC;YACD,6BAA6B;YAC7B,MAAM,cAAc,GAAG,MAAM,KAAK,CAC9B,GAAG,OAAO,0CAA0C,EACpD;gBACI,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACL,aAAa,EAAE,UAAU,KAAK,EAAE;oBAChC,cAAc,EAAE,kBAAkB;iBACrC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;aAC5C,CACJ,CAAC;YAEF,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;gBACrB,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CAAC,2BAA2B,cAAc,CAAC,MAAM,MAAM,SAAS,EAAE,CAAC,CAAC;YACvF,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,QAAQ,MAAM,4CAA4C,OAAO,IAAI,CAAC,CAAC;YAEhF,kBAAkB;YAClB,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,0BAA0B,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CACvB,MAAc,EACd,OAAe,EACf,KAAa;QAEb,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,YAAY;QACvC,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,OAAO,GAAG,IAAI,EAAE,CAAC;YAC7C,QAAQ,EAAE,CAAC;YAEX,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CACxB,GAAG,OAAO,yBAAyB,MAAM,EAAE,EAC3C;oBACI,OAAO,EAAE;wBACL,aAAa,EAAE,UAAU,KAAK,EAAE;qBACnC;iBACJ,CACJ,CAAC;gBAEF,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACd,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAuB,CAAC;oBACxD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAe,CAAC;oBAEpD,IAAI,CAAC,GAAG,CAAC,QAAQ,MAAM,oBAAoB,QAAQ,WAAW,CAAC,CAAC;oBAChE,OAAO,MAAM,CAAC;gBAClB,CAAC;gBAED,iDAAiD;gBACjD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC1B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;oBAClE,SAAS;gBACb,CAAC;gBAED,eAAe;gBACf,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,CAAC,MAAM,MAAM,SAAS,EAAE,CAAC,CAAC;YAC/E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,yBAAyB;gBACzB,IAAI,CAAC,GAAG,CAAC,gBAAgB,QAAQ,YAAY,KAAK,eAAe,EAAE,OAAO,CAAC,CAAC;gBAC5E,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;YACtE,CAAC;QACL,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,MAAM,QAAQ,YAAY,CAAC,CAAC;IAC3F,CAAC;IAEO,aAAa;QACjB,uBAAuB;QACvB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,KAAK,GAAU,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC1C,IAAI,EAAE,UAAU,MAAM,CAAC,EAAE,EAAE;gBAC3B,WAAW,EAAE,GAAG,MAAM,CAAC,WAAW,eAAe,MAAM,CAAC,QAAQ,GAAG;gBACnE,WAAW,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACR,KAAK,EAAE;4BACH,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,MAAM,CAAC,QAAQ,KAAK,aAAa;gCAC1C,CAAC,CAAC,mBAAmB;gCACrB,CAAC,CAAC,qBAAqB;yBAC9B;wBACD,OAAO,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,kCAAkC;4BAC/C,OAAO,EAAE,EAAE;yBACd;qBACJ;oBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;iBACtB;aACJ,CAAC,CAAC,CAAC;YAEJ,wBAAwB;YACxB,KAAK,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,kDAAkD;gBAC/D,WAAW,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;iBACjB;aACJ,CAAC,CAAC;YAEH,OAAO,EAAE,KAAK,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,YAAY;QACZ,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACnE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAEjD,IAAI,CAAC;gBACD,2BAA2B;gBAC3B,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;oBAC1B,MAAM,QAAQ,GAAG,IAAI,EAAE,QAA8B,CAAC;oBACtD,IAAI,OAAO,GAAG,OAAO,CAAC;oBAEtB,IAAI,QAAQ,EAAE,CAAC;wBACX,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;oBAC7D,CAAC;oBAED,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAChE,MAAM,MAAM,GAAG;wBACX,KAAK,EAAE,OAAO,CAAC,MAAM;wBACrB,UAAU,EAAE,UAAU;wBACtB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BACzB,EAAE,EAAE,CAAC,CAAC,EAAE;4BACR,IAAI,EAAE,CAAC,CAAC,IAAI;4BACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;4BACpB,WAAW,EAAE,CAAC,CAAC,WAAW;yBAC7B,CAAC,CAAC;qBACN,CAAC;oBAEF,OAAO;wBACH,OAAO,EAAE;4BACL;gCACI,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;6BACxC;yBACJ;qBACJ,CAAC;gBACN,CAAC;gBAED,sBAAsB;gBACtB,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oBAC7C,MAAM,KAAK,GAAG,IAAI,EAAE,KAAe,CAAC;oBACpC,MAAM,OAAO,GAAI,IAAI,EAAE,OAAkB,IAAI,EAAE,CAAC;oBAEhD,IAAI,CAAC,KAAK,EAAE,CAAC;wBACT,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;oBACnD,CAAC;oBAED,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,gBAAgB,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;oBAEvE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;oBAErE,OAAO;wBACH,OAAO,EAAE;4BACL;gCACI,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;6BACxC;yBACJ;qBACJ,CAAC;gBACN,CAAC;gBAED,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,yBAAyB,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;gBAEpD,OAAO;oBACH,OAAO,EAAE;wBACL;4BACI,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAChB;gCACI,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gCAC7D,IAAI,EAAE,IAAI;gCACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;6BACtC,EACD,IAAI,EACJ,CAAC,CACJ;yBACJ;qBACJ;oBACD,OAAO,EAAE,IAAI;iBAChB,CAAC;YACN,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,kBAAkB;QACtB,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;YAC5B,IAAI,CAAC,GAAG,CAAC,iBAAiB,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC5B,IAAI,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;YAC9C,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAC7B,IAAI,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAC/C,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,GAAG;QACL,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAErC,IAAI,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAChD,CAAC;CACJ;AAED,cAAc;AACd,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;AACnC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACzB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Dynamic Parser Registry
3
+ *
4
+ * Fetches parser configurations from the Python API and caches them.
5
+ * Falls back to static parsers on failure.
6
+ */
7
+ import { ParserConfig } from "./parsers.js";
8
+ export interface ParserOptions {
9
+ parser_id: string;
10
+ timeout: number;
11
+ enabled: boolean;
12
+ proxy?: string;
13
+ user_agent?: string;
14
+ custom_params?: Record<string, any>;
15
+ }
16
+ export interface RegistryConfig {
17
+ apiUrl: string;
18
+ apiKey?: string;
19
+ cacheTtlMs: number;
20
+ enableDynamic: boolean;
21
+ }
22
+ export declare class ParserRegistry {
23
+ private parsers;
24
+ private parserOptions;
25
+ private defaultOptions;
26
+ private lastFetch;
27
+ private lastOptionsFetch;
28
+ private fetchPromise;
29
+ private optionsFetchPromise;
30
+ private config;
31
+ private initialized;
32
+ constructor(config?: Partial<RegistryConfig>);
33
+ /**
34
+ * Get all parsers, fetching from API if cache is stale
35
+ */
36
+ getParsers(): Promise<ParserConfig[]>;
37
+ /**
38
+ * Get a parser by ID
39
+ */
40
+ getParserById(id: string): Promise<ParserConfig | undefined>;
41
+ /**
42
+ * Get a parser by A-Parser name
43
+ */
44
+ getParserByAParserName(name: string): Promise<ParserConfig | undefined>;
45
+ /**
46
+ * Get parsers by category
47
+ */
48
+ getParsersByCategory(category: string): Promise<ParserConfig[]>;
49
+ /**
50
+ * Get all categories
51
+ */
52
+ getCategories(): Promise<string[]>;
53
+ /**
54
+ * Force refresh of parser cache
55
+ */
56
+ refresh(): Promise<ParserConfig[]>;
57
+ /**
58
+ * Get static parsers (no API call)
59
+ */
60
+ getStaticParsers(): ParserConfig[];
61
+ /**
62
+ * Get options for a specific parser
63
+ */
64
+ getParserOptions(parserId: string): Promise<ParserOptions>;
65
+ /**
66
+ * Get timeout for a parser
67
+ */
68
+ getParserTimeout(parserId: string): Promise<number>;
69
+ /**
70
+ * Check if parser is enabled
71
+ */
72
+ isParserEnabled(parserId: string): Promise<boolean>;
73
+ /**
74
+ * Ensure options are fetched
75
+ */
76
+ private ensureOptionsFetched;
77
+ /**
78
+ * Fetch parser options from API
79
+ */
80
+ private fetchOptions;
81
+ /**
82
+ * Fetch parsers from API
83
+ */
84
+ private fetchParsers;
85
+ /**
86
+ * Transform API parser response to ParserConfig
87
+ */
88
+ private transformParser;
89
+ private log;
90
+ }
91
+ /**
92
+ * Get the global parser registry instance
93
+ */
94
+ export declare function getRegistry(config?: Partial<RegistryConfig>): ParserRegistry;
95
+ /**
96
+ * Reset the global registry (for testing)
97
+ */
98
+ export declare function resetRegistry(): void;
99
+ //# sourceMappingURL=parser-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser-registry.d.ts","sourceRoot":"","sources":["../src/parser-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAA6B,MAAM,cAAc,CAAC;AA2BvE,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;CAC1B;AASD,qBAAa,cAAc;IACvB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,aAAa,CAAyC;IAC9D,OAAO,CAAC,cAAc,CAIpB;IACF,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,mBAAmB,CAA8B;IACzD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,WAAW,CAAkB;gBAEzB,MAAM,GAAE,OAAO,CAAC,cAAc,CAAM;IAIhD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IA2B3C;;OAEG;IACG,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAKlE;;OAEG;IACG,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAK7E;;OAEG;IACG,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAKrE;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKxC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAMxC;;OAEG;IACH,gBAAgB,IAAI,YAAY,EAAE;IAIlC;;OAEG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAQhE;;OAEG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKzD;;OAEG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKzD;;OAEG;YACW,oBAAoB;IAyBlC;;OAEG;YACW,YAAY;IA8C1B;;OAEG;YACW,YAAY;IA4C1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,GAAG;CAMd;AAKD;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAK5E;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAEpC"}
@@ -0,0 +1,262 @@
1
+ /**
2
+ * Dynamic Parser Registry
3
+ *
4
+ * Fetches parser configurations from the Python API and caches them.
5
+ * Falls back to static parsers on failure.
6
+ */
7
+ import { PARSERS as STATIC_PARSERS } from "./parsers.js";
8
+ const DEFAULT_CONFIG = {
9
+ apiUrl: process.env.API_URL || "https://redis.ayga.tech",
10
+ apiKey: process.env.REDIS_API_KEY,
11
+ cacheTtlMs: 5 * 60 * 1000, // 5 minutes
12
+ enableDynamic: process.env.DYNAMIC_PARSERS !== "false",
13
+ };
14
+ export class ParserRegistry {
15
+ parsers = [];
16
+ parserOptions = new Map();
17
+ defaultOptions = {
18
+ parser_id: "default",
19
+ timeout: 60,
20
+ enabled: true,
21
+ };
22
+ lastFetch = 0;
23
+ lastOptionsFetch = 0;
24
+ fetchPromise = null;
25
+ optionsFetchPromise = null;
26
+ config;
27
+ initialized = false;
28
+ constructor(config = {}) {
29
+ this.config = { ...DEFAULT_CONFIG, ...config };
30
+ }
31
+ /**
32
+ * Get all parsers, fetching from API if cache is stale
33
+ */
34
+ async getParsers() {
35
+ if (!this.config.enableDynamic) {
36
+ return STATIC_PARSERS;
37
+ }
38
+ const now = Date.now();
39
+ const cacheValid = this.initialized && (now - this.lastFetch) < this.config.cacheTtlMs;
40
+ if (cacheValid) {
41
+ return this.parsers;
42
+ }
43
+ // Deduplicate concurrent fetch requests
44
+ if (this.fetchPromise) {
45
+ return this.fetchPromise;
46
+ }
47
+ this.fetchPromise = this.fetchParsers();
48
+ try {
49
+ const result = await this.fetchPromise;
50
+ return result;
51
+ }
52
+ finally {
53
+ this.fetchPromise = null;
54
+ }
55
+ }
56
+ /**
57
+ * Get a parser by ID
58
+ */
59
+ async getParserById(id) {
60
+ const parsers = await this.getParsers();
61
+ return parsers.find(p => p.id === id);
62
+ }
63
+ /**
64
+ * Get a parser by A-Parser name
65
+ */
66
+ async getParserByAParserName(name) {
67
+ const parsers = await this.getParsers();
68
+ return parsers.find(p => p.aparserName === name);
69
+ }
70
+ /**
71
+ * Get parsers by category
72
+ */
73
+ async getParsersByCategory(category) {
74
+ const parsers = await this.getParsers();
75
+ return parsers.filter(p => p.category === category);
76
+ }
77
+ /**
78
+ * Get all categories
79
+ */
80
+ async getCategories() {
81
+ const parsers = await this.getParsers();
82
+ return [...new Set(parsers.map(p => p.category))];
83
+ }
84
+ /**
85
+ * Force refresh of parser cache
86
+ */
87
+ async refresh() {
88
+ this.lastFetch = 0;
89
+ this.fetchPromise = null;
90
+ return this.getParsers();
91
+ }
92
+ /**
93
+ * Get static parsers (no API call)
94
+ */
95
+ getStaticParsers() {
96
+ return STATIC_PARSERS;
97
+ }
98
+ /**
99
+ * Get options for a specific parser
100
+ */
101
+ async getParserOptions(parserId) {
102
+ await this.ensureOptionsFetched();
103
+ return this.parserOptions.get(parserId.toLowerCase()) || {
104
+ ...this.defaultOptions,
105
+ parser_id: parserId,
106
+ };
107
+ }
108
+ /**
109
+ * Get timeout for a parser
110
+ */
111
+ async getParserTimeout(parserId) {
112
+ const options = await this.getParserOptions(parserId);
113
+ return options.timeout;
114
+ }
115
+ /**
116
+ * Check if parser is enabled
117
+ */
118
+ async isParserEnabled(parserId) {
119
+ const options = await this.getParserOptions(parserId);
120
+ return options.enabled;
121
+ }
122
+ /**
123
+ * Ensure options are fetched
124
+ */
125
+ async ensureOptionsFetched() {
126
+ if (!this.config.enableDynamic) {
127
+ return;
128
+ }
129
+ const now = Date.now();
130
+ const cacheValid = (now - this.lastOptionsFetch) < this.config.cacheTtlMs;
131
+ if (cacheValid && this.parserOptions.size > 0) {
132
+ return;
133
+ }
134
+ if (this.optionsFetchPromise) {
135
+ await this.optionsFetchPromise;
136
+ return;
137
+ }
138
+ this.optionsFetchPromise = this.fetchOptions();
139
+ try {
140
+ await this.optionsFetchPromise;
141
+ }
142
+ finally {
143
+ this.optionsFetchPromise = null;
144
+ }
145
+ }
146
+ /**
147
+ * Fetch parser options from API
148
+ */
149
+ async fetchOptions() {
150
+ try {
151
+ this.log("Fetching parser options from API...");
152
+ const response = await fetch(`${this.config.apiUrl}/parsers/options`, {
153
+ method: "GET",
154
+ headers: {
155
+ "Content-Type": "application/json",
156
+ ...(this.config.apiKey ? { "X-API-Key": this.config.apiKey } : {}),
157
+ },
158
+ });
159
+ if (!response.ok) {
160
+ this.log(`Options API returned ${response.status}`, "debug");
161
+ return;
162
+ }
163
+ const data = await response.json();
164
+ // Update default options
165
+ if (data.defaults) {
166
+ this.defaultOptions = {
167
+ parser_id: "default",
168
+ timeout: data.defaults.timeout || 60,
169
+ enabled: true,
170
+ proxy: data.defaults.proxy || undefined,
171
+ user_agent: data.defaults.user_agent || undefined,
172
+ };
173
+ }
174
+ // Update per-parser options
175
+ if (data.overrides) {
176
+ for (const [parserId, options] of Object.entries(data.overrides)) {
177
+ this.parserOptions.set(parserId.toLowerCase(), options);
178
+ }
179
+ }
180
+ this.lastOptionsFetch = Date.now();
181
+ this.log(`Loaded options for ${this.parserOptions.size} parsers`);
182
+ }
183
+ catch (error) {
184
+ this.log(`Failed to fetch parser options: ${error}`, "debug");
185
+ // Options are optional, use defaults
186
+ }
187
+ }
188
+ /**
189
+ * Fetch parsers from API
190
+ */
191
+ async fetchParsers() {
192
+ try {
193
+ this.log("Fetching parsers from API...");
194
+ const response = await fetch(`${this.config.apiUrl}/parsers`, {
195
+ method: "GET",
196
+ headers: {
197
+ "Content-Type": "application/json",
198
+ ...(this.config.apiKey ? { "X-API-Key": this.config.apiKey } : {}),
199
+ },
200
+ });
201
+ if (!response.ok) {
202
+ throw new Error(`API returned ${response.status}: ${response.statusText}`);
203
+ }
204
+ const data = await response.json();
205
+ // Transform API response to ParserConfig format
206
+ const parsers = data.parsers
207
+ .filter(p => p.enabled !== false)
208
+ .map(p => this.transformParser(p));
209
+ this.parsers = parsers;
210
+ this.lastFetch = Date.now();
211
+ this.initialized = true;
212
+ this.log(`Loaded ${parsers.length} parsers from API`);
213
+ return parsers;
214
+ }
215
+ catch (error) {
216
+ this.log(`Failed to fetch parsers: ${error}`, "error");
217
+ // Fall back to static parsers
218
+ if (!this.initialized) {
219
+ this.parsers = STATIC_PARSERS;
220
+ this.initialized = true;
221
+ this.log(`Falling back to ${STATIC_PARSERS.length} static parsers`);
222
+ }
223
+ return this.parsers;
224
+ }
225
+ }
226
+ /**
227
+ * Transform API parser response to ParserConfig
228
+ */
229
+ transformParser(apiParser) {
230
+ return {
231
+ id: apiParser.id,
232
+ name: apiParser.name,
233
+ description: apiParser.description,
234
+ category: apiParser.category,
235
+ aparserName: apiParser.aparser_name,
236
+ };
237
+ }
238
+ log(message, level = "info") {
239
+ if (process.env.DEBUG || level === "error") {
240
+ const timestamp = new Date().toISOString();
241
+ console.error(`[${timestamp}] [ParserRegistry] [${level.toUpperCase()}] ${message}`);
242
+ }
243
+ }
244
+ }
245
+ // Singleton instance
246
+ let registryInstance = null;
247
+ /**
248
+ * Get the global parser registry instance
249
+ */
250
+ export function getRegistry(config) {
251
+ if (!registryInstance || config) {
252
+ registryInstance = new ParserRegistry(config);
253
+ }
254
+ return registryInstance;
255
+ }
256
+ /**
257
+ * Reset the global registry (for testing)
258
+ */
259
+ export function resetRegistry() {
260
+ registryInstance = null;
261
+ }
262
+ //# sourceMappingURL=parser-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser-registry.js","sourceRoot":"","sources":["../src/parser-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Tests for parser-registry.ts
3
+ *
4
+ * Run with: npx tsx src/tests/parser-registry.test.ts
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=parser-registry.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser-registry.test.d.ts","sourceRoot":"","sources":["../../src/tests/parser-registry.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,152 @@
1
+ /**
2
+ * Tests for parser-registry.ts
3
+ *
4
+ * Run with: npx tsx src/tests/parser-registry.test.ts
5
+ */
6
+ import { ParserRegistry, getRegistry, resetRegistry } from "../parser-registry.js";
7
+ import { PARSERS } from "../parsers.js";
8
+ // Simple test framework
9
+ let passed = 0;
10
+ let failed = 0;
11
+ function test(name, fn) {
12
+ try {
13
+ const result = fn();
14
+ if (result instanceof Promise) {
15
+ result
16
+ .then(() => {
17
+ console.log(`✅ ${name}`);
18
+ passed++;
19
+ })
20
+ .catch((err) => {
21
+ console.log(`❌ ${name}: ${err}`);
22
+ failed++;
23
+ });
24
+ }
25
+ else {
26
+ console.log(`✅ ${name}`);
27
+ passed++;
28
+ }
29
+ }
30
+ catch (err) {
31
+ console.log(`❌ ${name}: ${err}`);
32
+ failed++;
33
+ }
34
+ }
35
+ function assert(condition, message) {
36
+ if (!condition) {
37
+ throw new Error(message || "Assertion failed");
38
+ }
39
+ }
40
+ function assertEqual(actual, expected, message) {
41
+ if (actual !== expected) {
42
+ throw new Error(message || `Expected ${expected}, got ${actual}`);
43
+ }
44
+ }
45
+ // Tests
46
+ test("ParserRegistry constructor creates instance", () => {
47
+ const registry = new ParserRegistry();
48
+ assert(registry !== null);
49
+ });
50
+ test("ParserRegistry with custom config", () => {
51
+ const registry = new ParserRegistry({
52
+ apiUrl: "http://localhost:8111",
53
+ cacheTtlMs: 1000,
54
+ enableDynamic: false,
55
+ });
56
+ assert(registry !== null);
57
+ });
58
+ test("getStaticParsers returns parsers", () => {
59
+ const registry = new ParserRegistry();
60
+ const parsers = registry.getStaticParsers();
61
+ assert(parsers.length > 0, "Should have parsers");
62
+ assertEqual(parsers.length, PARSERS.length);
63
+ });
64
+ test("getParsers returns parsers (static mode)", async () => {
65
+ resetRegistry();
66
+ const registry = getRegistry({ enableDynamic: false });
67
+ const parsers = await registry.getParsers();
68
+ assert(parsers.length > 0, "Should have parsers");
69
+ assertEqual(parsers.length, PARSERS.length);
70
+ });
71
+ test("getParserById finds parser", async () => {
72
+ resetRegistry();
73
+ const registry = getRegistry({ enableDynamic: false });
74
+ const parser = await registry.getParserById("perplexity");
75
+ assert(parser !== undefined, "Should find perplexity");
76
+ assertEqual(parser?.id, "perplexity");
77
+ assertEqual(parser?.aparserName, "FreeAI::Perplexity");
78
+ });
79
+ test("getParserById returns undefined for unknown", async () => {
80
+ resetRegistry();
81
+ const registry = getRegistry({ enableDynamic: false });
82
+ const parser = await registry.getParserById("unknown_parser");
83
+ assert(parser === undefined, "Should not find unknown parser");
84
+ });
85
+ test("getParserByAParserName finds parser", async () => {
86
+ resetRegistry();
87
+ const registry = getRegistry({ enableDynamic: false });
88
+ const parser = await registry.getParserByAParserName("FreeAI::ChatGPT");
89
+ assert(parser !== undefined, "Should find ChatGPT");
90
+ assertEqual(parser?.id, "chatgpt");
91
+ });
92
+ test("getParsersByCategory filters correctly", async () => {
93
+ resetRegistry();
94
+ const registry = getRegistry({ enableDynamic: false });
95
+ const aiParsers = await registry.getParsersByCategory("AI Chat");
96
+ assert(aiParsers.length > 0, "Should have AI Chat parsers");
97
+ assert(aiParsers.every(p => p.category === "AI Chat"), "All should be AI Chat");
98
+ });
99
+ test("getCategories returns unique categories", async () => {
100
+ resetRegistry();
101
+ const registry = getRegistry({ enableDynamic: false });
102
+ const categories = await registry.getCategories();
103
+ assert(categories.length > 0, "Should have categories");
104
+ assert(categories.includes("AI Chat"), "Should include AI Chat");
105
+ assert(categories.includes("Search Engines"), "Should include Search Engines");
106
+ // Check uniqueness
107
+ const unique = new Set(categories);
108
+ assertEqual(categories.length, unique.size, "Categories should be unique");
109
+ });
110
+ test("getRegistry returns singleton", () => {
111
+ resetRegistry();
112
+ const r1 = getRegistry({ enableDynamic: false });
113
+ const r2 = getRegistry();
114
+ assert(r1 === r2, "Should return same instance");
115
+ });
116
+ test("resetRegistry clears singleton", () => {
117
+ const r1 = getRegistry({ enableDynamic: false });
118
+ resetRegistry();
119
+ const r2 = getRegistry({ enableDynamic: false });
120
+ assert(r1 !== r2, "Should be different instances after reset");
121
+ });
122
+ test("getParserOptions returns default options", async () => {
123
+ resetRegistry();
124
+ const registry = getRegistry({ enableDynamic: false });
125
+ const options = await registry.getParserOptions("perplexity");
126
+ assert(options !== undefined, "Should return options");
127
+ assertEqual(options.parser_id, "perplexity");
128
+ assertEqual(options.timeout, 60);
129
+ assertEqual(options.enabled, true);
130
+ });
131
+ test("getParserTimeout returns timeout", async () => {
132
+ resetRegistry();
133
+ const registry = getRegistry({ enableDynamic: false });
134
+ const timeout = await registry.getParserTimeout("chatgpt");
135
+ assertEqual(timeout, 60);
136
+ });
137
+ test("isParserEnabled returns true by default", async () => {
138
+ resetRegistry();
139
+ const registry = getRegistry({ enableDynamic: false });
140
+ const enabled = await registry.isParserEnabled("gemini");
141
+ assertEqual(enabled, true);
142
+ });
143
+ // Run summary after async tests complete
144
+ setTimeout(() => {
145
+ console.log(`\n--- Results ---`);
146
+ console.log(`Passed: ${passed}`);
147
+ console.log(`Failed: ${failed}`);
148
+ if (failed > 0) {
149
+ process.exit(1);
150
+ }
151
+ }, 1000);
152
+ //# sourceMappingURL=parser-registry.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser-registry.test.js","sourceRoot":"","sources":["../../src/tests/parser-registry.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Consolidated Tool Definitions
3
+ *
4
+ * Instead of 40+ individual tools, we define 6 category-based tools
5
+ * with an optional 'engine' parameter for specific parser selection.
6
+ */
7
+ import type { ParserConfig } from "./parsers.js";
8
+ /**
9
+ * Tool category configuration
10
+ */
11
+ export interface ToolCategory {
12
+ id: string;
13
+ name: string;
14
+ description: string;
15
+ categories: string[];
16
+ defaultEngine: string;
17
+ defaultEnvVar: string;
18
+ queryDescription: string;
19
+ }
20
+ /**
21
+ * Consolidated tool definitions
22
+ */
23
+ export declare const TOOL_CATEGORIES: ToolCategory[];
24
+ /**
25
+ * Get parsers for a tool category
26
+ */
27
+ export declare function getParsersForTool(toolId: string, allParsers: ParserConfig[]): ParserConfig[];
28
+ /**
29
+ * Get default engine for a tool, checking ENV first
30
+ */
31
+ export declare function getDefaultEngine(toolId: string): string;
32
+ /**
33
+ * Find which tool a parser belongs to
34
+ */
35
+ export declare function findToolForParser(parserId: string, allParsers: ParserConfig[]): ToolCategory | undefined;
36
+ /**
37
+ * Build MCP tool schema for a consolidated tool
38
+ */
39
+ export declare function buildToolSchema(tool: ToolCategory, availableEngines: string[]): object;
40
+ //# sourceMappingURL=tool-definitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-definitions.d.ts","sourceRoot":"","sources":["../src/tool-definitions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,YAAY,EAuDzC,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAC7B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,YAAY,EAAE,GAC3B,YAAY,EAAE,CAKhB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAWvD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC7B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,YAAY,EAAE,GAC3B,YAAY,GAAG,SAAS,CAK1B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC3B,IAAI,EAAE,YAAY,EAClB,gBAAgB,EAAE,MAAM,EAAE,GAC3B,MAAM,CAwBR"}