solver-sdk 2.7.5 → 3.1.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 (197) hide show
  1. package/README.md +200 -368
  2. package/dist/cjs/api/chat-api/index.js +23 -49
  3. package/dist/cjs/api/chat-api/index.js.map +1 -1
  4. package/dist/cjs/api/chat-api/interfaces.js +1 -0
  5. package/dist/cjs/api/chat-api/interfaces.js.map +1 -1
  6. package/dist/cjs/api/context-api.js +6 -1
  7. package/dist/cjs/api/context-api.js.map +1 -1
  8. package/dist/cjs/api/models-api.js +43 -60
  9. package/dist/cjs/api/models-api.js.map +1 -1
  10. package/dist/cjs/api/projects-api.js +63 -293
  11. package/dist/cjs/api/projects-api.js.map +1 -1
  12. package/dist/cjs/api/search-api.js +131 -8
  13. package/dist/cjs/api/search-api.js.map +1 -1
  14. package/dist/cjs/code-solver-sdk.js +68 -322
  15. package/dist/cjs/code-solver-sdk.js.map +1 -1
  16. package/dist/cjs/index.js +3 -19
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/cjs/utils/logger.js +4 -4
  19. package/dist/cjs/utils/logger.js.map +1 -1
  20. package/dist/esm/api/chat-api/index.js +22 -48
  21. package/dist/esm/api/chat-api/index.js.map +1 -1
  22. package/dist/esm/api/chat-api/interfaces.js +1 -0
  23. package/dist/esm/api/chat-api/interfaces.js.map +1 -1
  24. package/dist/esm/api/context-api.js +6 -1
  25. package/dist/esm/api/context-api.js.map +1 -1
  26. package/dist/esm/api/models-api.js +43 -60
  27. package/dist/esm/api/models-api.js.map +1 -1
  28. package/dist/esm/api/projects-api.js +63 -293
  29. package/dist/esm/api/projects-api.js.map +1 -1
  30. package/dist/esm/api/search-api.js +131 -8
  31. package/dist/esm/api/search-api.js.map +1 -1
  32. package/dist/esm/code-solver-sdk.js +68 -322
  33. package/dist/esm/code-solver-sdk.js.map +1 -1
  34. package/dist/esm/index.js +2 -18
  35. package/dist/esm/index.js.map +1 -1
  36. package/dist/esm/utils/logger.js +3 -3
  37. package/dist/esm/utils/logger.js.map +1 -1
  38. package/dist/types/api/chat-api/index.d.ts +1 -13
  39. package/dist/types/api/chat-api/index.d.ts.map +1 -1
  40. package/dist/types/api/chat-api/interfaces.d.ts +6 -54
  41. package/dist/types/api/chat-api/interfaces.d.ts.map +1 -1
  42. package/dist/types/api/chat-api/models.d.ts +3 -26
  43. package/dist/types/api/chat-api/models.d.ts.map +1 -1
  44. package/dist/types/api/context-api.d.ts.map +1 -1
  45. package/dist/types/api/models-api.d.ts +31 -62
  46. package/dist/types/api/models-api.d.ts.map +1 -1
  47. package/dist/types/api/projects-api.d.ts +47 -126
  48. package/dist/types/api/projects-api.d.ts.map +1 -1
  49. package/dist/types/api/search-api.d.ts +147 -6
  50. package/dist/types/api/search-api.d.ts.map +1 -1
  51. package/dist/types/code-solver-sdk.d.ts +36 -86
  52. package/dist/types/code-solver-sdk.d.ts.map +1 -1
  53. package/dist/types/index.d.ts +1 -14
  54. package/dist/types/index.d.ts.map +1 -1
  55. package/dist/types/interfaces/sdk-options.d.ts +18 -66
  56. package/dist/types/interfaces/sdk-options.d.ts.map +1 -1
  57. package/dist/types/utils/logger.d.ts +3 -3
  58. package/dist/types/utils/logger.d.ts.map +1 -1
  59. package/docs/README.md +53 -37
  60. package/docs/VSCODE_INTEGRATION.md +208 -371
  61. package/docs/indexing/INDEXING.md +658 -335
  62. package/package.json +26 -23
  63. package/dist/cjs/api/agents-api.js +0 -94
  64. package/dist/cjs/api/agents-api.js.map +0 -1
  65. package/dist/cjs/api/chat-api/websocket-helpers.js +0 -211
  66. package/dist/cjs/api/chat-api/websocket-helpers.js.map +0 -1
  67. package/dist/cjs/api/dependencies-api.js +0 -286
  68. package/dist/cjs/api/dependencies-api.js.map +0 -1
  69. package/dist/cjs/constants/websocket-events.constants.js +0 -170
  70. package/dist/cjs/constants/websocket-events.constants.js.map +0 -1
  71. package/dist/cjs/constants/websocket-namespaces.constants.js +0 -22
  72. package/dist/cjs/constants/websocket-namespaces.constants.js.map +0 -1
  73. package/dist/cjs/interfaces/websocket/callbacks.interfaces.js +0 -3
  74. package/dist/cjs/interfaces/websocket/callbacks.interfaces.js.map +0 -1
  75. package/dist/cjs/interfaces/websocket/client-options.interfaces.js +0 -3
  76. package/dist/cjs/interfaces/websocket/client-options.interfaces.js.map +0 -1
  77. package/dist/cjs/interfaces/websocket/events.interfaces.js +0 -3
  78. package/dist/cjs/interfaces/websocket/events.interfaces.js.map +0 -1
  79. package/dist/cjs/interfaces/websocket/vscode-command.interfaces.js +0 -42
  80. package/dist/cjs/interfaces/websocket/vscode-command.interfaces.js.map +0 -1
  81. package/dist/cjs/simple-indexing-client.js +0 -138
  82. package/dist/cjs/simple-indexing-client.js.map +0 -1
  83. package/dist/cjs/utils/code-solver-websocket-client.js +0 -497
  84. package/dist/cjs/utils/code-solver-websocket-client.js.map +0 -1
  85. package/dist/cjs/utils/connection-state-manager.js +0 -133
  86. package/dist/cjs/utils/connection-state-manager.js.map +0 -1
  87. package/dist/cjs/utils/indexing-websocket-client.js +0 -107
  88. package/dist/cjs/utils/indexing-websocket-client.js.map +0 -1
  89. package/dist/cjs/utils/session-manager.js +0 -114
  90. package/dist/cjs/utils/session-manager.js.map +0 -1
  91. package/dist/cjs/utils/simple-connection-monitor.js +0 -52
  92. package/dist/cjs/utils/simple-connection-monitor.js.map +0 -1
  93. package/dist/cjs/utils/websocket-client.js +0 -638
  94. package/dist/cjs/utils/websocket-client.js.map +0 -1
  95. package/dist/cjs/ws/base-ws-client.js +0 -280
  96. package/dist/cjs/ws/base-ws-client.js.map +0 -1
  97. package/dist/cjs/ws/dependencies-ws-client.js +0 -11
  98. package/dist/cjs/ws/dependencies-ws-client.js.map +0 -1
  99. package/dist/cjs/ws/file-editing-ws-client.js +0 -162
  100. package/dist/cjs/ws/file-editing-ws-client.js.map +0 -1
  101. package/dist/cjs/ws/filesystem-ws-client.js +0 -305
  102. package/dist/cjs/ws/filesystem-ws-client.js.map +0 -1
  103. package/dist/cjs/ws/indexing-ws-client.js +0 -275
  104. package/dist/cjs/ws/indexing-ws-client.js.map +0 -1
  105. package/dist/cjs/ws/notifications-ws-client.js +0 -12
  106. package/dist/cjs/ws/notifications-ws-client.js.map +0 -1
  107. package/dist/esm/api/agents-api.js +0 -90
  108. package/dist/esm/api/agents-api.js.map +0 -1
  109. package/dist/esm/api/chat-api/websocket-helpers.js +0 -205
  110. package/dist/esm/api/chat-api/websocket-helpers.js.map +0 -1
  111. package/dist/esm/api/dependencies-api.js +0 -282
  112. package/dist/esm/api/dependencies-api.js.map +0 -1
  113. package/dist/esm/constants/websocket-events.constants.js +0 -167
  114. package/dist/esm/constants/websocket-events.constants.js.map +0 -1
  115. package/dist/esm/constants/websocket-namespaces.constants.js +0 -19
  116. package/dist/esm/constants/websocket-namespaces.constants.js.map +0 -1
  117. package/dist/esm/interfaces/websocket/callbacks.interfaces.js +0 -2
  118. package/dist/esm/interfaces/websocket/callbacks.interfaces.js.map +0 -1
  119. package/dist/esm/interfaces/websocket/client-options.interfaces.js +0 -2
  120. package/dist/esm/interfaces/websocket/client-options.interfaces.js.map +0 -1
  121. package/dist/esm/interfaces/websocket/events.interfaces.js +0 -2
  122. package/dist/esm/interfaces/websocket/events.interfaces.js.map +0 -1
  123. package/dist/esm/interfaces/websocket/vscode-command.interfaces.js +0 -39
  124. package/dist/esm/interfaces/websocket/vscode-command.interfaces.js.map +0 -1
  125. package/dist/esm/simple-indexing-client.js +0 -134
  126. package/dist/esm/simple-indexing-client.js.map +0 -1
  127. package/dist/esm/utils/code-solver-websocket-client.js +0 -492
  128. package/dist/esm/utils/code-solver-websocket-client.js.map +0 -1
  129. package/dist/esm/utils/connection-state-manager.js +0 -129
  130. package/dist/esm/utils/connection-state-manager.js.map +0 -1
  131. package/dist/esm/utils/indexing-websocket-client.js +0 -103
  132. package/dist/esm/utils/indexing-websocket-client.js.map +0 -1
  133. package/dist/esm/utils/session-manager.js +0 -109
  134. package/dist/esm/utils/session-manager.js.map +0 -1
  135. package/dist/esm/utils/simple-connection-monitor.js +0 -48
  136. package/dist/esm/utils/simple-connection-monitor.js.map +0 -1
  137. package/dist/esm/utils/websocket-client.js +0 -634
  138. package/dist/esm/utils/websocket-client.js.map +0 -1
  139. package/dist/esm/ws/base-ws-client.js +0 -276
  140. package/dist/esm/ws/base-ws-client.js.map +0 -1
  141. package/dist/esm/ws/dependencies-ws-client.js +0 -7
  142. package/dist/esm/ws/dependencies-ws-client.js.map +0 -1
  143. package/dist/esm/ws/file-editing-ws-client.js +0 -158
  144. package/dist/esm/ws/file-editing-ws-client.js.map +0 -1
  145. package/dist/esm/ws/filesystem-ws-client.js +0 -301
  146. package/dist/esm/ws/filesystem-ws-client.js.map +0 -1
  147. package/dist/esm/ws/indexing-ws-client.js +0 -271
  148. package/dist/esm/ws/indexing-ws-client.js.map +0 -1
  149. package/dist/esm/ws/notifications-ws-client.js +0 -8
  150. package/dist/esm/ws/notifications-ws-client.js.map +0 -1
  151. package/dist/types/api/agents-api.d.ts +0 -141
  152. package/dist/types/api/agents-api.d.ts.map +0 -1
  153. package/dist/types/api/chat-api/websocket-helpers.d.ts +0 -40
  154. package/dist/types/api/chat-api/websocket-helpers.d.ts.map +0 -1
  155. package/dist/types/api/dependencies-api.d.ts +0 -109
  156. package/dist/types/api/dependencies-api.d.ts.map +0 -1
  157. package/dist/types/constants/websocket-events.constants.d.ts +0 -144
  158. package/dist/types/constants/websocket-events.constants.d.ts.map +0 -1
  159. package/dist/types/constants/websocket-namespaces.constants.d.ts +0 -17
  160. package/dist/types/constants/websocket-namespaces.constants.d.ts.map +0 -1
  161. package/dist/types/interfaces/websocket/callbacks.interfaces.d.ts +0 -30
  162. package/dist/types/interfaces/websocket/callbacks.interfaces.d.ts.map +0 -1
  163. package/dist/types/interfaces/websocket/client-options.interfaces.d.ts +0 -51
  164. package/dist/types/interfaces/websocket/client-options.interfaces.d.ts.map +0 -1
  165. package/dist/types/interfaces/websocket/events.interfaces.d.ts +0 -165
  166. package/dist/types/interfaces/websocket/events.interfaces.d.ts.map +0 -1
  167. package/dist/types/interfaces/websocket/vscode-command.interfaces.d.ts +0 -56
  168. package/dist/types/interfaces/websocket/vscode-command.interfaces.d.ts.map +0 -1
  169. package/dist/types/simple-indexing-client.d.ts +0 -66
  170. package/dist/types/simple-indexing-client.d.ts.map +0 -1
  171. package/dist/types/utils/code-solver-websocket-client.d.ts +0 -144
  172. package/dist/types/utils/code-solver-websocket-client.d.ts.map +0 -1
  173. package/dist/types/utils/connection-state-manager.d.ts +0 -94
  174. package/dist/types/utils/connection-state-manager.d.ts.map +0 -1
  175. package/dist/types/utils/indexing-websocket-client.d.ts +0 -123
  176. package/dist/types/utils/indexing-websocket-client.d.ts.map +0 -1
  177. package/dist/types/utils/session-manager.d.ts +0 -98
  178. package/dist/types/utils/session-manager.d.ts.map +0 -1
  179. package/dist/types/utils/simple-connection-monitor.d.ts +0 -26
  180. package/dist/types/utils/simple-connection-monitor.d.ts.map +0 -1
  181. package/dist/types/utils/websocket-client.d.ts +0 -233
  182. package/dist/types/utils/websocket-client.d.ts.map +0 -1
  183. package/dist/types/ws/base-ws-client.d.ts +0 -119
  184. package/dist/types/ws/base-ws-client.d.ts.map +0 -1
  185. package/dist/types/ws/dependencies-ws-client.d.ts +0 -6
  186. package/dist/types/ws/dependencies-ws-client.d.ts.map +0 -1
  187. package/dist/types/ws/file-editing-ws-client.d.ts +0 -85
  188. package/dist/types/ws/file-editing-ws-client.d.ts.map +0 -1
  189. package/dist/types/ws/filesystem-ws-client.d.ts +0 -201
  190. package/dist/types/ws/filesystem-ws-client.d.ts.map +0 -1
  191. package/dist/types/ws/indexing-ws-client.d.ts +0 -94
  192. package/dist/types/ws/indexing-ws-client.d.ts.map +0 -1
  193. package/dist/types/ws/notifications-ws-client.d.ts +0 -5
  194. package/dist/types/ws/notifications-ws-client.d.ts.map +0 -1
  195. package/docs/ARCHITECTURE.md +0 -268
  196. package/docs/QUICK_START.md +0 -126
  197. package/docs/WEBSOCKET.md +0 -472
@@ -14,21 +14,52 @@ class SearchApi {
14
14
  }
15
15
  /**
16
16
  * Выполняет поиск кода в проекте
17
- * @param {string} projectId Идентификатор проекта
18
- * @param {SearchCodeParams} params Параметры поиска
17
+ * @param {string | SearchCodeParams} projectIdOrParams Идентификатор проекта или объект с параметрами
18
+ * @param {SearchCodeParams} [params] Параметры поиска (если первый параметр - projectId)
19
19
  * @returns {Promise<SearchResults>} Результаты поиска
20
20
  */
21
- async searchCode(projectId, params) {
22
- return this.httpClient.post(`/api/v1/search/project/${projectId}`, params);
21
+ async searchCode(projectIdOrParams, params) {
22
+ let projectId;
23
+ let searchParams;
24
+ if (typeof projectIdOrParams === 'string') {
25
+ // Старый интерфейс: searchCode(projectId, params)
26
+ projectId = projectIdOrParams;
27
+ searchParams = params || { query: '' };
28
+ }
29
+ else {
30
+ // Новый интерфейс: searchCode({projectId, query, ...})
31
+ searchParams = projectIdOrParams;
32
+ projectId = searchParams.projectId || '';
33
+ if (!projectId) {
34
+ throw new Error('Project ID is required');
35
+ }
36
+ }
37
+ if (!searchParams.query) {
38
+ throw new Error('Search query is required');
39
+ }
40
+ // Нормализуем параметры - используем limit вместо maxResults
41
+ const normalizedParams = {
42
+ ...searchParams,
43
+ limit: searchParams.limit || searchParams.maxResults || 10
44
+ };
45
+ // Убираем projectId из тела запроса
46
+ const { projectId: _, ...bodyParams } = normalizedParams;
47
+ return this.httpClient.post(`/api/v1/search/project/${projectId}`, bodyParams);
23
48
  }
24
49
  /**
25
50
  * Выполняет семантический поиск кода в проекте
26
- * @param {string} projectId Идентификатор проекта
27
- * @param {SearchCodeParams} params Параметры поиска
51
+ * @param {string | SearchCodeParams} projectIdOrParams Идентификатор проекта или объект с параметрами
52
+ * @param {SearchCodeParams} [params] Параметры поиска (если первый параметр - projectId)
28
53
  * @returns {Promise<SearchResults>} Результаты поиска
29
54
  */
30
- async semanticSearch(projectId, params) {
31
- return this.httpClient.post(`/api/v1/search/project/${projectId}`, { ...params, semantic: true });
55
+ async semanticSearch(projectIdOrParams, params) {
56
+ // Переиспользуем логику searchCode, добавляя semantic: true
57
+ if (typeof projectIdOrParams === 'string') {
58
+ return this.searchCode(projectIdOrParams, { ...params, semantic: true });
59
+ }
60
+ else {
61
+ return this.searchCode({ ...projectIdOrParams, semantic: true });
62
+ }
32
63
  }
33
64
  /**
34
65
  * Получает популярные поисковые запросы
@@ -49,6 +80,98 @@ class SearchApi {
49
80
  async getQuerySuggestions(projectId, query, limit = 5) {
50
81
  return this.httpClient.get(`/api/projects/${projectId}/query-suggestions`, { query, limit });
51
82
  }
83
+ /**
84
+ * Выполняет поиск функций в проекте
85
+ * @param {string | SearchFunctionsParams} projectIdOrParams Идентификатор проекта или объект с параметрами
86
+ * @param {SearchFunctionsParams} [params] Параметры поиска (если первый параметр - projectId)
87
+ * @returns {Promise<FunctionSearchResults>} Результаты поиска функций
88
+ */
89
+ async searchFunctions(projectIdOrParams, params) {
90
+ let projectId;
91
+ let searchParams;
92
+ if (typeof projectIdOrParams === 'string') {
93
+ // Старый интерфейс: searchFunctions(projectId, params)
94
+ projectId = projectIdOrParams;
95
+ searchParams = params || { query: '' };
96
+ }
97
+ else {
98
+ // Новый интерфейс: searchFunctions({projectId, query, ...})
99
+ searchParams = projectIdOrParams;
100
+ projectId = searchParams.projectId || '';
101
+ if (!projectId) {
102
+ throw new Error('Project ID is required');
103
+ }
104
+ }
105
+ if (!searchParams.query) {
106
+ throw new Error('Search query is required');
107
+ }
108
+ // Убираем projectId из тела запроса
109
+ const { projectId: _, ...bodyParams } = searchParams;
110
+ return this.httpClient.post(`/api/v1/search/functions/project/${projectId}/search`, bodyParams);
111
+ }
112
+ /**
113
+ * Выполняет поиск функций в проекте (GET версия)
114
+ * @param {string} projectId Идентификатор проекта
115
+ * @param {string} query Поисковый запрос
116
+ * @param {object} [options] Дополнительные опции
117
+ * @returns {Promise<FunctionSearchResults>} Результаты поиска функций
118
+ */
119
+ async searchFunctionsGet(projectId, query, options = {}) {
120
+ if (!projectId) {
121
+ throw new Error('Project ID is required');
122
+ }
123
+ if (!query) {
124
+ throw new Error('Search query is required');
125
+ }
126
+ const queryParams = new URLSearchParams();
127
+ queryParams.append('query', query);
128
+ if (options.limit)
129
+ queryParams.append('limit', options.limit.toString());
130
+ if (options.minScore)
131
+ queryParams.append('minScore', options.minScore.toString());
132
+ if (options.elementType)
133
+ queryParams.append('elementType', options.elementType);
134
+ if (options.language)
135
+ queryParams.append('language', options.language);
136
+ return this.httpClient.get(`/api/v1/search/functions/project/${projectId}/search?${queryParams.toString()}`);
137
+ }
138
+ /**
139
+ * Получает статистику функций проекта
140
+ * @param {string} projectId Идентификатор проекта
141
+ * @returns {Promise<FunctionStats>} Статистика функций
142
+ */
143
+ async getFunctionStats(projectId) {
144
+ if (!projectId) {
145
+ throw new Error('Project ID is required');
146
+ }
147
+ return this.httpClient.get(`/api/v1/search/functions/project/${projectId}/stats`);
148
+ }
149
+ /**
150
+ * Запускает индексирование функций проекта
151
+ * @param {string} projectId Идентификатор проекта
152
+ * @returns {Promise<object>} Результат индексирования
153
+ */
154
+ async indexProjectFunctions(projectId) {
155
+ if (!projectId) {
156
+ throw new Error('Project ID is required');
157
+ }
158
+ return this.httpClient.post(`/api/v1/search/functions/project/${projectId}/index`, {});
159
+ }
160
+ /**
161
+ * Переиндексирует функции файла
162
+ * @param {string} projectId Идентификатор проекта
163
+ * @param {string} fileId Идентификатор файла
164
+ * @returns {Promise<object>} Результат переиндексирования
165
+ */
166
+ async reindexFileFunctions(projectId, fileId) {
167
+ if (!projectId) {
168
+ throw new Error('Project ID is required');
169
+ }
170
+ if (!fileId) {
171
+ throw new Error('File ID is required');
172
+ }
173
+ return this.httpClient.post(`/api/v1/search/functions/project/${projectId}/file/${fileId}/reindex`, {});
174
+ }
52
175
  }
53
176
  exports.SearchApi = SearchApi;
54
177
  //# sourceMappingURL=search-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-api.js","sourceRoot":"","sources":["../../../src/api/search-api.ts"],"names":[],"mappings":";;;AAoEA;;GAEG;AACH,MAAa,SAAS;IAIpB;;;OAGG;IACH,YAAY,UAAsB;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,UAAU,CAAC,SAAiB,EAAE,MAAwB;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,0BAA0B,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,MAAwB;QACrE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,0BAA0B,SAAS,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACpG,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,iBAAiB,CAAC,SAAiB,EAAE,QAAgB,EAAE;QAClE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,SAAS,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACtF,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,mBAAmB,CAC9B,SAAiB,EACjB,KAAa,EACb,QAAgB,CAAC;QAEjB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,SAAS,oBAAoB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/F,CAAC;CACF;AAxDD,8BAwDC"}
1
+ {"version":3,"file":"search-api.js","sourceRoot":"","sources":["../../../src/api/search-api.ts"],"names":[],"mappings":"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"}