solver-sdk 3.1.17 → 3.1.18
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/cjs/api/chat-api/index.js +24 -116
- package/dist/cjs/api/chat-api/index.js.map +1 -1
- package/dist/cjs/api/models-api.js +0 -24
- package/dist/cjs/api/models-api.js.map +1 -1
- package/dist/cjs/api/projects-api.js +39 -24
- package/dist/cjs/api/projects-api.js.map +1 -1
- package/dist/cjs/api/search-api.js +79 -135
- package/dist/cjs/api/search-api.js.map +1 -1
- package/dist/cjs/code-solver-sdk.js +3 -28
- package/dist/cjs/code-solver-sdk.js.map +1 -1
- package/dist/cjs/index.js +3 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils/thinking-block-manager.js +26 -34
- package/dist/cjs/utils/thinking-block-manager.js.map +1 -1
- package/dist/cjs/version.js +58 -0
- package/dist/cjs/version.js.map +1 -0
- package/dist/esm/api/chat-api/index.js +24 -116
- package/dist/esm/api/chat-api/index.js.map +1 -1
- package/dist/esm/api/models-api.js +0 -24
- package/dist/esm/api/models-api.js.map +1 -1
- package/dist/esm/api/projects-api.js +39 -24
- package/dist/esm/api/projects-api.js.map +1 -1
- package/dist/esm/api/search-api.js +79 -135
- package/dist/esm/api/search-api.js.map +1 -1
- package/dist/esm/code-solver-sdk.js +3 -28
- package/dist/esm/code-solver-sdk.js.map +1 -1
- package/dist/esm/index.js +2 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/thinking-block-manager.js +26 -34
- package/dist/esm/utils/thinking-block-manager.js.map +1 -1
- package/dist/esm/version.js +22 -0
- package/dist/esm/version.js.map +1 -0
- package/dist/types/api/chat-api/index.d.ts +0 -3
- package/dist/types/api/chat-api/index.d.ts.map +1 -1
- package/dist/types/api/chat-api/interfaces.d.ts +2 -2
- package/dist/types/api/chat-api/models.d.ts +6 -0
- package/dist/types/api/chat-api/models.d.ts.map +1 -1
- package/dist/types/api/models-api.d.ts +0 -15
- package/dist/types/api/models-api.d.ts.map +1 -1
- package/dist/types/api/projects-api.d.ts +13 -15
- package/dist/types/api/projects-api.d.ts.map +1 -1
- package/dist/types/api/search-api.d.ts +53 -185
- package/dist/types/api/search-api.d.ts.map +1 -1
- package/dist/types/code-solver-sdk.d.ts +0 -16
- package/dist/types/code-solver-sdk.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/interfaces/sdk-options.d.ts +0 -4
- package/dist/types/interfaces/sdk-options.d.ts.map +1 -1
- package/dist/types/utils/thinking-block-manager.d.ts +14 -17
- package/dist/types/utils/thinking-block-manager.d.ts.map +1 -1
- package/dist/types/version.d.ts +2 -0
- package/dist/types/version.d.ts.map +1 -0
- package/package.json +2 -3
- package/dist/cjs/api/code-modification-api.js +0 -60
- package/dist/cjs/api/code-modification-api.js.map +0 -1
- package/dist/cjs/api/context-api.js +0 -76
- package/dist/cjs/api/context-api.js.map +0 -1
- package/dist/esm/api/code-modification-api.js +0 -56
- package/dist/esm/api/code-modification-api.js.map +0 -1
- package/dist/esm/api/context-api.js +0 -72
- package/dist/esm/api/context-api.js.map +0 -1
- package/dist/types/api/code-modification-api.d.ts +0 -104
- package/dist/types/api/code-modification-api.d.ts.map +0 -1
- package/dist/types/api/context-api.d.ts +0 -100
- package/dist/types/api/context-api.d.ts.map +0 -1
|
@@ -2,175 +2,119 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SearchApi = void 0;
|
|
4
4
|
/**
|
|
5
|
-
* API для поиска кода
|
|
5
|
+
* API для поиска кода с использованием векторных эмбеддингов
|
|
6
6
|
*/
|
|
7
7
|
class SearchApi {
|
|
8
|
-
/**
|
|
9
|
-
* Создает новый экземпляр API для поиска кода
|
|
10
|
-
* @param {HttpClient} httpClient HTTP клиент
|
|
11
|
-
*/
|
|
12
8
|
constructor(httpClient) {
|
|
13
9
|
this.httpClient = httpClient;
|
|
14
10
|
}
|
|
15
11
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* @param {SearchCodeParams} [params] Параметры поиска (если первый параметр - projectId)
|
|
19
|
-
* @returns {Promise<SearchResults>} Результаты поиска
|
|
12
|
+
* Поиск кода в проекте
|
|
13
|
+
* Поддерживает гибкую сигнатуру: projectId отдельно или в параметрах
|
|
20
14
|
*/
|
|
21
15
|
async searchCode(projectIdOrParams, params) {
|
|
16
|
+
let finalParams;
|
|
22
17
|
let projectId;
|
|
23
|
-
|
|
18
|
+
// Гибкая сигнатура
|
|
24
19
|
if (typeof projectIdOrParams === 'string') {
|
|
25
|
-
// Старый интерфейс: searchCode(projectId, params)
|
|
26
20
|
projectId = projectIdOrParams;
|
|
27
|
-
|
|
21
|
+
finalParams = params || { query: '' };
|
|
28
22
|
}
|
|
29
23
|
else {
|
|
30
|
-
|
|
31
|
-
|
|
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');
|
|
24
|
+
finalParams = projectIdOrParams;
|
|
25
|
+
projectId = finalParams.projectId || '';
|
|
39
26
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
27
|
+
const limit = finalParams.limit || finalParams.maxResults || 10;
|
|
28
|
+
try {
|
|
29
|
+
const response = await this.httpClient.post(`/api/v1/projects/${projectId}/search`, {
|
|
30
|
+
query: finalParams.query,
|
|
31
|
+
limit: limit
|
|
32
|
+
});
|
|
33
|
+
if (!response.data) {
|
|
34
|
+
return [];
|
|
35
|
+
}
|
|
36
|
+
// Преобразуем результаты в единый формат
|
|
37
|
+
return response.data.map((result) => ({
|
|
38
|
+
id: result.id || `${result.filePath}_${Math.random()}`,
|
|
39
|
+
score: result.score || 0,
|
|
40
|
+
filePath: result.filePath || result.file || 'unknown',
|
|
41
|
+
fileName: result.fileName || result.file?.split('/').pop() || 'unknown',
|
|
42
|
+
language: result.language || 'unknown',
|
|
43
|
+
size: result.size || 0,
|
|
44
|
+
indexedAt: result.indexedAt,
|
|
45
|
+
// Поля для совместимости
|
|
46
|
+
content: result.content || '',
|
|
47
|
+
file: result.filePath || result.file,
|
|
48
|
+
line: result.line || 1
|
|
49
|
+
}));
|
|
59
50
|
}
|
|
60
|
-
|
|
61
|
-
|
|
51
|
+
catch (error) {
|
|
52
|
+
console.error('Search API error:', error);
|
|
53
|
+
return [];
|
|
62
54
|
}
|
|
63
55
|
}
|
|
64
56
|
/**
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* @param {number} [limit=10] Лимит результатов
|
|
68
|
-
* @returns {Promise<string[]>} Популярные поисковые запросы
|
|
69
|
-
*/
|
|
70
|
-
async getPopularQueries(projectId, limit = 10) {
|
|
71
|
-
return this.httpClient.get(`/api/projects/${projectId}/popular-queries`, { limit });
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Получает подсказки для автозаполнения поискового запроса
|
|
75
|
-
* @param {string} projectId Идентификатор проекта
|
|
76
|
-
* @param {string} query Начало поискового запроса
|
|
77
|
-
* @param {number} [limit=5] Лимит результатов
|
|
78
|
-
* @returns {Promise<string[]>} Подсказки для автозаполнения
|
|
79
|
-
*/
|
|
80
|
-
async getQuerySuggestions(projectId, query, limit = 5) {
|
|
81
|
-
return this.httpClient.get(`/api/projects/${projectId}/query-suggestions`, { query, limit });
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Выполняет поиск функций в проекте
|
|
85
|
-
* @param {string | SearchFunctionsParams} projectIdOrParams Идентификатор проекта или объект с параметрами
|
|
86
|
-
* @param {SearchFunctionsParams} [params] Параметры поиска (если первый параметр - projectId)
|
|
87
|
-
* @returns {Promise<FunctionSearchResults>} Результаты поиска функций
|
|
57
|
+
* Поиск функций в проекте
|
|
58
|
+
* Поддерживает гибкую сигнатуру: projectId отдельно или в параметрах
|
|
88
59
|
*/
|
|
89
60
|
async searchFunctions(projectIdOrParams, params) {
|
|
61
|
+
let finalParams;
|
|
90
62
|
let projectId;
|
|
91
|
-
|
|
63
|
+
// Гибкая сигнатура
|
|
92
64
|
if (typeof projectIdOrParams === 'string') {
|
|
93
|
-
// Старый интерфейс: searchFunctions(projectId, params)
|
|
94
65
|
projectId = projectIdOrParams;
|
|
95
|
-
|
|
66
|
+
finalParams = params || { query: '' };
|
|
96
67
|
}
|
|
97
68
|
else {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
projectId = searchParams.projectId || '';
|
|
101
|
-
if (!projectId) {
|
|
102
|
-
throw new Error('Project ID is required');
|
|
103
|
-
}
|
|
69
|
+
finalParams = projectIdOrParams;
|
|
70
|
+
projectId = finalParams.projectId || '';
|
|
104
71
|
}
|
|
105
|
-
|
|
106
|
-
|
|
72
|
+
const limit = finalParams.limit || 10;
|
|
73
|
+
const minScore = finalParams.minScore || 0.3;
|
|
74
|
+
try {
|
|
75
|
+
const response = await this.httpClient.post(`/api/v1/projects/${projectId}/search`, {
|
|
76
|
+
query: finalParams.query,
|
|
77
|
+
limit: limit,
|
|
78
|
+
minScore: minScore
|
|
79
|
+
});
|
|
80
|
+
return {
|
|
81
|
+
success: true,
|
|
82
|
+
resultsCount: response.data?.length || 0,
|
|
83
|
+
searchType: 'functions',
|
|
84
|
+
results: response.data || []
|
|
85
|
+
};
|
|
107
86
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
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');
|
|
87
|
+
catch (error) {
|
|
88
|
+
console.error('Function search API error:', error);
|
|
89
|
+
return {
|
|
90
|
+
success: false,
|
|
91
|
+
resultsCount: 0,
|
|
92
|
+
searchType: 'functions',
|
|
93
|
+
results: []
|
|
94
|
+
};
|
|
125
95
|
}
|
|
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
96
|
}
|
|
138
97
|
/**
|
|
139
|
-
*
|
|
140
|
-
*
|
|
141
|
-
* @returns {Promise<FunctionStats>} Статистика функций
|
|
98
|
+
* Получение статистики функций в проекте
|
|
99
|
+
* Пока используем поиск с большим лимитом для подсчета
|
|
142
100
|
*/
|
|
143
101
|
async getFunctionStats(projectId) {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
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');
|
|
102
|
+
try {
|
|
103
|
+
// Используем поиск по функциям для получения статистики
|
|
104
|
+
const response = await this.httpClient.post(`/api/v1/projects/${projectId}/search`, {
|
|
105
|
+
query: 'function class method',
|
|
106
|
+
limit: 1000
|
|
107
|
+
});
|
|
108
|
+
return {
|
|
109
|
+
stats: {
|
|
110
|
+
totalFunctions: response.data?.length || 0
|
|
111
|
+
}
|
|
112
|
+
};
|
|
169
113
|
}
|
|
170
|
-
|
|
171
|
-
|
|
114
|
+
catch (error) {
|
|
115
|
+
console.error('Function stats API error:', error);
|
|
116
|
+
return { stats: { totalFunctions: 0 } };
|
|
172
117
|
}
|
|
173
|
-
return this.httpClient.post(`/api/v1/search/functions/project/${projectId}/file/${fileId}/reindex`, {});
|
|
174
118
|
}
|
|
175
119
|
}
|
|
176
120
|
exports.SearchApi = SearchApi;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-api.js","sourceRoot":"","sources":["../../../src/api/search-api.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"search-api.js","sourceRoot":"","sources":["../../../src/api/search-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,13 +4,9 @@ exports.CodeSolverSDK = void 0;
|
|
|
4
4
|
const http_client_js_1 = require("./utils/http-client.js");
|
|
5
5
|
const projects_api_js_1 = require("./api/projects-api.js");
|
|
6
6
|
const search_api_js_1 = require("./api/search-api.js");
|
|
7
|
-
const context_api_js_1 = require("./api/context-api.js");
|
|
8
|
-
// import { ReasoningApi } from './api/reasoning-api.js'; // УДАЛЕНО - неработающий namespace
|
|
9
|
-
const code_modification_api_js_1 = require("./api/code-modification-api.js");
|
|
10
7
|
const index_js_1 = require("./api/chat-api/index.js");
|
|
11
8
|
const models_api_js_1 = require("./api/models-api.js");
|
|
12
|
-
|
|
13
|
-
const SDK_VERSION = '3.1.11';
|
|
9
|
+
const version_js_1 = require("./version.js");
|
|
14
10
|
/**
|
|
15
11
|
* Определение типа среды выполнения
|
|
16
12
|
* @returns 'browser' | 'node' | 'unknown'
|
|
@@ -123,25 +119,18 @@ class CodeSolverSDK {
|
|
|
123
119
|
// Инициализируем API клиенты
|
|
124
120
|
this._projects = new projects_api_js_1.ProjectsApi(this.httpClient);
|
|
125
121
|
this._search = new search_api_js_1.SearchApi(this.httpClient);
|
|
126
|
-
// this._reasoning = new ReasoningApi(this.httpClient, this._projects); // УДАЛЕНО - неработающий namespace
|
|
127
|
-
this._context = new context_api_js_1.ContextApi(this.httpClient, this._projects);
|
|
128
|
-
this._codeModification = new code_modification_api_js_1.CodeModificationApi(this.httpClient);
|
|
129
122
|
this._chat = new index_js_1.ChatApi(this.httpClient, {
|
|
130
123
|
debug: this._options.debug,
|
|
131
124
|
streamLogging: this._options.streamLogging
|
|
132
125
|
});
|
|
133
126
|
this._models = new models_api_js_1.ModelsApi(this.httpClient);
|
|
134
|
-
// if (typeof this._reasoning.setParent === 'function') { // УДАЛЕНО - неработающий namespace
|
|
135
|
-
// this._reasoning.setParent(this);
|
|
136
|
-
// }
|
|
137
|
-
// setParent удален - больше не нужен для HTTP-only API
|
|
138
127
|
}
|
|
139
128
|
/**
|
|
140
129
|
* Получает версию SDK
|
|
141
130
|
* @returns {string} Версия SDK
|
|
142
131
|
*/
|
|
143
132
|
static getVersion() {
|
|
144
|
-
return
|
|
133
|
+
return version_js_1.VERSION;
|
|
145
134
|
}
|
|
146
135
|
/**
|
|
147
136
|
* Обновляет опции SDK
|
|
@@ -205,13 +194,6 @@ class CodeSolverSDK {
|
|
|
205
194
|
}
|
|
206
195
|
return diagnosis;
|
|
207
196
|
}
|
|
208
|
-
/**
|
|
209
|
-
* Получает API для работы с контекстом
|
|
210
|
-
* @returns {ContextApi} API для работы с контекстом
|
|
211
|
-
*/
|
|
212
|
-
get context() {
|
|
213
|
-
return this._context;
|
|
214
|
-
}
|
|
215
197
|
/**
|
|
216
198
|
* Получает API для работы с проектами
|
|
217
199
|
* @returns {ProjectsApi} API для работы с проектами
|
|
@@ -226,13 +208,6 @@ class CodeSolverSDK {
|
|
|
226
208
|
get search() {
|
|
227
209
|
return this._search;
|
|
228
210
|
}
|
|
229
|
-
/**
|
|
230
|
-
* Получает API для модификации кода
|
|
231
|
-
* @returns {CodeModificationApi} API для модификации кода
|
|
232
|
-
*/
|
|
233
|
-
get codeModification() {
|
|
234
|
-
return this._codeModification;
|
|
235
|
-
}
|
|
236
211
|
/**
|
|
237
212
|
* Получает API для работы с чатом
|
|
238
213
|
* @returns {ChatApi} API для работы с чатом
|
|
@@ -287,7 +262,7 @@ class CodeSolverSDK {
|
|
|
287
262
|
*/
|
|
288
263
|
getInfo() {
|
|
289
264
|
return {
|
|
290
|
-
version:
|
|
265
|
+
version: version_js_1.VERSION,
|
|
291
266
|
environment: this.environment,
|
|
292
267
|
baseURL: this._options.baseURL,
|
|
293
268
|
hasApiKey: !!this._options.apiKey
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-solver-sdk.js","sourceRoot":"","sources":["../../src/code-solver-sdk.ts"],"names":[],"mappings":";;;AAAA,2DAAoD;AACpD,2DAAoD;AACpD,uDAAgD;AAChD,
|
|
1
|
+
{"version":3,"file":"code-solver-sdk.js","sourceRoot":"","sources":["../../src/code-solver-sdk.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -19,15 +19,14 @@ const code_solver_sdk_js_1 = require("./code-solver-sdk.js");
|
|
|
19
19
|
Object.defineProperty(exports, "CodeSolverSDK", { enumerable: true, get: function () { return code_solver_sdk_js_1.CodeSolverSDK; } });
|
|
20
20
|
const http_client_js_1 = require("./utils/http-client.js");
|
|
21
21
|
Object.defineProperty(exports, "HttpClient", { enumerable: true, get: function () { return http_client_js_1.HttpClient; } });
|
|
22
|
-
// Версия SDK
|
|
23
|
-
|
|
22
|
+
// Версия SDK (единственный источник истины - package.json)
|
|
23
|
+
var version_js_1 = require("./version.js");
|
|
24
|
+
Object.defineProperty(exports, "VERSION", { enumerable: true, get: function () { return version_js_1.VERSION; } });
|
|
24
25
|
// Экспортируем основные интерфейсы и типы
|
|
25
26
|
__exportStar(require("./interfaces/sdk-options.js"), exports);
|
|
26
27
|
// Экспортируем HTTP API клиенты
|
|
27
28
|
__exportStar(require("./api/projects-api.js"), exports);
|
|
28
29
|
__exportStar(require("./api/search-api.js"), exports);
|
|
29
|
-
__exportStar(require("./api/context-api.js"), exports);
|
|
30
|
-
__exportStar(require("./api/code-modification-api.js"), exports);
|
|
31
30
|
__exportStar(require("./api/chat-api/index.js"), exports);
|
|
32
31
|
__exportStar(require("./api/models-api.js"), exports);
|
|
33
32
|
// Экспортируем помощники для работы с сообщениями
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6DAAqD;AAQ5C,8FARA,kCAAa,OAQA;AANtB,2DAAoD;AAQ3C,2FARA,2BAAU,OAQA;AANnB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6DAAqD;AAQ5C,8FARA,kCAAa,OAQA;AANtB,2DAAoD;AAQ3C,2FARA,2BAAU,OAQA;AANnB,2DAA2D;AAC3D,2CAAuC;AAA9B,qGAAA,OAAO,OAAA;AAOhB,0CAA0C;AAC1C,8DAA4C;AAE5C,gCAAgC;AAChC,wDAAsC;AACtC,sDAAoC;AAEpC,0DAAwC;AACxC,sDAAoC;AAEpC,kDAAkD;AAClD,6DAA2C;AAE3C,iEAAiE;AACjE,iEAYoC;AAXlC,yHAAA,mBAAmB,OAAA;AACnB,6HAAA,uBAAuB,OAAA;AACvB,wHAAA,kBAAkB,OAAA;AAClB,2HAAA,qBAAqB,OAAA;AACrB,0HAAA,oBAAoB,OAAA;AACpB,6HAAA,uBAAuB,OAAA;AACvB,oIAAA,8BAA8B,OAAA;AAC9B,mIAAA,6BAA6B,OAAA;AAC7B,qHAAA,eAAe,OAAA;AACf,uHAAA,iBAAiB,OAAA;AACjB,yHAAA,mBAAmB,OAAA;AAGrB,uBAAuB;AACvB,kBAAe,kCAAa,CAAC"}
|
|
@@ -1,22 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Утилиты для работы с thinking блоками в SDK
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
8
|
-
* - Автоматическое добавление signature поля (пустая строка по умолчанию)
|
|
9
|
-
* - Чистая типизированная архитектура БЕЗ LEGACY
|
|
5
|
+
* ✅ СОГЛАСНО ТРЕБОВАНИЯМ ANTHROPIC API:
|
|
6
|
+
* - signature передается как есть от API
|
|
7
|
+
* - НЕ модифицируем thinking блоки
|
|
10
8
|
*/
|
|
11
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
10
|
exports.ThinkingBlockManager = void 0;
|
|
11
|
+
/**
|
|
12
|
+
* Менеджер thinking блоков для клиентской стороны
|
|
13
|
+
*/
|
|
13
14
|
class ThinkingBlockManager {
|
|
14
15
|
/**
|
|
15
16
|
* Валидирует thinking блок согласно требованиям Claude API
|
|
16
|
-
*
|
|
17
|
-
* ПО ЭТАЛОННОМУ ПРОЕКТУ android_sprint_PR_analyzer:
|
|
18
|
-
* - "each thinking block must contain thinking" - поле thinking НЕ пустое
|
|
19
|
-
* - signature ВСЕГДА присутствует (пустая строка если не задана)
|
|
20
17
|
*/
|
|
21
18
|
static validateAndFixThinkingBlock(block) {
|
|
22
19
|
if (!this.isThinkingBlockType(block)) {
|
|
@@ -33,33 +30,31 @@ class ThinkingBlockManager {
|
|
|
33
30
|
reason: 'Пустое содержимое thinking'
|
|
34
31
|
};
|
|
35
32
|
}
|
|
36
|
-
// Минимальная длина мышления
|
|
33
|
+
// Минимальная длина мышления
|
|
37
34
|
if (thinkingContent.trim().length < 10) {
|
|
38
35
|
return {
|
|
39
36
|
isValid: false,
|
|
40
37
|
reason: `Слишком короткое содержимое thinking (${thinkingContent.trim().length} символов)`
|
|
41
38
|
};
|
|
42
39
|
}
|
|
43
|
-
// ✅
|
|
40
|
+
// ✅ ДОКУМЕНТАЦИЯ: "передавать все обратно так, как вы получили"
|
|
44
41
|
const fixedBlock = {
|
|
45
42
|
type: 'thinking',
|
|
46
43
|
thinking: thinkingContent,
|
|
47
|
-
signature
|
|
44
|
+
// НЕ модифицируем signature - передаем КАК ЕСТЬ если есть
|
|
45
|
+
...(block.hasOwnProperty('signature') ? { signature: block.signature } : {})
|
|
48
46
|
};
|
|
49
|
-
console.debug(`✅ Валидный thinking блок: ${thinkingContent.length} символов`);
|
|
50
47
|
return {
|
|
51
48
|
isValid: true,
|
|
52
49
|
fixedBlock
|
|
53
50
|
};
|
|
54
51
|
}
|
|
55
52
|
/**
|
|
56
|
-
* Обеспечивает наличие signature поля
|
|
53
|
+
* Обеспечивает наличие signature поля (НЕ используется - оставлено для совместимости)
|
|
57
54
|
*/
|
|
58
55
|
static ensureSignatureField(signature) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
return ''; // Пустая signature как в эталонном проекте android_sprint_PR_analyzer
|
|
56
|
+
// УДАЛЕНО: Больше не проверяем signature
|
|
57
|
+
return signature || '';
|
|
63
58
|
}
|
|
64
59
|
/**
|
|
65
60
|
* Проверяет что блок имеет тип thinking
|
|
@@ -79,16 +74,15 @@ class ThinkingBlockManager {
|
|
|
79
74
|
const validBlocks = [];
|
|
80
75
|
for (const block of content) {
|
|
81
76
|
if (this.isThinkingBlockType(block)) {
|
|
77
|
+
// ✅ ИСПРАВЛЕНО: Передаем все thinking блоки как есть
|
|
82
78
|
const result = this.validateAndFixThinkingBlock(block);
|
|
83
79
|
if (result.isValid && result.fixedBlock) {
|
|
84
80
|
validBlocks.push(result.fixedBlock);
|
|
85
|
-
|
|
86
|
-
fixedCount++;
|
|
87
|
-
}
|
|
81
|
+
fixedCount++;
|
|
88
82
|
}
|
|
89
83
|
else {
|
|
90
84
|
invalidCount++;
|
|
91
|
-
console.warn(
|
|
85
|
+
console.warn(`[INVALID] Пропущен thinking блок: ${result.reason}`);
|
|
92
86
|
}
|
|
93
87
|
}
|
|
94
88
|
else {
|
|
@@ -96,12 +90,6 @@ class ThinkingBlockManager {
|
|
|
96
90
|
validBlocks.push(block);
|
|
97
91
|
}
|
|
98
92
|
}
|
|
99
|
-
if (fixedCount > 0) {
|
|
100
|
-
console.log(`🔧 [FIXED] Исправлено thinking блоков: ${fixedCount}`);
|
|
101
|
-
}
|
|
102
|
-
if (invalidCount > 0) {
|
|
103
|
-
console.warn(`⚠️ [INVALID] Пропущено invalid thinking блоков: ${invalidCount}`);
|
|
104
|
-
}
|
|
105
93
|
return { validBlocks, fixedCount, invalidCount };
|
|
106
94
|
}
|
|
107
95
|
/**
|
|
@@ -111,7 +99,8 @@ class ThinkingBlockManager {
|
|
|
111
99
|
const validation = this.validateAndFixThinkingBlock({
|
|
112
100
|
type: 'thinking',
|
|
113
101
|
thinking,
|
|
114
|
-
signature
|
|
102
|
+
// Передаем signature как есть
|
|
103
|
+
...(signature !== undefined ? { signature } : {})
|
|
115
104
|
});
|
|
116
105
|
if (!validation.isValid || !validation.fixedBlock) {
|
|
117
106
|
throw new Error(`Невозможно создать thinking блок: ${validation.reason}`);
|
|
@@ -119,14 +108,17 @@ class ThinkingBlockManager {
|
|
|
119
108
|
return validation.fixedBlock;
|
|
120
109
|
}
|
|
121
110
|
/**
|
|
122
|
-
*
|
|
111
|
+
* Извлекает валидные thinking блоки из сообщения
|
|
123
112
|
*/
|
|
124
113
|
static extractValidThinkingBlocks(message) {
|
|
125
|
-
if (!message || !Array.isArray(message.content)) {
|
|
114
|
+
if (!message?.content || !Array.isArray(message.content)) {
|
|
126
115
|
return [];
|
|
127
116
|
}
|
|
128
|
-
|
|
129
|
-
|
|
117
|
+
return message.content
|
|
118
|
+
.filter((block) => this.isThinkingBlockType(block))
|
|
119
|
+
.map((block) => this.validateAndFixThinkingBlock(block))
|
|
120
|
+
.filter((result) => result.isValid)
|
|
121
|
+
.map((result) => result.fixedBlock);
|
|
130
122
|
}
|
|
131
123
|
}
|
|
132
124
|
exports.ThinkingBlockManager = ThinkingBlockManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thinking-block-manager.js","sourceRoot":"","sources":["../../../src/utils/thinking-block-manager.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"thinking-block-manager.js","sourceRoot":"","sources":["../../../src/utils/thinking-block-manager.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAcH;;GAEG;AACH,MAAa,oBAAoB;IAE/B;;OAEG;IACH,MAAM,CAAC,2BAA2B,CAAC,KAAU;QAC3C,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,iCAAiC;aAC1C,CAAC;QACJ,CAAC;QAED,2EAA2E;QAC3E,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC;QACvC,IAAI,CAAC,eAAe,IAAI,OAAO,eAAe,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;YACvF,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,4BAA4B;aACrC,CAAC;QACJ,CAAC;QAED,6BAA6B;QAC7B,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACvC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,yCAAyC,eAAe,CAAC,IAAI,EAAE,CAAC,MAAM,YAAY;aAC3F,CAAC;QACJ,CAAC;QAED,gEAAgE;QAChE,MAAM,UAAU,GAAkB;YAChC,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,eAAe;YACzB,0DAA0D;YAC1D,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7E,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,IAAI;YACb,UAAU;SACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,oBAAoB,CAAC,SAAc;QAChD,yCAAyC;QACzC,OAAO,SAAS,IAAI,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,mBAAmB,CAAC,KAAU;QAC3C,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;IACzE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,2BAA2B,CAAC,OAAc;QAK/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;QAC7D,CAAC;QAED,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,WAAW,GAAU,EAAE,CAAC;QAE9B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpC,qDAAqD;gBACrD,MAAM,MAAM,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;gBAEvD,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACxC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBACpC,UAAU,EAAE,CAAC;gBACf,CAAC;qBAAM,CAAC;oBACN,YAAY,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,qCAAqC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,sCAAsC;gBACtC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,QAAgB,EAAE,SAAkB;QAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,2BAA2B,CAAC;YAClD,IAAI,EAAE,UAAU;YAChB,QAAQ;YACR,8BAA8B;YAC9B,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,qCAAqC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,UAAU,CAAC,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,0BAA0B,CAAC,OAAY;QAC5C,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACzD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,OAAO,CAAC,OAAO;aACnB,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;aACvD,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;aAC5D,MAAM,CAAC,CAAC,MAAqC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;aACjE,GAAG,CAAC,CAAC,MAAqC,EAAE,EAAE,CAAC,MAAM,CAAC,UAAW,CAAC,CAAC;IACxE,CAAC;CACF;AAhID,oDAgIC"}
|