@cogitator-ai/rag 0.1.0 → 0.1.3

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 (109) hide show
  1. package/dist/chunkers/create-chunker.d.ts +3 -0
  2. package/dist/chunkers/create-chunker.d.ts.map +1 -0
  3. package/dist/chunkers/create-chunker.js +28 -0
  4. package/dist/chunkers/create-chunker.js.map +1 -0
  5. package/dist/chunkers/fixed-chunker.d.ts +12 -0
  6. package/dist/chunkers/fixed-chunker.d.ts.map +1 -0
  7. package/dist/chunkers/fixed-chunker.js +31 -0
  8. package/dist/chunkers/fixed-chunker.js.map +1 -0
  9. package/dist/chunkers/index.d.ts +5 -0
  10. package/dist/chunkers/index.d.ts.map +1 -0
  11. package/dist/chunkers/index.js +5 -0
  12. package/dist/chunkers/index.js.map +1 -0
  13. package/dist/chunkers/recursive-chunker.d.ts +18 -0
  14. package/dist/chunkers/recursive-chunker.d.ts.map +1 -0
  15. package/dist/chunkers/recursive-chunker.js +152 -0
  16. package/dist/chunkers/recursive-chunker.js.map +1 -0
  17. package/dist/chunkers/semantic-chunker.d.ts +19 -0
  18. package/dist/chunkers/semantic-chunker.d.ts.map +1 -0
  19. package/dist/chunkers/semantic-chunker.js +175 -0
  20. package/dist/chunkers/semantic-chunker.js.map +1 -0
  21. package/dist/index.d.ts +11 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +10 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/loaders/csv-loader.d.ts +16 -0
  26. package/dist/loaders/csv-loader.d.ts.map +1 -0
  27. package/dist/loaders/csv-loader.js +57 -0
  28. package/dist/loaders/csv-loader.js.map +1 -0
  29. package/dist/loaders/html-loader.d.ts +12 -0
  30. package/dist/loaders/html-loader.d.ts.map +1 -0
  31. package/dist/loaders/html-loader.js +40 -0
  32. package/dist/loaders/html-loader.js.map +1 -0
  33. package/dist/loaders/index.d.ts +14 -0
  34. package/dist/loaders/index.d.ts.map +1 -0
  35. package/dist/loaders/index.js +8 -0
  36. package/dist/loaders/index.js.map +1 -0
  37. package/dist/loaders/json-loader.d.ts +16 -0
  38. package/dist/loaders/json-loader.d.ts.map +1 -0
  39. package/dist/loaders/json-loader.js +55 -0
  40. package/dist/loaders/json-loader.js.map +1 -0
  41. package/dist/loaders/markdown-loader.d.ts +14 -0
  42. package/dist/loaders/markdown-loader.d.ts.map +1 -0
  43. package/dist/loaders/markdown-loader.js +65 -0
  44. package/dist/loaders/markdown-loader.js.map +1 -0
  45. package/dist/loaders/pdf-loader.d.ts +14 -0
  46. package/dist/loaders/pdf-loader.d.ts.map +1 -0
  47. package/dist/loaders/pdf-loader.js +72 -0
  48. package/dist/loaders/pdf-loader.js.map +1 -0
  49. package/dist/loaders/text-loader.d.ts +8 -0
  50. package/dist/loaders/text-loader.d.ts.map +1 -0
  51. package/dist/loaders/text-loader.js +40 -0
  52. package/dist/loaders/text-loader.js.map +1 -0
  53. package/dist/loaders/web-loader.d.ts +13 -0
  54. package/dist/loaders/web-loader.d.ts.map +1 -0
  55. package/dist/loaders/web-loader.js +23 -0
  56. package/dist/loaders/web-loader.js.map +1 -0
  57. package/dist/rag-builder.d.ts +22 -0
  58. package/dist/rag-builder.d.ts.map +1 -0
  59. package/dist/rag-builder.js +74 -0
  60. package/dist/rag-builder.js.map +1 -0
  61. package/dist/rag-pipeline.d.ts +28 -0
  62. package/dist/rag-pipeline.d.ts.map +1 -0
  63. package/dist/rag-pipeline.js +59 -0
  64. package/dist/rag-pipeline.js.map +1 -0
  65. package/dist/rerankers/cohere-reranker.d.ts +12 -0
  66. package/dist/rerankers/cohere-reranker.d.ts.map +1 -0
  67. package/dist/rerankers/cohere-reranker.js +37 -0
  68. package/dist/rerankers/cohere-reranker.js.map +1 -0
  69. package/dist/rerankers/index.d.ts +3 -0
  70. package/dist/rerankers/index.d.ts.map +1 -0
  71. package/dist/rerankers/index.js +3 -0
  72. package/dist/rerankers/index.js.map +1 -0
  73. package/dist/rerankers/llm-reranker.d.ts +12 -0
  74. package/dist/rerankers/llm-reranker.d.ts.map +1 -0
  75. package/dist/rerankers/llm-reranker.js +54 -0
  76. package/dist/rerankers/llm-reranker.js.map +1 -0
  77. package/dist/retrievers/create-retriever.d.ts +37 -0
  78. package/dist/retrievers/create-retriever.d.ts.map +1 -0
  79. package/dist/retrievers/create-retriever.js +37 -0
  80. package/dist/retrievers/create-retriever.js.map +1 -0
  81. package/dist/retrievers/hybrid-retriever.d.ts +18 -0
  82. package/dist/retrievers/hybrid-retriever.d.ts.map +1 -0
  83. package/dist/retrievers/hybrid-retriever.js +43 -0
  84. package/dist/retrievers/hybrid-retriever.js.map +1 -0
  85. package/dist/retrievers/index.d.ts +11 -0
  86. package/dist/retrievers/index.d.ts.map +1 -0
  87. package/dist/retrievers/index.js +6 -0
  88. package/dist/retrievers/index.js.map +1 -0
  89. package/dist/retrievers/mmr-retriever.d.ts +20 -0
  90. package/dist/retrievers/mmr-retriever.d.ts.map +1 -0
  91. package/dist/retrievers/mmr-retriever.js +89 -0
  92. package/dist/retrievers/mmr-retriever.js.map +1 -0
  93. package/dist/retrievers/multi-query-retriever.d.ts +14 -0
  94. package/dist/retrievers/multi-query-retriever.d.ts.map +1 -0
  95. package/dist/retrievers/multi-query-retriever.js +29 -0
  96. package/dist/retrievers/multi-query-retriever.js.map +1 -0
  97. package/dist/retrievers/similarity-retriever.d.ts +17 -0
  98. package/dist/retrievers/similarity-retriever.d.ts.map +1 -0
  99. package/dist/retrievers/similarity-retriever.js +39 -0
  100. package/dist/retrievers/similarity-retriever.js.map +1 -0
  101. package/dist/schema.d.ts +70 -0
  102. package/dist/schema.d.ts.map +1 -0
  103. package/dist/schema.js +27 -0
  104. package/dist/schema.js.map +1 -0
  105. package/dist/tools.d.ts +23 -0
  106. package/dist/tools.d.ts.map +1 -0
  107. package/dist/tools.js +45 -0
  108. package/dist/tools.js.map +1 -0
  109. package/package.json +1 -1
@@ -0,0 +1,39 @@
1
+ const DEFAULT_TOP_K = 10;
2
+ const DEFAULT_THRESHOLD = 0.5;
3
+ export class SimilarityRetriever {
4
+ adapter;
5
+ embedding;
6
+ defaultTopK;
7
+ defaultThreshold;
8
+ constructor(config) {
9
+ this.adapter = config.embeddingAdapter;
10
+ this.embedding = config.embeddingService;
11
+ this.defaultTopK = config.defaultTopK ?? DEFAULT_TOP_K;
12
+ this.defaultThreshold = config.defaultThreshold ?? DEFAULT_THRESHOLD;
13
+ }
14
+ async retrieve(query, options) {
15
+ const vector = await this.embedding.embed(query);
16
+ const result = await this.adapter.search({
17
+ vector,
18
+ query,
19
+ limit: options?.topK ?? this.defaultTopK,
20
+ threshold: options?.threshold ?? this.defaultThreshold,
21
+ });
22
+ if (!result.success) {
23
+ throw new Error(result.error);
24
+ }
25
+ return result.data.map((entry) => this.toRetrievalResult(entry));
26
+ }
27
+ toRetrievalResult(entry) {
28
+ const documentId = entry.metadata?.documentId ?? entry.sourceId;
29
+ return {
30
+ chunkId: entry.sourceId,
31
+ documentId,
32
+ content: entry.content,
33
+ score: entry.score,
34
+ source: entry.sourceType,
35
+ metadata: entry.metadata,
36
+ };
37
+ }
38
+ }
39
+ //# sourceMappingURL=similarity-retriever.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"similarity-retriever.js","sourceRoot":"","sources":["../../src/retrievers/similarity-retriever.ts"],"names":[],"mappings":"AAgBA,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,MAAM,OAAO,mBAAmB;IACb,OAAO,CAAmB;IAC1B,SAAS,CAAmB;IAC5B,WAAW,CAAS;IACpB,gBAAgB,CAAS;IAE1C,YAAY,MAAiC;QAC3C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,aAAa,CAAC;QACvD,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,iBAAiB,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,OAAkC;QAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YACvC,MAAM;YACN,KAAK;YACL,KAAK,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,WAAW;YACxC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,gBAAgB;SACvD,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;IACnE,CAAC;IAEO,iBAAiB,CAAC,KAAoC;QAC5D,MAAM,UAAU,GAAI,KAAK,CAAC,QAAQ,EAAE,UAAiC,IAAI,KAAK,CAAC,QAAQ,CAAC;QAExF,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,QAAQ;YACvB,UAAU;YACV,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,UAAU;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,70 @@
1
+ import { z } from 'zod';
2
+ export declare const ChunkingStrategySchema: z.ZodEnum<{
3
+ fixed: "fixed";
4
+ recursive: "recursive";
5
+ semantic: "semantic";
6
+ }>;
7
+ export declare const ChunkingConfigSchema: z.ZodObject<{
8
+ strategy: z.ZodEnum<{
9
+ fixed: "fixed";
10
+ recursive: "recursive";
11
+ semantic: "semantic";
12
+ }>;
13
+ chunkSize: z.ZodNumber;
14
+ chunkOverlap: z.ZodDefault<z.ZodNumber>;
15
+ separators: z.ZodOptional<z.ZodArray<z.ZodString>>;
16
+ }, z.core.$strip>;
17
+ export declare const RetrievalStrategySchema: z.ZodEnum<{
18
+ similarity: "similarity";
19
+ mmr: "mmr";
20
+ hybrid: "hybrid";
21
+ "multi-query": "multi-query";
22
+ }>;
23
+ export declare const RetrievalConfigSchema: z.ZodObject<{
24
+ strategy: z.ZodDefault<z.ZodEnum<{
25
+ similarity: "similarity";
26
+ mmr: "mmr";
27
+ hybrid: "hybrid";
28
+ "multi-query": "multi-query";
29
+ }>>;
30
+ topK: z.ZodDefault<z.ZodNumber>;
31
+ threshold: z.ZodDefault<z.ZodNumber>;
32
+ mmrLambda: z.ZodOptional<z.ZodNumber>;
33
+ multiQueryCount: z.ZodOptional<z.ZodNumber>;
34
+ }, z.core.$strip>;
35
+ export declare const RerankingConfigSchema: z.ZodObject<{
36
+ enabled: z.ZodDefault<z.ZodBoolean>;
37
+ topN: z.ZodOptional<z.ZodNumber>;
38
+ }, z.core.$strip>;
39
+ export declare const RAGPipelineConfigSchema: z.ZodObject<{
40
+ chunking: z.ZodObject<{
41
+ strategy: z.ZodEnum<{
42
+ fixed: "fixed";
43
+ recursive: "recursive";
44
+ semantic: "semantic";
45
+ }>;
46
+ chunkSize: z.ZodNumber;
47
+ chunkOverlap: z.ZodDefault<z.ZodNumber>;
48
+ separators: z.ZodOptional<z.ZodArray<z.ZodString>>;
49
+ }, z.core.$strip>;
50
+ retrieval: z.ZodDefault<z.ZodObject<{
51
+ strategy: z.ZodDefault<z.ZodEnum<{
52
+ similarity: "similarity";
53
+ mmr: "mmr";
54
+ hybrid: "hybrid";
55
+ "multi-query": "multi-query";
56
+ }>>;
57
+ topK: z.ZodDefault<z.ZodNumber>;
58
+ threshold: z.ZodDefault<z.ZodNumber>;
59
+ mmrLambda: z.ZodOptional<z.ZodNumber>;
60
+ multiQueryCount: z.ZodOptional<z.ZodNumber>;
61
+ }, z.core.$strip>>;
62
+ reranking: z.ZodOptional<z.ZodObject<{
63
+ enabled: z.ZodDefault<z.ZodBoolean>;
64
+ topN: z.ZodOptional<z.ZodNumber>;
65
+ }, z.core.$strip>>;
66
+ }, z.core.$strip>;
67
+ export type ChunkingConfigInput = z.input<typeof ChunkingConfigSchema>;
68
+ export type RetrievalConfigInput = z.input<typeof RetrievalConfigSchema>;
69
+ export type RAGPipelineConfigInput = z.input<typeof RAGPipelineConfigSchema>;
70
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB;;;;EAA6C,CAAC;AAEjF,eAAO,MAAM,oBAAoB;;;;;;;;;iBAK/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;EAAyD,CAAC;AAE9F,eAAO,MAAM,qBAAqB;;;;;;;;;;;iBAMhC,CAAC;AAIH,eAAO,MAAM,qBAAqB;;;iBAGhC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIlC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACvE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACzE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
package/dist/schema.js ADDED
@@ -0,0 +1,27 @@
1
+ import { z } from 'zod';
2
+ export const ChunkingStrategySchema = z.enum(['fixed', 'recursive', 'semantic']);
3
+ export const ChunkingConfigSchema = z.object({
4
+ strategy: ChunkingStrategySchema,
5
+ chunkSize: z.number().int().positive(),
6
+ chunkOverlap: z.number().int().nonnegative().default(0),
7
+ separators: z.array(z.string()).optional(),
8
+ });
9
+ export const RetrievalStrategySchema = z.enum(['similarity', 'mmr', 'hybrid', 'multi-query']);
10
+ export const RetrievalConfigSchema = z.object({
11
+ strategy: RetrievalStrategySchema.default('similarity'),
12
+ topK: z.number().int().positive().default(10),
13
+ threshold: z.number().min(0).max(1).default(0.0),
14
+ mmrLambda: z.number().min(0).max(1).optional(),
15
+ multiQueryCount: z.number().int().positive().optional(),
16
+ });
17
+ const retrievalDefaults = RetrievalConfigSchema.parse({});
18
+ export const RerankingConfigSchema = z.object({
19
+ enabled: z.boolean().default(false),
20
+ topN: z.number().int().positive().optional(),
21
+ });
22
+ export const RAGPipelineConfigSchema = z.object({
23
+ chunking: ChunkingConfigSchema,
24
+ retrieval: RetrievalConfigSchema.default(retrievalDefaults),
25
+ reranking: RerankingConfigSchema.optional(),
26
+ });
27
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;AAEjF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,QAAQ,EAAE,sBAAsB;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACtC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;AAE9F,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,QAAQ,EAAE,uBAAuB,CAAC,OAAO,CAAC,YAAY,CAAC;IACvD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAChD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACxD,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,QAAQ,EAAE,oBAAoB;IAC9B,SAAS,EAAE,qBAAqB,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAC3D,SAAS,EAAE,qBAAqB,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { z } from 'zod';
2
+ import type { RAGPipeline } from './rag-pipeline';
3
+ export interface RAGTool<TParams = unknown> {
4
+ name: string;
5
+ description: string;
6
+ parameters: z.ZodType<TParams>;
7
+ execute: (params: TParams) => Promise<unknown>;
8
+ }
9
+ declare const SearchParamsSchema: z.ZodObject<{
10
+ query: z.ZodString;
11
+ limit: z.ZodOptional<z.ZodNumber>;
12
+ threshold: z.ZodOptional<z.ZodNumber>;
13
+ }, z.core.$strip>;
14
+ type SearchParams = z.infer<typeof SearchParamsSchema>;
15
+ declare const IngestParamsSchema: z.ZodObject<{
16
+ source: z.ZodString;
17
+ }, z.core.$strip>;
18
+ type IngestParams = z.infer<typeof IngestParamsSchema>;
19
+ export declare function createSearchTool(pipeline: RAGPipeline): RAGTool<SearchParams>;
20
+ export declare function createIngestTool(pipeline: RAGPipeline): RAGTool<IngestParams>;
21
+ export declare function ragTools(pipeline: RAGPipeline): [RAGTool<SearchParams>, RAGTool<IngestParams>];
22
+ export {};
23
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,WAAW,OAAO,CAAC,OAAO,GAAG,OAAO;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAChD;AAED,QAAA,MAAM,kBAAkB;;;;iBAItB,CAAC;AAEH,KAAK,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEvD,QAAA,MAAM,kBAAkB;;iBAEtB,CAAC;AAEH,KAAK,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEvD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAc7E;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAc7E;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,WAAW,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAE9F"}
package/dist/tools.js ADDED
@@ -0,0 +1,45 @@
1
+ import { z } from 'zod';
2
+ const SearchParamsSchema = z.object({
3
+ query: z.string(),
4
+ limit: z.number().int().positive().optional(),
5
+ threshold: z.number().min(0).max(1).optional(),
6
+ });
7
+ const IngestParamsSchema = z.object({
8
+ source: z.string(),
9
+ });
10
+ export function createSearchTool(pipeline) {
11
+ return {
12
+ name: 'rag_search',
13
+ description: 'Search the knowledge base using semantic search',
14
+ parameters: SearchParamsSchema,
15
+ execute: async ({ query, limit, threshold }) => {
16
+ try {
17
+ const results = await pipeline.query(query, { topK: limit, threshold });
18
+ return { success: true, query, results, count: results.length };
19
+ }
20
+ catch (err) {
21
+ return { success: false, error: err instanceof Error ? err.message : String(err) };
22
+ }
23
+ },
24
+ };
25
+ }
26
+ export function createIngestTool(pipeline) {
27
+ return {
28
+ name: 'rag_ingest',
29
+ description: 'Ingest documents into the knowledge base',
30
+ parameters: IngestParamsSchema,
31
+ execute: async ({ source }) => {
32
+ try {
33
+ const { documents, chunks } = await pipeline.ingest(source);
34
+ return { success: true, source, documents, chunks };
35
+ }
36
+ catch (err) {
37
+ return { success: false, error: err instanceof Error ? err.message : String(err) };
38
+ }
39
+ },
40
+ };
41
+ }
42
+ export function ragTools(pipeline) {
43
+ return [createSearchTool(pipeline), createIngestTool(pipeline)];
44
+ }
45
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC/C,CAAC,CAAC;AAIH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAIH,MAAM,UAAU,gBAAgB,CAAC,QAAqB;IACpD,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,iDAAiD;QAC9D,UAAU,EAAE,kBAAkB;QAC9B,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE;YAC7C,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBACxE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YAClE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACrF,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAqB;IACpD,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,0CAA0C;QACvD,UAAU,EAAE,kBAAkB;QAC9B,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YAC5B,IAAI,CAAC;gBACH,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC5D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;YACtD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACrF,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,QAAqB;IAC5C,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cogitator-ai/rag",
3
- "version": "0.1.0",
3
+ "version": "0.1.3",
4
4
  "description": "Retrieval Augmented Generation for Cogitator AI agents",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",