cursor-recursive-rag 0.2.0-alpha.2 → 0.2.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 (210) hide show
  1. package/README.md +179 -203
  2. package/dist/adapters/llm/anthropic.d.ts +27 -0
  3. package/dist/adapters/llm/anthropic.d.ts.map +1 -0
  4. package/dist/adapters/llm/anthropic.js +287 -0
  5. package/dist/adapters/llm/anthropic.js.map +1 -0
  6. package/dist/adapters/llm/base.d.ts +62 -0
  7. package/dist/adapters/llm/base.d.ts.map +1 -0
  8. package/dist/adapters/llm/base.js +140 -0
  9. package/dist/adapters/llm/base.js.map +1 -0
  10. package/dist/adapters/llm/deepseek.d.ts +24 -0
  11. package/dist/adapters/llm/deepseek.d.ts.map +1 -0
  12. package/dist/adapters/llm/deepseek.js +228 -0
  13. package/dist/adapters/llm/deepseek.js.map +1 -0
  14. package/dist/adapters/llm/groq.d.ts +25 -0
  15. package/dist/adapters/llm/groq.d.ts.map +1 -0
  16. package/dist/adapters/llm/groq.js +265 -0
  17. package/dist/adapters/llm/groq.js.map +1 -0
  18. package/dist/adapters/llm/index.d.ts +62 -0
  19. package/dist/adapters/llm/index.d.ts.map +1 -0
  20. package/dist/adapters/llm/index.js +380 -0
  21. package/dist/adapters/llm/index.js.map +1 -0
  22. package/dist/adapters/llm/ollama.d.ts +23 -0
  23. package/dist/adapters/llm/ollama.d.ts.map +1 -0
  24. package/dist/adapters/llm/ollama.js +261 -0
  25. package/dist/adapters/llm/ollama.js.map +1 -0
  26. package/dist/adapters/llm/openai.d.ts +22 -0
  27. package/dist/adapters/llm/openai.d.ts.map +1 -0
  28. package/dist/adapters/llm/openai.js +232 -0
  29. package/dist/adapters/llm/openai.js.map +1 -0
  30. package/dist/adapters/llm/openrouter.d.ts +27 -0
  31. package/dist/adapters/llm/openrouter.d.ts.map +1 -0
  32. package/dist/adapters/llm/openrouter.js +305 -0
  33. package/dist/adapters/llm/openrouter.js.map +1 -0
  34. package/dist/adapters/vector/index.d.ts.map +1 -1
  35. package/dist/adapters/vector/index.js +8 -0
  36. package/dist/adapters/vector/index.js.map +1 -1
  37. package/dist/adapters/vector/redis-native.d.ts +35 -0
  38. package/dist/adapters/vector/redis-native.d.ts.map +1 -0
  39. package/dist/adapters/vector/redis-native.js +170 -0
  40. package/dist/adapters/vector/redis-native.js.map +1 -0
  41. package/dist/cli/commands/chat.d.ts +4 -0
  42. package/dist/cli/commands/chat.d.ts.map +1 -0
  43. package/dist/cli/commands/chat.js +374 -0
  44. package/dist/cli/commands/chat.js.map +1 -0
  45. package/dist/cli/commands/maintenance.d.ts +4 -0
  46. package/dist/cli/commands/maintenance.d.ts.map +1 -0
  47. package/dist/cli/commands/maintenance.js +237 -0
  48. package/dist/cli/commands/maintenance.js.map +1 -0
  49. package/dist/cli/commands/rules.d.ts +9 -0
  50. package/dist/cli/commands/rules.d.ts.map +1 -0
  51. package/dist/cli/commands/rules.js +639 -0
  52. package/dist/cli/commands/rules.js.map +1 -0
  53. package/dist/cli/commands/setup.js +5 -4
  54. package/dist/cli/commands/setup.js.map +1 -1
  55. package/dist/cli/index.js +6 -0
  56. package/dist/cli/index.js.map +1 -1
  57. package/dist/config/memoryConfig.d.ts +427 -0
  58. package/dist/config/memoryConfig.d.ts.map +1 -0
  59. package/dist/config/memoryConfig.js +258 -0
  60. package/dist/config/memoryConfig.js.map +1 -0
  61. package/dist/config/rulesConfig.d.ts +486 -0
  62. package/dist/config/rulesConfig.d.ts.map +1 -0
  63. package/dist/config/rulesConfig.js +345 -0
  64. package/dist/config/rulesConfig.js.map +1 -0
  65. package/dist/dashboard/coreTools.d.ts +14 -0
  66. package/dist/dashboard/coreTools.d.ts.map +1 -0
  67. package/dist/dashboard/coreTools.js +413 -0
  68. package/dist/dashboard/coreTools.js.map +1 -0
  69. package/dist/dashboard/public/index.html +1982 -13
  70. package/dist/dashboard/server.d.ts +1 -8
  71. package/dist/dashboard/server.d.ts.map +1 -1
  72. package/dist/dashboard/server.js +846 -13
  73. package/dist/dashboard/server.js.map +1 -1
  74. package/dist/dashboard/toolRegistry.d.ts +192 -0
  75. package/dist/dashboard/toolRegistry.d.ts.map +1 -0
  76. package/dist/dashboard/toolRegistry.js +322 -0
  77. package/dist/dashboard/toolRegistry.js.map +1 -0
  78. package/dist/proxy/index.d.ts +1 -1
  79. package/dist/proxy/index.d.ts.map +1 -1
  80. package/dist/proxy/index.js +9 -6
  81. package/dist/proxy/index.js.map +1 -1
  82. package/dist/server/index.js +21 -0
  83. package/dist/server/index.js.map +1 -1
  84. package/dist/server/tools/crawl.d.ts.map +1 -1
  85. package/dist/server/tools/crawl.js +8 -0
  86. package/dist/server/tools/crawl.js.map +1 -1
  87. package/dist/server/tools/index.d.ts.map +1 -1
  88. package/dist/server/tools/index.js +19 -1
  89. package/dist/server/tools/index.js.map +1 -1
  90. package/dist/server/tools/ingest.d.ts.map +1 -1
  91. package/dist/server/tools/ingest.js +5 -0
  92. package/dist/server/tools/ingest.js.map +1 -1
  93. package/dist/server/tools/memory.d.ts +250 -0
  94. package/dist/server/tools/memory.d.ts.map +1 -0
  95. package/dist/server/tools/memory.js +472 -0
  96. package/dist/server/tools/memory.js.map +1 -0
  97. package/dist/server/tools/recursive-query.d.ts.map +1 -1
  98. package/dist/server/tools/recursive-query.js +6 -0
  99. package/dist/server/tools/recursive-query.js.map +1 -1
  100. package/dist/server/tools/search.d.ts.map +1 -1
  101. package/dist/server/tools/search.js +6 -0
  102. package/dist/server/tools/search.js.map +1 -1
  103. package/dist/services/activity-log.d.ts +10 -0
  104. package/dist/services/activity-log.d.ts.map +1 -0
  105. package/dist/services/activity-log.js +53 -0
  106. package/dist/services/activity-log.js.map +1 -0
  107. package/dist/services/categoryManager.d.ts +110 -0
  108. package/dist/services/categoryManager.d.ts.map +1 -0
  109. package/dist/services/categoryManager.js +549 -0
  110. package/dist/services/categoryManager.js.map +1 -0
  111. package/dist/services/contextEnvironment.d.ts +206 -0
  112. package/dist/services/contextEnvironment.d.ts.map +1 -0
  113. package/dist/services/contextEnvironment.js +481 -0
  114. package/dist/services/contextEnvironment.js.map +1 -0
  115. package/dist/services/conversationProcessor.d.ts +99 -0
  116. package/dist/services/conversationProcessor.d.ts.map +1 -0
  117. package/dist/services/conversationProcessor.js +311 -0
  118. package/dist/services/conversationProcessor.js.map +1 -0
  119. package/dist/services/cursorChatReader.d.ts +129 -0
  120. package/dist/services/cursorChatReader.d.ts.map +1 -0
  121. package/dist/services/cursorChatReader.js +419 -0
  122. package/dist/services/cursorChatReader.js.map +1 -0
  123. package/dist/services/decayCalculator.d.ts +85 -0
  124. package/dist/services/decayCalculator.d.ts.map +1 -0
  125. package/dist/services/decayCalculator.js +182 -0
  126. package/dist/services/decayCalculator.js.map +1 -0
  127. package/dist/services/enhancedVectorStore.d.ts +102 -0
  128. package/dist/services/enhancedVectorStore.d.ts.map +1 -0
  129. package/dist/services/enhancedVectorStore.js +245 -0
  130. package/dist/services/enhancedVectorStore.js.map +1 -0
  131. package/dist/services/hybridScorer.d.ts +120 -0
  132. package/dist/services/hybridScorer.d.ts.map +1 -0
  133. package/dist/services/hybridScorer.js +334 -0
  134. package/dist/services/hybridScorer.js.map +1 -0
  135. package/dist/services/knowledgeExtractor.d.ts +45 -0
  136. package/dist/services/knowledgeExtractor.d.ts.map +1 -0
  137. package/dist/services/knowledgeExtractor.js +436 -0
  138. package/dist/services/knowledgeExtractor.js.map +1 -0
  139. package/dist/services/knowledgeStorage.d.ts +102 -0
  140. package/dist/services/knowledgeStorage.d.ts.map +1 -0
  141. package/dist/services/knowledgeStorage.js +383 -0
  142. package/dist/services/knowledgeStorage.js.map +1 -0
  143. package/dist/services/maintenanceScheduler.d.ts +89 -0
  144. package/dist/services/maintenanceScheduler.d.ts.map +1 -0
  145. package/dist/services/maintenanceScheduler.js +479 -0
  146. package/dist/services/maintenanceScheduler.js.map +1 -0
  147. package/dist/services/memoryMetadataStore.d.ts +62 -0
  148. package/dist/services/memoryMetadataStore.d.ts.map +1 -0
  149. package/dist/services/memoryMetadataStore.js +570 -0
  150. package/dist/services/memoryMetadataStore.js.map +1 -0
  151. package/dist/services/recursiveRetrieval.d.ts +122 -0
  152. package/dist/services/recursiveRetrieval.d.ts.map +1 -0
  153. package/dist/services/recursiveRetrieval.js +443 -0
  154. package/dist/services/recursiveRetrieval.js.map +1 -0
  155. package/dist/services/relationshipGraph.d.ts +77 -0
  156. package/dist/services/relationshipGraph.d.ts.map +1 -0
  157. package/dist/services/relationshipGraph.js +411 -0
  158. package/dist/services/relationshipGraph.js.map +1 -0
  159. package/dist/services/rlmSafeguards.d.ts +273 -0
  160. package/dist/services/rlmSafeguards.d.ts.map +1 -0
  161. package/dist/services/rlmSafeguards.js +705 -0
  162. package/dist/services/rlmSafeguards.js.map +1 -0
  163. package/dist/services/rulesAnalyzer.d.ts +119 -0
  164. package/dist/services/rulesAnalyzer.d.ts.map +1 -0
  165. package/dist/services/rulesAnalyzer.js +768 -0
  166. package/dist/services/rulesAnalyzer.js.map +1 -0
  167. package/dist/services/rulesMerger.d.ts +75 -0
  168. package/dist/services/rulesMerger.d.ts.map +1 -0
  169. package/dist/services/rulesMerger.js +404 -0
  170. package/dist/services/rulesMerger.js.map +1 -0
  171. package/dist/services/rulesParser.d.ts +127 -0
  172. package/dist/services/rulesParser.d.ts.map +1 -0
  173. package/dist/services/rulesParser.js +594 -0
  174. package/dist/services/rulesParser.js.map +1 -0
  175. package/dist/services/smartChunker.d.ts +110 -0
  176. package/dist/services/smartChunker.d.ts.map +1 -0
  177. package/dist/services/smartChunker.js +520 -0
  178. package/dist/services/smartChunker.js.map +1 -0
  179. package/dist/types/categories.d.ts +105 -0
  180. package/dist/types/categories.d.ts.map +1 -0
  181. package/dist/types/categories.js +108 -0
  182. package/dist/types/categories.js.map +1 -0
  183. package/dist/types/extractedKnowledge.d.ts +233 -0
  184. package/dist/types/extractedKnowledge.d.ts.map +1 -0
  185. package/dist/types/extractedKnowledge.js +56 -0
  186. package/dist/types/extractedKnowledge.js.map +1 -0
  187. package/dist/types/index.d.ts +9 -2
  188. package/dist/types/index.d.ts.map +1 -1
  189. package/dist/types/index.js +12 -1
  190. package/dist/types/index.js.map +1 -1
  191. package/dist/types/llmProvider.d.ts +282 -0
  192. package/dist/types/llmProvider.d.ts.map +1 -0
  193. package/dist/types/llmProvider.js +48 -0
  194. package/dist/types/llmProvider.js.map +1 -0
  195. package/dist/types/memory.d.ts +227 -0
  196. package/dist/types/memory.d.ts.map +1 -0
  197. package/dist/types/memory.js +76 -0
  198. package/dist/types/memory.js.map +1 -0
  199. package/dist/types/relationships.d.ts +167 -0
  200. package/dist/types/relationships.d.ts.map +1 -0
  201. package/dist/types/relationships.js +106 -0
  202. package/dist/types/relationships.js.map +1 -0
  203. package/dist/types/rulesOptimizer.d.ts +345 -0
  204. package/dist/types/rulesOptimizer.d.ts.map +1 -0
  205. package/dist/types/rulesOptimizer.js +22 -0
  206. package/dist/types/rulesOptimizer.js.map +1 -0
  207. package/docs/cursor-recursive-rag-memory-spec.md +4569 -0
  208. package/docs/cursor-recursive-rag-tasks.md +1355 -0
  209. package/package.json +6 -3
  210. package/restart-rag.sh +16 -0
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Category Types for Hierarchical Memory Organization
3
+ *
4
+ * Categories provide a way to group related knowledge items and maintain
5
+ * evolving summaries that capture the essence of each topic area.
6
+ */
7
+ import type { Category, CategoryItem } from './memory.js';
8
+ export type { Category, CategoryItem };
9
+ /**
10
+ * Extended category with display and metadata fields
11
+ */
12
+ export interface ExtendedCategory extends Category {
13
+ displayName: string;
14
+ tags: string[];
15
+ isDefault: boolean;
16
+ summaryUpdatedAt: string | null;
17
+ lastItemAddedAt: string | null;
18
+ }
19
+ /**
20
+ * Category definition for creating default categories
21
+ */
22
+ export interface CategoryDefinition {
23
+ name: string;
24
+ displayName: string;
25
+ description: string;
26
+ tags: string[];
27
+ parentName?: string;
28
+ }
29
+ /**
30
+ * Result of classifying a chunk into categories
31
+ */
32
+ export interface CategoryClassification {
33
+ category: string;
34
+ relevanceScore: number;
35
+ reason: string;
36
+ }
37
+ /**
38
+ * Options for listing category items
39
+ */
40
+ export interface CategoryItemsOptions {
41
+ limit?: number;
42
+ since?: Date;
43
+ minRelevance?: number;
44
+ sortBy?: 'relevance' | 'date';
45
+ }
46
+ /**
47
+ * Category with item count and recent activity
48
+ */
49
+ export interface CategoryWithStats extends Category {
50
+ recentItemCount: number;
51
+ avgRelevanceScore: number;
52
+ topTags: string[];
53
+ }
54
+ /**
55
+ * Options for selecting relevant categories for a query
56
+ */
57
+ export interface CategorySelectionOptions {
58
+ maxCategories?: number;
59
+ minItemCount?: number;
60
+ includeSummaries?: boolean;
61
+ }
62
+ /**
63
+ * Result of category selection for a query
64
+ */
65
+ export interface SelectedCategory {
66
+ name: string;
67
+ relevance: number;
68
+ summary?: string;
69
+ itemCount: number;
70
+ }
71
+ /**
72
+ * Summary evolution result
73
+ */
74
+ export interface SummaryEvolutionResult {
75
+ categoryName: string;
76
+ previousSummary: string;
77
+ newSummary: string;
78
+ itemsIntegrated: number;
79
+ hadContradictions: boolean;
80
+ }
81
+ /**
82
+ * Predefined categories for common knowledge types
83
+ */
84
+ export declare const DEFAULT_CATEGORIES: CategoryDefinition[];
85
+ /**
86
+ * Get a default category by name
87
+ */
88
+ export declare function getDefaultCategory(name: string): CategoryDefinition | undefined;
89
+ /**
90
+ * Check if a category name is a default category
91
+ */
92
+ export declare function isDefaultCategory(name: string): boolean;
93
+ /**
94
+ * Get all default category names
95
+ */
96
+ export declare function getDefaultCategoryNames(): string[];
97
+ /**
98
+ * Find categories that match given tags
99
+ */
100
+ export declare function findCategoriesByTags(tags: string[]): CategoryDefinition[];
101
+ /**
102
+ * Score how well content matches a category based on tag overlap
103
+ */
104
+ export declare function scoreCategoryMatch(contentTags: string[], category: CategoryDefinition): number;
105
+ //# sourceMappingURL=categories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../src/types/categories.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG1D,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IACjD,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,kBAAkB,EA6DlD,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAE/E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAElD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAKzE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EAAE,EACrB,QAAQ,EAAE,kBAAkB,GAC3B,MAAM,CAaR"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Category Types for Hierarchical Memory Organization
3
+ *
4
+ * Categories provide a way to group related knowledge items and maintain
5
+ * evolving summaries that capture the essence of each topic area.
6
+ */
7
+ /**
8
+ * Predefined categories for common knowledge types
9
+ */
10
+ export const DEFAULT_CATEGORIES = [
11
+ {
12
+ name: 'authentication',
13
+ displayName: 'Authentication',
14
+ description: 'Login, sessions, JWT, OAuth, API keys, security tokens',
15
+ tags: ['auth', 'security', 'login', 'jwt', 'oauth', 'session', 'token'],
16
+ },
17
+ {
18
+ name: 'database',
19
+ displayName: 'Database',
20
+ description: 'Queries, migrations, models, relationships, ORM, schema design',
21
+ tags: ['sql', 'database', 'query', 'migration', 'model', 'orm', 'schema'],
22
+ },
23
+ {
24
+ name: 'api',
25
+ displayName: 'API',
26
+ description: 'REST, GraphQL, endpoints, requests, responses, webhooks',
27
+ tags: ['api', 'rest', 'graphql', 'endpoint', 'http', 'webhook', 'request'],
28
+ },
29
+ {
30
+ name: 'testing',
31
+ displayName: 'Testing',
32
+ description: 'Unit tests, integration tests, E2E, mocking, fixtures, coverage',
33
+ tags: ['test', 'testing', 'mock', 'fixture', 'assertion', 'coverage', 'e2e'],
34
+ },
35
+ {
36
+ name: 'frontend',
37
+ displayName: 'Frontend',
38
+ description: 'UI components, styling, state management, routing, forms',
39
+ tags: ['ui', 'component', 'style', 'css', 'state', 'vue', 'react', 'form'],
40
+ },
41
+ {
42
+ name: 'devops',
43
+ displayName: 'DevOps',
44
+ description: 'Deployment, CI/CD, Docker, Kubernetes, infrastructure, monitoring',
45
+ tags: ['deploy', 'docker', 'ci', 'cd', 'infrastructure', 'kubernetes', 'monitor'],
46
+ },
47
+ {
48
+ name: 'architecture',
49
+ displayName: 'Architecture',
50
+ description: 'Design patterns, system design, decisions, microservices, modules',
51
+ tags: ['pattern', 'architecture', 'design', 'structure', 'microservice', 'module'],
52
+ },
53
+ {
54
+ name: 'performance',
55
+ displayName: 'Performance',
56
+ description: 'Optimization, caching, profiling, memory, speed, scaling',
57
+ tags: ['performance', 'optimization', 'cache', 'speed', 'memory', 'scale', 'profile'],
58
+ },
59
+ {
60
+ name: 'debugging',
61
+ displayName: 'Debugging',
62
+ description: 'Error resolution, troubleshooting, fixes, logging, stack traces',
63
+ tags: ['bug', 'error', 'fix', 'debug', 'issue', 'log', 'trace', 'troubleshoot'],
64
+ },
65
+ {
66
+ name: 'standards',
67
+ displayName: 'Standards',
68
+ description: 'Coding standards, conventions, best practices, linting, formatting',
69
+ tags: ['standard', 'convention', 'practice', 'guideline', 'lint', 'format', 'style'],
70
+ },
71
+ ];
72
+ /**
73
+ * Get a default category by name
74
+ */
75
+ export function getDefaultCategory(name) {
76
+ return DEFAULT_CATEGORIES.find(c => c.name === name);
77
+ }
78
+ /**
79
+ * Check if a category name is a default category
80
+ */
81
+ export function isDefaultCategory(name) {
82
+ return DEFAULT_CATEGORIES.some(c => c.name === name);
83
+ }
84
+ /**
85
+ * Get all default category names
86
+ */
87
+ export function getDefaultCategoryNames() {
88
+ return DEFAULT_CATEGORIES.map(c => c.name);
89
+ }
90
+ /**
91
+ * Find categories that match given tags
92
+ */
93
+ export function findCategoriesByTags(tags) {
94
+ const lowerTags = tags.map(t => t.toLowerCase());
95
+ return DEFAULT_CATEGORIES.filter(cat => cat.tags.some(catTag => lowerTags.includes(catTag.toLowerCase())));
96
+ }
97
+ /**
98
+ * Score how well content matches a category based on tag overlap
99
+ */
100
+ export function scoreCategoryMatch(contentTags, category) {
101
+ if (contentTags.length === 0)
102
+ return 0;
103
+ const lowerContentTags = contentTags.map(t => t.toLowerCase());
104
+ const lowerCategoryTags = category.tags.map(t => t.toLowerCase());
105
+ const matches = lowerContentTags.filter(tag => lowerCategoryTags.some(catTag => tag.includes(catTag) || catTag.includes(tag)));
106
+ return matches.length / Math.max(contentTags.length, 1);
107
+ }
108
+ //# sourceMappingURL=categories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"categories.js","sourceRoot":"","sources":["../../src/types/categories.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,233 @@
1
+ /**
2
+ * Knowledge Extraction Types for cursor-recursive-rag
3
+ *
4
+ * These types define structured knowledge extracted from conversations using LLM.
5
+ * Includes solutions, patterns, decisions, standards, and preferences.
6
+ */
7
+ import type { EntityType } from './memory.js';
8
+ /**
9
+ * Complete extracted knowledge from a conversation
10
+ */
11
+ export interface ExtractedKnowledge {
12
+ conversationId: string;
13
+ extractedAt: Date;
14
+ solutions: ExtractedSolution[];
15
+ patterns: ExtractedPattern[];
16
+ decisions: ExtractedDecision[];
17
+ standards: ExtractedStandard[];
18
+ preferences: ExtractedPreference[];
19
+ entities: ExtractedEntity[];
20
+ }
21
+ /**
22
+ * A problem/solution pair extracted from a conversation
23
+ */
24
+ export interface ExtractedSolution {
25
+ id: string;
26
+ problem: string;
27
+ errorMessage?: string;
28
+ solution: string;
29
+ codeChanges: CodeChange[];
30
+ filesAffected: string[];
31
+ tags: string[];
32
+ confidence: number;
33
+ sourceMessageIndices: number[];
34
+ }
35
+ /**
36
+ * A reusable code pattern extracted from a conversation
37
+ */
38
+ export interface ExtractedPattern {
39
+ id: string;
40
+ name: string;
41
+ description: string;
42
+ useCase: string;
43
+ implementation: string;
44
+ language: string;
45
+ relatedPatterns: string[];
46
+ tags: string[];
47
+ confidence: number;
48
+ sourceMessageIndices: number[];
49
+ }
50
+ /**
51
+ * An architectural or technical decision extracted from a conversation
52
+ */
53
+ export interface ExtractedDecision {
54
+ id: string;
55
+ topic: string;
56
+ decision: string;
57
+ reasoning: string;
58
+ alternatives?: string[];
59
+ tradeoffs?: string[];
60
+ context: string;
61
+ tags: string[];
62
+ confidence: number;
63
+ sourceMessageIndices: number[];
64
+ }
65
+ /**
66
+ * A coding standard or guideline extracted from a conversation
67
+ */
68
+ export interface ExtractedStandard {
69
+ id: string;
70
+ category: string;
71
+ rule: string;
72
+ examples: string[];
73
+ counterExamples?: string[];
74
+ rationale?: string;
75
+ tags: string[];
76
+ confidence: number;
77
+ sourceMessageIndices: number[];
78
+ }
79
+ /**
80
+ * A user preference or correction extracted from a conversation
81
+ */
82
+ export interface ExtractedPreference {
83
+ id: string;
84
+ aspect: string;
85
+ preference: string;
86
+ correction?: string;
87
+ context: string;
88
+ confidence: number;
89
+ sourceMessageIndices: number[];
90
+ }
91
+ /**
92
+ * An entity with relationships extracted from content
93
+ */
94
+ export interface ExtractedEntity {
95
+ type: EntityType;
96
+ name: string;
97
+ description?: string;
98
+ relationships: EntityRelationship[];
99
+ }
100
+ /**
101
+ * A relationship between entities
102
+ */
103
+ export interface EntityRelationship {
104
+ targetEntity: string;
105
+ relationshipType: string;
106
+ strength: number;
107
+ }
108
+ /**
109
+ * Code change with before/after states
110
+ */
111
+ export interface CodeChange {
112
+ filename?: string;
113
+ language: string;
114
+ before?: string;
115
+ after: string;
116
+ explanation?: string;
117
+ }
118
+ /**
119
+ * Configuration for knowledge extraction
120
+ */
121
+ export interface ExtractionConfig {
122
+ extractSolutions: boolean;
123
+ extractPatterns: boolean;
124
+ extractDecisions: boolean;
125
+ extractStandards: boolean;
126
+ extractPreferences: boolean;
127
+ minConfidence: number;
128
+ maxItemsPerType: number;
129
+ }
130
+ /**
131
+ * Default extraction configuration
132
+ */
133
+ export declare const DEFAULT_EXTRACTION_CONFIG: ExtractionConfig;
134
+ /**
135
+ * Result of a batch extraction operation
136
+ */
137
+ export interface ExtractionBatchResult {
138
+ conversationsProcessed: number;
139
+ totalSolutions: number;
140
+ totalPatterns: number;
141
+ totalDecisions: number;
142
+ totalStandards: number;
143
+ totalPreferences: number;
144
+ errors: Array<{
145
+ conversationId: string;
146
+ error: string;
147
+ }>;
148
+ }
149
+ /**
150
+ * LLM response schema for extraction (used in prompts)
151
+ */
152
+ export interface LLMExtractionResponse {
153
+ solutions?: Array<{
154
+ problem: string;
155
+ errorMessage?: string;
156
+ solution: string;
157
+ codeChanges?: Array<{
158
+ filename?: string;
159
+ language: string;
160
+ before?: string;
161
+ after: string;
162
+ explanation?: string;
163
+ }>;
164
+ filesAffected?: string[];
165
+ tags?: string[];
166
+ confidence: number;
167
+ }>;
168
+ patterns?: Array<{
169
+ name: string;
170
+ description: string;
171
+ useCase: string;
172
+ implementation: string;
173
+ language: string;
174
+ relatedPatterns?: string[];
175
+ tags?: string[];
176
+ confidence: number;
177
+ }>;
178
+ decisions?: Array<{
179
+ topic: string;
180
+ decision: string;
181
+ reasoning: string;
182
+ alternatives?: string[];
183
+ tradeoffs?: string[];
184
+ context: string;
185
+ tags?: string[];
186
+ confidence: number;
187
+ }>;
188
+ standards?: Array<{
189
+ category: string;
190
+ rule: string;
191
+ examples?: string[];
192
+ counterExamples?: string[];
193
+ rationale?: string;
194
+ tags?: string[];
195
+ confidence: number;
196
+ }>;
197
+ preferences?: Array<{
198
+ aspect: string;
199
+ preference: string;
200
+ correction?: string;
201
+ context: string;
202
+ confidence: number;
203
+ }>;
204
+ entities?: Array<{
205
+ type: string;
206
+ name: string;
207
+ description?: string;
208
+ relationships?: Array<{
209
+ targetEntity: string;
210
+ relationshipType: string;
211
+ strength: number;
212
+ }>;
213
+ }>;
214
+ }
215
+ /**
216
+ * Helper function to create empty extracted knowledge
217
+ */
218
+ export declare function createEmptyExtractedKnowledge(conversationId: string): ExtractedKnowledge;
219
+ /**
220
+ * Helper to validate confidence score is within bounds
221
+ */
222
+ export declare function normalizeConfidence(confidence: number): number;
223
+ /**
224
+ * Helper to filter items by minimum confidence
225
+ */
226
+ export declare function filterByConfidence<T extends {
227
+ confidence: number;
228
+ }>(items: T[], minConfidence: number): T[];
229
+ /**
230
+ * Count total extracted items
231
+ */
232
+ export declare function countExtractedItems(knowledge: ExtractedKnowledge): number;
233
+ //# sourceMappingURL=extractedKnowledge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractedKnowledge.d.ts","sourceRoot":"","sources":["../../src/types/extractedKnowledge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Knowledge Extraction Types for cursor-recursive-rag
3
+ *
4
+ * These types define structured knowledge extracted from conversations using LLM.
5
+ * Includes solutions, patterns, decisions, standards, and preferences.
6
+ */
7
+ /**
8
+ * Default extraction configuration
9
+ */
10
+ export const DEFAULT_EXTRACTION_CONFIG = {
11
+ extractSolutions: true,
12
+ extractPatterns: true,
13
+ extractDecisions: true,
14
+ extractStandards: true,
15
+ extractPreferences: true,
16
+ minConfidence: 0.6,
17
+ maxItemsPerType: 10,
18
+ };
19
+ /**
20
+ * Helper function to create empty extracted knowledge
21
+ */
22
+ export function createEmptyExtractedKnowledge(conversationId) {
23
+ return {
24
+ conversationId,
25
+ extractedAt: new Date(),
26
+ solutions: [],
27
+ patterns: [],
28
+ decisions: [],
29
+ standards: [],
30
+ preferences: [],
31
+ entities: [],
32
+ };
33
+ }
34
+ /**
35
+ * Helper to validate confidence score is within bounds
36
+ */
37
+ export function normalizeConfidence(confidence) {
38
+ return Math.max(0, Math.min(1, confidence));
39
+ }
40
+ /**
41
+ * Helper to filter items by minimum confidence
42
+ */
43
+ export function filterByConfidence(items, minConfidence) {
44
+ return items.filter(item => item.confidence >= minConfidence);
45
+ }
46
+ /**
47
+ * Count total extracted items
48
+ */
49
+ export function countExtractedItems(knowledge) {
50
+ return (knowledge.solutions.length +
51
+ knowledge.patterns.length +
52
+ knowledge.decisions.length +
53
+ knowledge.standards.length +
54
+ knowledge.preferences.length);
55
+ }
56
+ //# sourceMappingURL=extractedKnowledge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractedKnowledge.js","sourceRoot":"","sources":["../../src/types/extractedKnowledge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwIH;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAqB;IACzD,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,IAAI;IACrB,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,IAAI;IACtB,kBAAkB,EAAE,IAAI;IACxB,aAAa,EAAE,GAAG;IAClB,eAAe,EAAE,EAAE;CACpB,CAAC;AA0FF;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAAC,cAAsB;IAClE,OAAO;QACL,cAAc;QACd,WAAW,EAAE,IAAI,IAAI,EAAE;QACvB,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,EAAE;QACb,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB;IACpD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAU,EACV,aAAqB;IAErB,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,aAAa,CAAC,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAA6B;IAC/D,OAAO,CACL,SAAS,CAAC,SAAS,CAAC,MAAM;QAC1B,SAAS,CAAC,QAAQ,CAAC,MAAM;QACzB,SAAS,CAAC,SAAS,CAAC,MAAM;QAC1B,SAAS,CAAC,SAAS,CAAC,MAAM;QAC1B,SAAS,CAAC,WAAW,CAAC,MAAM,CAC7B,CAAC;AACJ,CAAC"}
@@ -12,7 +12,7 @@ export interface VectorDocument {
12
12
  }
13
13
  export interface ProxyConfig {
14
14
  enabled: boolean;
15
- driver: 'packetstream' | 'smartproxy' | 'none';
15
+ driver: 'packetstream' | 'decodo' | 'smartproxy' | 'none';
16
16
  host?: string;
17
17
  port?: number;
18
18
  username?: string;
@@ -39,7 +39,7 @@ export interface OpenSkillsConfig {
39
39
  skillPaths?: string[];
40
40
  }
41
41
  export interface RAGConfig {
42
- vectorStore: 'memory' | 'chroma' | 'qdrant' | 'redis' | 'vectorize';
42
+ vectorStore: 'memory' | 'chroma' | 'qdrant' | 'redis' | 'redis-stack' | 'vectorize';
43
43
  embeddings: 'xenova' | 'openai' | 'ollama';
44
44
  apiKeys?: {
45
45
  openai?: string;
@@ -60,6 +60,7 @@ export interface RAGConfig {
60
60
  chromaUrl?: string;
61
61
  redisUrl?: string;
62
62
  vectorDim?: number;
63
+ useRediSearch?: boolean;
63
64
  [key: string]: any;
64
65
  };
65
66
  proxy?: ProxyConfig;
@@ -90,4 +91,10 @@ export interface RecursiveQueryResult {
90
91
  iterations: number;
91
92
  subQuestions: string[];
92
93
  }
94
+ export * from './memory.js';
95
+ export * from './extractedKnowledge.js';
96
+ export * from './relationships.js';
97
+ export * from './categories.js';
98
+ export * from './llmProvider.js';
99
+ export * from './rulesOptimizer.js';
93
100
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,13 @@
1
- export {};
1
+ // Re-export memory types
2
+ export * from './memory.js';
3
+ // Re-export knowledge extraction types
4
+ export * from './extractedKnowledge.js';
5
+ // Re-export relationship types
6
+ export * from './relationships.js';
7
+ // Re-export category types
8
+ export * from './categories.js';
9
+ // Re-export LLM provider types
10
+ export * from './llmProvider.js';
11
+ // Re-export rules optimizer types
12
+ export * from './rulesOptimizer.js';
2
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAwGA,yBAAyB;AACzB,cAAc,aAAa,CAAC;AAE5B,uCAAuC;AACvC,cAAc,yBAAyB,CAAC;AAExC,+BAA+B;AAC/B,cAAc,oBAAoB,CAAC;AAEnC,2BAA2B;AAC3B,cAAc,iBAAiB,CAAC;AAEhC,+BAA+B;AAC/B,cAAc,kBAAkB,CAAC;AAEjC,kCAAkC;AAClC,cAAc,qBAAqB,CAAC"}