solver-sdk 1.6.9 → 1.7.1
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/README.md +1 -20
- package/dist/cjs/api/chat-api.js +66 -4
- package/dist/cjs/api/chat-api.js.map +1 -1
- package/dist/cjs/api/reasoning-api.js +62 -0
- package/dist/cjs/api/reasoning-api.js.map +1 -1
- package/dist/cjs/utils/code-solver-websocket-client.js +739 -48
- package/dist/cjs/utils/code-solver-websocket-client.js.map +1 -1
- package/dist/esm/api/chat-api.js +66 -4
- package/dist/esm/api/chat-api.js.map +1 -1
- package/dist/esm/api/reasoning-api.js +62 -0
- package/dist/esm/api/reasoning-api.js.map +1 -1
- package/dist/esm/utils/code-solver-websocket-client.js +739 -48
- package/dist/esm/utils/code-solver-websocket-client.js.map +1 -1
- package/dist/types/api/chat-api.d.ts +17 -3
- package/dist/types/api/chat-api.d.ts.map +1 -1
- package/dist/types/api/reasoning-api.d.ts +8 -0
- package/dist/types/api/reasoning-api.d.ts.map +1 -1
- package/dist/types/interfaces/sdk-options.d.ts +54 -0
- package/dist/types/interfaces/sdk-options.d.ts.map +1 -1
- package/dist/types/utils/code-solver-websocket-client.d.ts +231 -6
- package/dist/types/utils/code-solver-websocket-client.d.ts.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -14,6 +14,7 @@ SDK для интеграции с Code Solver Backend API. Поддержива
|
|
|
14
14
|
- Поддержка Server-Sent Events (SSE)
|
|
15
15
|
- Инкрементальная индексация отдельных файлов
|
|
16
16
|
- Обработка ошибок и повторные попытки
|
|
17
|
+
- Поддержка региональных эндпоинтов Anthropic API
|
|
17
18
|
- Полная документация API
|
|
18
19
|
|
|
19
20
|
## Установка
|
|
@@ -672,26 +673,6 @@ cd test
|
|
|
672
673
|
|
|
673
674
|
При использовании SDK в браузере и Node.js окружении могут быть различия в работе некоторых API, особенно WebSocket. Для Node.js рекомендуется использовать пакет `ws` и настроить соответствующие параметры в опциях SDK.
|
|
674
675
|
|
|
675
|
-
## Обновление до версии 1.6.1
|
|
676
|
-
|
|
677
|
-
В версии 1.6.1 исправлены критические проблемы с WebSocket соединениями:
|
|
678
|
-
|
|
679
|
-
1. Исправлена обработка callback-функций в WebSocket событиях.
|
|
680
|
-
2. Добавлена правильная передача параметра `namespace` в Socket.IO событиях.
|
|
681
|
-
3. Улучшено логирование для упрощения отладки проблем с соединением.
|
|
682
|
-
4. Добавлена обработка таймаутов при ожидании ответов от сервера.
|
|
683
|
-
|
|
684
|
-
### Как обновиться
|
|
685
|
-
|
|
686
|
-
```bash
|
|
687
|
-
npm update solver-sdk
|
|
688
|
-
```
|
|
689
|
-
|
|
690
|
-
или с указанием конкретной версии:
|
|
691
|
-
|
|
692
|
-
```bash
|
|
693
|
-
npm install solver-sdk@1.6.1
|
|
694
|
-
```
|
|
695
676
|
|
|
696
677
|
### Важные изменения
|
|
697
678
|
|
package/dist/cjs/api/chat-api.js
CHANGED
|
@@ -36,7 +36,8 @@ class ChatApi {
|
|
|
36
36
|
stopSequences: options?.stopSequences,
|
|
37
37
|
functions: options?.functions,
|
|
38
38
|
functionCall: options?.functionCall,
|
|
39
|
-
thinking: options?.thinking
|
|
39
|
+
thinking: options?.thinking,
|
|
40
|
+
region: options?.region
|
|
40
41
|
});
|
|
41
42
|
}
|
|
42
43
|
/**
|
|
@@ -63,16 +64,77 @@ class ChatApi {
|
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
66
|
/**
|
|
66
|
-
* Отправляет
|
|
67
|
+
* Отправляет сообщение в чат и получает ответ от модели
|
|
68
|
+
* с автоматическим переключением между регионами при ошибках перегрузки
|
|
69
|
+
* @param {ChatMessage[]} messages Массив сообщений для отправки
|
|
70
|
+
* @param {ChatOptions} [options] Дополнительные параметры
|
|
71
|
+
* @returns {Promise<ChatResponse>} Ответ модели
|
|
72
|
+
*/
|
|
73
|
+
async chatWithRegionFailover(messages, options) {
|
|
74
|
+
// Список всех доступных регионов
|
|
75
|
+
const allRegions = ['us-east-1', 'eu-west-1', 'ap-southeast-2'];
|
|
76
|
+
// Начинаем с региона из параметров, или первого в списке
|
|
77
|
+
let startRegionIndex = 0;
|
|
78
|
+
if (options?.region) {
|
|
79
|
+
const regionIndex = allRegions.indexOf(options.region);
|
|
80
|
+
if (regionIndex !== -1) {
|
|
81
|
+
startRegionIndex = regionIndex;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// Реорганизуем массив, чтобы начать с указанного региона
|
|
85
|
+
const regions = [
|
|
86
|
+
...allRegions.slice(startRegionIndex),
|
|
87
|
+
...allRegions.slice(0, startRegionIndex)
|
|
88
|
+
];
|
|
89
|
+
// Последняя ошибка, будет возвращена если все регионы недоступны
|
|
90
|
+
let lastError = null;
|
|
91
|
+
// Пробуем каждый регион по очереди
|
|
92
|
+
for (let i = 0; i < regions.length; i++) {
|
|
93
|
+
const region = regions[i];
|
|
94
|
+
try {
|
|
95
|
+
console.log(`Попытка запроса к Anthropic API в регионе ${region}`);
|
|
96
|
+
// Копируем опции и устанавливаем текущий регион
|
|
97
|
+
const regionOptions = {
|
|
98
|
+
...options,
|
|
99
|
+
region
|
|
100
|
+
};
|
|
101
|
+
// Отправляем запрос с конкретным регионом
|
|
102
|
+
return await this.chat(messages, regionOptions);
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
lastError = error;
|
|
106
|
+
// Проверяем, является ли ошибка ошибкой перегрузки (код 529)
|
|
107
|
+
const isOverloadError = error.status === 529 ||
|
|
108
|
+
error.code === 529 ||
|
|
109
|
+
(error.response?.status === 529) ||
|
|
110
|
+
(error.message && error.message.includes('overloaded')) ||
|
|
111
|
+
(error.error?.type === 'overloaded_error');
|
|
112
|
+
if (isOverloadError) {
|
|
113
|
+
console.warn(`Регион ${region} перегружен, пробуем следующий регион`);
|
|
114
|
+
// Продолжаем цикл и пробуем следующий регион
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
// Если ошибка не связана с перегрузкой, прекращаем попытки
|
|
119
|
+
console.error(`Ошибка в регионе ${region}, не связанная с перегрузкой:`, error);
|
|
120
|
+
throw error;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
// Если мы здесь, значит все регионы перегружены
|
|
125
|
+
throw lastError || new Error('Все регионы Anthropic API перегружены, попробуйте позже');
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Отправляет одиночный запрос к модели с автоматическим переключением регионов
|
|
67
129
|
* @param {string} prompt Запрос к модели
|
|
68
130
|
* @param {ChatOptions} [options] Дополнительные параметры
|
|
69
131
|
* @returns {Promise<string>} Текстовый ответ модели
|
|
70
132
|
*/
|
|
71
|
-
async
|
|
133
|
+
async sendPromptWithRegionFailover(prompt, options) {
|
|
72
134
|
const messages = [
|
|
73
135
|
{ role: 'user', content: prompt }
|
|
74
136
|
];
|
|
75
|
-
const response = await this.
|
|
137
|
+
const response = await this.chatWithRegionFailover(messages, options);
|
|
76
138
|
if (response.choices && response.choices.length > 0) {
|
|
77
139
|
return response.choices[0].message.content;
|
|
78
140
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-api.js","sourceRoot":"","sources":["../../../src/api/chat-api.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"chat-api.js","sourceRoot":"","sources":["../../../src/api/chat-api.ts"],"names":[],"mappings":";;;AAsHA;;GAEG;AACH,MAAa,OAAO;IAIlB;;;OAGG;IACH,YAAY,UAAsB;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,IAAI,CAAC,QAAuB,EAAE,OAAqB;QAC9D,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,6DAA6D;QAC7D,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;QAED,+BAA+B;QAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE;YAC1C,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,QAAQ;YACjC,QAAQ;YACR,WAAW,EAAE,OAAO,EAAE,WAAW;YACjC,SAAS,EAAE,OAAO,EAAE,SAAS;YAC7B,aAAa,EAAE,OAAO,EAAE,aAAa;YACrC,SAAS,EAAE,OAAO,EAAE,SAAS;YAC7B,YAAY,EAAE,OAAO,EAAE,YAAY;YACnC,QAAQ,EAAE,OAAO,EAAE,QAAQ;YAC3B,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,cAAc,CAAC,QAAuB,EAAE,OAAqB;QACxE,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,iBAAiB;QAC5B,IAAI,CAAC;YACH,uDAAuD;YACvD,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,sBAAsB,CAAC,QAAuB,EAAE,OAAqB;QAChF,iCAAiC;QACjC,MAAM,UAAU,GAAqD,CAAC,WAAW,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAElH,yDAAyD;QACzD,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACvD,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;gBACvB,gBAAgB,GAAG,WAAW,CAAC;YACjC,CAAC;QACH,CAAC;QAED,yDAAyD;QACzD,MAAM,OAAO,GAAG;YACd,GAAG,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC;YACrC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC;SACzC,CAAC;QAEF,iEAAiE;QACjE,IAAI,SAAS,GAAiB,IAAI,CAAC;QAEnC,mCAAmC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,6CAA6C,MAAM,EAAE,CAAC,CAAC;gBAEnE,gDAAgD;gBAChD,MAAM,aAAa,GAAG;oBACpB,GAAG,OAAO;oBACV,MAAM;iBACP,CAAC;gBAEF,0CAA0C;gBAC1C,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,SAAS,GAAG,KAAK,CAAC;gBAElB,6DAA6D;gBAC7D,MAAM,eAAe,GACnB,KAAK,CAAC,MAAM,KAAK,GAAG;oBACpB,KAAK,CAAC,IAAI,KAAK,GAAG;oBAClB,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,CAAC;oBAChC,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;oBACvD,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,kBAAkB,CAAC,CAAC;gBAE7C,IAAI,eAAe,EAAE,CAAC;oBACpB,OAAO,CAAC,IAAI,CAAC,UAAU,MAAM,uCAAuC,CAAC,CAAC;oBACtE,6CAA6C;oBAC7C,SAAS;gBACX,CAAC;qBAAM,CAAC;oBACN,2DAA2D;oBAC3D,OAAO,CAAC,KAAK,CAAC,oBAAoB,MAAM,+BAA+B,EAAE,KAAK,CAAC,CAAC;oBAChF,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAED,gDAAgD;QAChD,MAAM,SAAS,IAAI,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC1F,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,4BAA4B,CAAC,MAAc,EAAE,OAAqB;QAC7E,MAAM,QAAQ,GAAkB;YAC9B,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;SAClC,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEtE,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAC7C,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,CAAC,UAAU,CAAC,QAAuB,EAAE,OAA2B;QAC3E,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,6DAA6D;QAC7D,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;QAED,IAAI,CAAC;YACH,4BAA4B;YAC5B,MAAM,MAAM,GAAG;gBACb,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,QAAQ;gBACjC,QAAQ;gBACR,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,YAAY,EAAE,OAAO,EAAE,YAAY;gBACnC,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,MAAM,EAAE,IAAI;aACb,CAAC;YAEF,+BAA+B;YAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC7C,GAAG,EAAE,qBAAqB;gBAC1B,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,QAAQ,EAAE,mBAAmB;oBAC7B,eAAe,EAAE,UAAU;iBAC5B;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;YAED,6BAA6B;YAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAElC,IAAI,iBAAiB,GAAG,KAAK,CAAC;YAC9B,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,iBAAiB,GAAG,EAAE,CAAC;YAE3B,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAE5C,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM;gBACR,CAAC;gBAED,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACpC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBAEnE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;wBAAE,SAAS;oBAExC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAClC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACtB,iBAAiB;wBACjB,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;4BACxB,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;wBAClC,CAAC;wBAED,MAAM;4BACJ,IAAI,EAAE,EAAE;4BACR,UAAU,EAAE,IAAI;4BAChB,eAAe,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;4BACzE,iBAAiB,EAAE,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;yBAChF,CAAC;wBAEF,OAAO;oBACT,CAAC;oBAED,IAAI,CAAC;wBACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAEpC,sCAAsC;wBACtC,IAAI,UAAU,CAAC,IAAI,KAAK,gBAAgB,IAAI,UAAU,CAAC,IAAI,KAAK,qBAAqB,IAAI,UAAU,CAAC,aAAa,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;4BACvI,iBAAiB,GAAG,IAAI,CAAC;4BAEzB,mCAAmC;4BACnC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;gCACrB,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;4BACtC,CAAC;4BAED,MAAM;gCACJ,IAAI,EAAE,kBAAkB;gCACxB,UAAU,EAAE,KAAK;gCACjB,UAAU,EAAE,IAAI;6BACjB,CAAC;wBACJ,CAAC;6BACI,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc,IAAI,UAAU,CAAC,IAAI,KAAK,oBAAoB,IAAI,iBAAiB,EAAE,CAAC;4BAC7G,iBAAiB,GAAG,KAAK,CAAC;4BAE1B,kCAAkC;4BAClC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;gCACrB,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;4BACpC,CAAC;4BAED,MAAM;gCACJ,IAAI,EAAE,gBAAgB;gCACtB,UAAU,EAAE,KAAK;gCACjB,UAAU,EAAE,IAAI;6BACjB,CAAC;wBACJ,CAAC;6BACI,IAAI,UAAU,CAAC,IAAI,KAAK,qBAAqB,IAAI,UAAU,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;4BAC3F,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC;4BAE1C,IAAI,iBAAiB,IAAI,UAAU,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gCAC9D,sCAAsC;gCACtC,eAAe,IAAI,IAAI,CAAC;gCAExB,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;oCACrB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gCACxB,CAAC;gCAED,MAAM;oCACJ,IAAI;oCACJ,UAAU,EAAE,KAAK;oCACjB,UAAU,EAAE,IAAI;iCACjB,CAAC;4BACJ,CAAC;iCAAM,CAAC;gCACN,0CAA0C;gCAC1C,WAAW,IAAI,IAAI,CAAC;gCAEpB,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;oCACrB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gCACxB,CAAC;gCAED,MAAM;oCACJ,IAAI;oCACJ,UAAU,EAAE,KAAK;oCACjB,UAAU,EAAE,KAAK;iCAClB,CAAC;4BACJ,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,mDAAmD;YACnD,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;gBACxB,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAClC,CAAC;YAED,MAAM;gBACJ,IAAI,EAAE,EAAE;gBACR,UAAU,EAAE,IAAI;gBAChB,eAAe,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;gBACzE,iBAAiB,EAAE,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;aAChF,CAAC;QAEJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;gBACrB,OAAO,CAAC,OAAO,CAAC,KAAc,CAAC,CAAC;YAClC,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,CAAC,YAAY,CAAC,MAAc,EAAE,OAA2B;QACpE,MAAM,QAAQ,GAAkB;YAC9B,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;SAClC,CAAC;QAEF,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;CACF;AAzVD,0BAyVC"}
|
|
@@ -43,6 +43,68 @@ class ReasoningApi {
|
|
|
43
43
|
async createReasoning(options) {
|
|
44
44
|
return this.httpClient.post('/api/v1/reasoning/create', options);
|
|
45
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Создает новое рассуждение с автоматическим переключением между регионами при ошибке перегрузки
|
|
48
|
+
* @param {ReasoningOptions} options Опции для рассуждения
|
|
49
|
+
* @returns {Promise<Reasoning>} Созданное рассуждение
|
|
50
|
+
*/
|
|
51
|
+
async createReasoningWithRegionFailover(options) {
|
|
52
|
+
// Список всех доступных регионов
|
|
53
|
+
const allRegions = ['us-east-1', 'eu-west-1', 'ap-southeast-2'];
|
|
54
|
+
// Начинаем с региона из параметров, или первого в списке
|
|
55
|
+
let startRegionIndex = 0;
|
|
56
|
+
if (options.options?.region) {
|
|
57
|
+
const regionIndex = allRegions.indexOf(options.options.region);
|
|
58
|
+
if (regionIndex !== -1) {
|
|
59
|
+
startRegionIndex = regionIndex;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// Реорганизуем массив, чтобы начать с указанного региона
|
|
63
|
+
const regions = [
|
|
64
|
+
...allRegions.slice(startRegionIndex),
|
|
65
|
+
...allRegions.slice(0, startRegionIndex)
|
|
66
|
+
];
|
|
67
|
+
// Последняя ошибка, будет возвращена если все регионы недоступны
|
|
68
|
+
let lastError = null;
|
|
69
|
+
// Пробуем каждый регион по очереди
|
|
70
|
+
for (let i = 0; i < regions.length; i++) {
|
|
71
|
+
const region = regions[i];
|
|
72
|
+
try {
|
|
73
|
+
console.log(`Попытка запроса рассуждения к Anthropic API в регионе ${region}`);
|
|
74
|
+
// Копируем опции и устанавливаем текущий регион
|
|
75
|
+
const regionOptions = {
|
|
76
|
+
...options,
|
|
77
|
+
options: {
|
|
78
|
+
...(options.options || {}),
|
|
79
|
+
region
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
// Отправляем запрос с конкретным регионом
|
|
83
|
+
return await this.createReasoning(regionOptions);
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
lastError = error;
|
|
87
|
+
// Проверяем, является ли ошибка ошибкой перегрузки (код 529)
|
|
88
|
+
const isOverloadError = error.status === 529 ||
|
|
89
|
+
error.code === 529 ||
|
|
90
|
+
(error.response?.status === 529) ||
|
|
91
|
+
(error.message && error.message.includes('overloaded')) ||
|
|
92
|
+
(error.error?.type === 'overloaded_error');
|
|
93
|
+
if (isOverloadError) {
|
|
94
|
+
console.warn(`Регион ${region} перегружен, пробуем следующий регион для рассуждения`);
|
|
95
|
+
// Продолжаем цикл и пробуем следующий регион
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
// Если ошибка не связана с перегрузкой, прекращаем попытки
|
|
100
|
+
console.error(`Ошибка в регионе ${region}, не связанная с перегрузкой:`, error);
|
|
101
|
+
throw error;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
// Если мы здесь, значит все регионы перегружены
|
|
106
|
+
throw lastError || new Error('Все регионы Anthropic API перегружены, попробуйте создать рассуждение позже');
|
|
107
|
+
}
|
|
46
108
|
/**
|
|
47
109
|
* Запускает рассуждение
|
|
48
110
|
* @param {string} reasoningId ID рассуждения
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reasoning-api.js","sourceRoot":"","sources":["../../../src/api/reasoning-api.ts"],"names":[],"mappings":";;;AAGA,8FAA8E;
|
|
1
|
+
{"version":3,"file":"reasoning-api.js","sourceRoot":"","sources":["../../../src/api/reasoning-api.ts"],"names":[],"mappings":"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"}
|