solver-sdk 2.0.2 → 2.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 (51) hide show
  1. package/dist/cjs/api/chat-api/index.js +205 -171
  2. package/dist/cjs/api/chat-api/index.js.map +1 -1
  3. package/dist/cjs/api/chat-api/models.js +1 -1
  4. package/dist/cjs/api/chat-api/stream-utils.js +139 -151
  5. package/dist/cjs/api/chat-api/stream-utils.js.map +1 -1
  6. package/dist/cjs/constants/websocket-events.constants.js +1 -1
  7. package/dist/cjs/constants/websocket-events.constants.js.map +1 -1
  8. package/dist/cjs/index.js +2 -0
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/utils/message-helpers.js +212 -0
  11. package/dist/cjs/utils/message-helpers.js.map +1 -0
  12. package/dist/cjs/ws/filesystem-ws-client.js +0 -10
  13. package/dist/cjs/ws/filesystem-ws-client.js.map +1 -1
  14. package/dist/esm/api/chat-api/index.js +207 -151
  15. package/dist/esm/api/chat-api/index.js.map +1 -1
  16. package/dist/esm/api/chat-api/models.js +1 -1
  17. package/dist/esm/api/chat-api/stream-utils.js +139 -151
  18. package/dist/esm/api/chat-api/stream-utils.js.map +1 -1
  19. package/dist/esm/constants/websocket-events.constants.js +1 -1
  20. package/dist/esm/constants/websocket-events.constants.js.map +1 -1
  21. package/dist/esm/index.js +2 -0
  22. package/dist/esm/index.js.map +1 -1
  23. package/dist/esm/utils/message-helpers.js +199 -0
  24. package/dist/esm/utils/message-helpers.js.map +1 -0
  25. package/dist/esm/ws/filesystem-ws-client.js +0 -10
  26. package/dist/esm/ws/filesystem-ws-client.js.map +1 -1
  27. package/dist/types/api/chat-api/index.d.ts +23 -8
  28. package/dist/types/api/chat-api/index.d.ts.map +1 -1
  29. package/dist/types/api/chat-api/interfaces.d.ts +125 -8
  30. package/dist/types/api/chat-api/interfaces.d.ts.map +1 -1
  31. package/dist/types/api/chat-api/models.d.ts +163 -43
  32. package/dist/types/api/chat-api/models.d.ts.map +1 -1
  33. package/dist/types/api/chat-api/stream-utils.d.ts +19 -16
  34. package/dist/types/api/chat-api/stream-utils.d.ts.map +1 -1
  35. package/dist/types/constants/websocket-events.constants.d.ts +2 -2
  36. package/dist/types/constants/websocket-events.constants.d.ts.map +1 -1
  37. package/dist/types/index.d.ts +1 -0
  38. package/dist/types/index.d.ts.map +1 -1
  39. package/dist/types/utils/message-helpers.d.ts +84 -0
  40. package/dist/types/utils/message-helpers.d.ts.map +1 -0
  41. package/dist/types/ws/filesystem-ws-client.d.ts +0 -2
  42. package/dist/types/ws/filesystem-ws-client.d.ts.map +1 -1
  43. package/docs/API_REFERENCE.md +38 -166
  44. package/docs/AUTHENTICATION.md +37 -59
  45. package/docs/ERROR_HANDLING.md +124 -191
  46. package/docs/INTEGRATION_EXAMPLES.md +38 -52
  47. package/docs/PING_PONG.md +79 -178
  48. package/docs/README.md +7 -3
  49. package/docs/WEBSOCKET.md +66 -37
  50. package/package.json +7 -2
  51. package/docs/advanced/PING_PONG.md +0 -212
@@ -1,192 +1,180 @@
1
1
  "use strict";
2
+ /**
3
+ * Утилиты для обработки потоковых данных от API чата
4
+ */
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.processStreamChunk = processStreamChunk;
4
7
  exports.handleStreamError = handleStreamError;
5
8
  /**
6
- * Обрабатывает чанк данных из потока SSE
9
+ * Обрабатывает строку данных из SSE потока
10
+ * @param line Строка данных из потока
11
+ * @param isInThinkingBlock Флаг нахождения в блоке мышления
12
+ * @param thinkingContent Накопленное содержимое мышления
13
+ * @param textContent Накопленное текстовое содержимое
14
+ * @param thinkingSignature Подпись блока мышления
15
+ * @param onToken Обработчик получения токена
16
+ * @returns Результат обработки
7
17
  */
8
18
  function processStreamChunk(line, isInThinkingBlock, thinkingContent, textContent, thinkingSignature, onToken) {
9
- // Проверяем формат строки
10
- if (!line.startsWith('data:')) {
11
- return {
12
- isInThinkingBlock,
13
- thinkingContent,
14
- textContent,
15
- thinkingSignature,
16
- isDone: false
17
- };
18
- }
19
- const data = line.slice(5).trim();
20
- // Проверяем завершение потока
21
- if (data === '[DONE]') {
22
- if (onToken) {
23
- onToken('');
19
+ try {
20
+ if (!line.startsWith('data: ')) {
21
+ return { isInThinkingBlock, thinkingContent, textContent, thinkingSignature, isDone: false };
24
22
  }
25
- return {
26
- isInThinkingBlock,
27
- thinkingContent,
28
- textContent,
29
- thinkingSignature,
30
- chunk: {
23
+ const data = line.slice(6).trim();
24
+ // Проверяем на завершение потока
25
+ if (data === '[DONE]') {
26
+ const chunk = {
27
+ type: 'message_stop',
31
28
  text: '',
32
29
  isComplete: true,
33
30
  thinkingContent: thinkingContent.length > 0 ? thinkingContent : undefined,
34
31
  thinkingSignature: thinkingSignature.length > 0 ? thinkingSignature : undefined
35
- },
36
- isDone: true
37
- };
38
- }
39
- try {
40
- const parsedData = JSON.parse(data);
41
- // Обрабатываем типы событий по актуальному API Anthropic
42
- if (parsedData.type === 'content_block_start' && parsedData.content_block?.type === 'thinking') {
43
- const newIsInThinkingBlock = true;
44
- if (onToken) {
45
- onToken('[THINKING_START]');
46
- }
32
+ };
47
33
  return {
48
- isInThinkingBlock: newIsInThinkingBlock,
34
+ isInThinkingBlock,
49
35
  thinkingContent,
50
36
  textContent,
51
37
  thinkingSignature,
52
- chunk: {
53
- text: '[THINKING_START]',
54
- isComplete: false,
55
- isThinking: true
56
- },
38
+ chunk,
39
+ isDone: true
40
+ };
41
+ }
42
+ // Пытаемся распарсить JSON
43
+ const jsonData = JSON.parse(data);
44
+ // Обрабатываем событие начала блока мышления
45
+ if (jsonData.type === 'thinking_start' ||
46
+ (jsonData.event === 'thinking_delta' && !isInThinkingBlock)) {
47
+ const chunk = {
48
+ type: 'content_block_start',
49
+ text: '',
50
+ isComplete: false,
51
+ isThinking: true
52
+ };
53
+ return {
54
+ isInThinkingBlock: true,
55
+ thinkingContent,
56
+ textContent,
57
+ thinkingSignature,
58
+ chunk,
57
59
  isDone: false
58
60
  };
59
61
  }
60
- else if (parsedData.type === 'content_block_stop' && isInThinkingBlock) {
61
- const newIsInThinkingBlock = false;
62
+ // Обрабатываем дельты мышления
63
+ if (jsonData.event === 'thinking_delta' && jsonData.thinking && isInThinkingBlock) {
64
+ const newThinkingContent = thinkingContent + jsonData.thinking;
65
+ const chunk = {
66
+ type: 'content_block_delta',
67
+ text: jsonData.thinking,
68
+ isComplete: false,
69
+ isThinking: true
70
+ };
71
+ // Вызываем onToken если передан
62
72
  if (onToken) {
63
- onToken('[THINKING_END]');
73
+ onToken(jsonData.thinking);
64
74
  }
65
75
  return {
66
- isInThinkingBlock: newIsInThinkingBlock,
67
- thinkingContent,
76
+ isInThinkingBlock: true,
77
+ thinkingContent: newThinkingContent,
68
78
  textContent,
69
79
  thinkingSignature,
70
- chunk: {
71
- text: '[THINKING_END]',
72
- isComplete: false,
73
- isThinking: true
74
- },
80
+ chunk,
75
81
  isDone: false
76
82
  };
77
83
  }
78
- else if (parsedData.type === 'content_block_delta') {
79
- // Получаем тип дельты из данных события
80
- const deltaType = parsedData.delta?.type;
81
- // Обрабатываем дельту в зависимости от типа
82
- if (deltaType === 'text_delta') {
83
- const text = parsedData.delta?.text || '';
84
- const newTextContent = textContent + text;
85
- if (onToken) {
86
- onToken(text);
87
- }
88
- return {
89
- isInThinkingBlock,
90
- thinkingContent,
91
- textContent: newTextContent,
92
- thinkingSignature,
93
- chunk: {
94
- text,
95
- isComplete: false,
96
- isThinking: false
97
- },
98
- isDone: false
99
- };
84
+ // Обрабатываем завершение мышления
85
+ if (jsonData.type === 'thinking_end' ||
86
+ (jsonData.event === 'thinking_signature' && isInThinkingBlock)) {
87
+ let signature = thinkingSignature;
88
+ if (jsonData.signature) {
89
+ signature = jsonData.signature;
100
90
  }
101
- else if (deltaType === 'thinking_delta') {
102
- const thinking = parsedData.delta?.thinking || '';
103
- const newThinkingContent = thinkingContent + thinking;
104
- if (onToken) {
105
- onToken(thinking);
106
- }
107
- return {
108
- isInThinkingBlock: true,
109
- thinkingContent: newThinkingContent,
110
- textContent,
111
- thinkingSignature,
112
- chunk: {
113
- text: thinking,
114
- isComplete: false,
115
- isThinking: true
116
- },
117
- isDone: false
118
- };
91
+ const chunk = {
92
+ type: 'content_block_delta',
93
+ text: jsonData.text || '',
94
+ isComplete: false,
95
+ isThinking: false
96
+ };
97
+ // Вызываем onToken если есть текст и передан обработчик
98
+ if (jsonData.text && onToken) {
99
+ onToken(jsonData.text);
119
100
  }
120
- else if (deltaType === 'signature_delta') {
121
- const signature = parsedData.delta?.signature || '';
122
- return {
123
- isInThinkingBlock,
124
- thinkingContent,
125
- textContent,
126
- thinkingSignature: signature,
127
- isDone: false
128
- };
101
+ return {
102
+ isInThinkingBlock: false,
103
+ thinkingContent,
104
+ textContent: textContent + (jsonData.text || ''),
105
+ thinkingSignature: signature,
106
+ chunk,
107
+ isDone: false
108
+ };
109
+ }
110
+ // Обрабатываем текстовые дельты
111
+ if (jsonData.event === 'text_delta' && jsonData.text) {
112
+ const newTextContent = textContent + jsonData.text;
113
+ const chunk = {
114
+ type: 'content_block_delta',
115
+ text: jsonData.text,
116
+ isComplete: false,
117
+ isThinking: true
118
+ };
119
+ // Вызываем onToken если передан
120
+ if (onToken) {
121
+ onToken(jsonData.text);
129
122
  }
130
- else if (deltaType === 'input_json_delta') {
131
- const jsonData = parsedData.delta?.input_json || '';
132
- if (onToken) {
133
- onToken(jsonData);
134
- }
135
- // Убираем свойство isToolUse, добавляем метаданные
136
- return {
137
- isInThinkingBlock,
138
- thinkingContent,
139
- textContent,
140
- thinkingSignature,
141
- chunk: {
142
- text: jsonData,
143
- isComplete: false,
144
- isThinking: false
145
- },
146
- isDone: false
147
- };
123
+ return {
124
+ isInThinkingBlock,
125
+ thinkingContent,
126
+ textContent: newTextContent,
127
+ thinkingSignature,
128
+ chunk,
129
+ isDone: false
130
+ };
131
+ }
132
+ // Обрабатываем обычные текстовые данные
133
+ if (jsonData.content || jsonData.text || jsonData.delta) {
134
+ const text = jsonData.content || jsonData.text || jsonData.delta;
135
+ const newTextContent = textContent + text;
136
+ const chunk = {
137
+ type: 'content_block_delta',
138
+ text: text,
139
+ isComplete: false,
140
+ isThinking: false
141
+ };
142
+ // Вызываем onToken если передан
143
+ if (onToken) {
144
+ onToken(text);
148
145
  }
146
+ return {
147
+ isInThinkingBlock,
148
+ thinkingContent,
149
+ textContent: newTextContent,
150
+ thinkingSignature,
151
+ chunk,
152
+ isDone: false
153
+ };
149
154
  }
150
- // Возвращаем без изменений, если тип события не обрабатывается
151
- return {
152
- isInThinkingBlock,
153
- thinkingContent,
154
- textContent,
155
- thinkingSignature,
156
- isDone: false
157
- };
155
+ // Если ничего не обработали, возвращаем исходное состояние
156
+ return { isInThinkingBlock, thinkingContent, textContent, thinkingSignature, isDone: false };
158
157
  }
159
- catch (e) {
160
- console.error('Ошибка при парсинге данных:', e);
161
- return {
162
- isInThinkingBlock,
163
- thinkingContent,
164
- textContent,
165
- thinkingSignature,
166
- isDone: false
167
- };
158
+ catch (error) {
159
+ console.warn('Ошибка обработки потокового чанка:', error);
160
+ return { isInThinkingBlock, thinkingContent, textContent, thinkingSignature, isDone: false };
168
161
  }
169
162
  }
170
163
  /**
171
- * Обрабатывает ошибку из потока
164
+ * Обрабатывает ошибки потоковой передачи
165
+ * @param error Ошибка
166
+ * @returns Обработанная ошибка
172
167
  */
173
168
  function handleStreamError(error) {
174
- // Проверяем наличие ошибки географических ограничений
175
- const errorObj = error;
176
- const isGeoRestriction = (errorObj.status === 403 || errorObj.code === 403) &&
177
- errorObj.message &&
178
- (errorObj.message.includes('ограничен в вашем регионе') ||
179
- errorObj.message.includes('Request not allowed') ||
180
- errorObj.message.includes('forbidden'));
181
- if (isGeoRestriction) {
182
- console.error('\n==============================================');
183
- console.error('⚠️ ОШИБКА ГЕОГРАФИЧЕСКОГО ОГРАНИЧЕНИЯ API ANTHROPIC');
184
- console.error('⚠️ Для работы с API Anthropic требуется VPN или прокси');
185
- console.error('⚠️ Anthropic API доступен только из определенных регионов');
186
- console.error('==============================================');
187
- // Обогащаем объект ошибки информацией о географических ограничениях
188
- errorObj.type = 'geo_restriction';
169
+ if (error instanceof Error) {
170
+ return error;
171
+ }
172
+ if (error && error.message) {
173
+ return new Error(error.message);
174
+ }
175
+ if (typeof error === 'string') {
176
+ return new Error(error);
189
177
  }
190
- return errorObj;
178
+ return new Error('Неизвестная ошибка потоковой передачи');
191
179
  }
192
180
  //# sourceMappingURL=stream-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream-utils.js","sourceRoot":"","sources":["../../../../src/api/chat-api/stream-utils.ts"],"names":[],"mappings":";;AAmBA,gDAgMC;AAKD,8CAuBC;AA/ND;;GAEG;AACH,SAAgB,kBAAkB,CAChC,IAAY,EACZ,iBAA0B,EAC1B,eAAuB,EACvB,WAAmB,EACnB,iBAAyB,EACzB,OAAiC;IASjC,0BAA0B;IAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,iBAAiB;YACjB,eAAe;YACf,WAAW;YACX,iBAAiB;YACjB,MAAM,EAAE,KAAK;SACd,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAClC,8BAA8B;IAC9B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,EAAE,CAAC,CAAC;QACd,CAAC;QAED,OAAO;YACL,iBAAiB;YACjB,eAAe;YACf,WAAW;YACX,iBAAiB;YACjB,KAAK,EAAE;gBACL,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;YACD,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEpC,yDAAyD;QACzD,IAAI,UAAU,CAAC,IAAI,KAAK,qBAAqB,IAAI,UAAU,CAAC,aAAa,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/F,MAAM,oBAAoB,GAAG,IAAI,CAAC;YAElC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAC9B,CAAC;YAED,OAAO;gBACL,iBAAiB,EAAE,oBAAoB;gBACvC,eAAe;gBACf,WAAW;gBACX,iBAAiB;gBACjB,KAAK,EAAE;oBACL,IAAI,EAAE,kBAAkB;oBACxB,UAAU,EAAE,KAAK;oBACjB,UAAU,EAAE,IAAI;iBACjB;gBACD,MAAM,EAAE,KAAK;aACd,CAAC;QACJ,CAAC;aACI,IAAI,UAAU,CAAC,IAAI,KAAK,oBAAoB,IAAI,iBAAiB,EAAE,CAAC;YACvE,MAAM,oBAAoB,GAAG,KAAK,CAAC;YAEnC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC5B,CAAC;YAED,OAAO;gBACL,iBAAiB,EAAE,oBAAoB;gBACvC,eAAe;gBACf,WAAW;gBACX,iBAAiB;gBACjB,KAAK,EAAE;oBACL,IAAI,EAAE,gBAAgB;oBACtB,UAAU,EAAE,KAAK;oBACjB,UAAU,EAAE,IAAI;iBACjB;gBACD,MAAM,EAAE,KAAK;aACd,CAAC;QACJ,CAAC;aACI,IAAI,UAAU,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YACnD,wCAAwC;YACxC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC;YAEzC,4CAA4C;YAC5C,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC;gBAC1C,MAAM,cAAc,GAAG,WAAW,GAAG,IAAI,CAAC;gBAE1C,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC;gBAED,OAAO;oBACL,iBAAiB;oBACjB,eAAe;oBACf,WAAW,EAAE,cAAc;oBAC3B,iBAAiB;oBACjB,KAAK,EAAE;wBACL,IAAI;wBACJ,UAAU,EAAE,KAAK;wBACjB,UAAU,EAAE,KAAK;qBAClB;oBACD,MAAM,EAAE,KAAK;iBACd,CAAC;YACJ,CAAC;iBACI,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC;gBAClD,MAAM,kBAAkB,GAAG,eAAe,GAAG,QAAQ,CAAC;gBAEtD,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACpB,CAAC;gBAED,OAAO;oBACL,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,kBAAkB;oBACnC,WAAW;oBACX,iBAAiB;oBACjB,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,KAAK;wBACjB,UAAU,EAAE,IAAI;qBACjB;oBACD,MAAM,EAAE,KAAK;iBACd,CAAC;YACJ,CAAC;iBACI,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;gBACzC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;gBAEpD,OAAO;oBACL,iBAAiB;oBACjB,eAAe;oBACf,WAAW;oBACX,iBAAiB,EAAE,SAAS;oBAC5B,MAAM,EAAE,KAAK;iBACd,CAAC;YACJ,CAAC;iBACI,IAAI,SAAS,KAAK,kBAAkB,EAAE,CAAC;gBAC1C,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,EAAE,UAAU,IAAI,EAAE,CAAC;gBAEpD,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACpB,CAAC;gBAED,mDAAmD;gBACnD,OAAO;oBACL,iBAAiB;oBACjB,eAAe;oBACf,WAAW;oBACX,iBAAiB;oBACjB,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,KAAK;wBACjB,UAAU,EAAE,KAAK;qBAClB;oBACD,MAAM,EAAE,KAAK;iBACd,CAAC;YACJ,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,OAAO;YACL,iBAAiB;YACjB,eAAe;YACf,WAAW;YACX,iBAAiB;YACjB,MAAM,EAAE,KAAK;SACd,CAAC;IAEJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC;QAChD,OAAO;YACL,iBAAiB;YACjB,eAAe;YACf,WAAW;YACX,iBAAiB;YACjB,MAAM,EAAE,KAAK;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,KAAU;IAC1C,sDAAsD;IACtD,MAAM,QAAQ,GAAG,KAAkE,CAAC;IAEpF,MAAM,gBAAgB,GACpB,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,KAAK,GAAG,CAAC;QAClD,QAAQ,CAAC,OAAO;QAChB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YACtD,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAChD,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IAE3C,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;QAClE,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACtE,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACzE,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC5E,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAEhE,oEAAoE;QACpE,QAAQ,CAAC,IAAI,GAAG,iBAAiB,CAAC;IACpC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"stream-utils.js","sourceRoot":"","sources":["../../../../src/api/chat-api/stream-utils.ts"],"names":[],"mappings":";AAAA;;GAEG;;AA0BH,gDAgLC;AAOD,8CAcC;AA/MD;;;;;;;;;GASG;AACH,SAAgB,kBAAkB,CAChC,IAAY,EACZ,iBAA0B,EAC1B,eAAuB,EACvB,WAAmB,EACnB,iBAAyB,EACzB,OAAiC;IAEjC,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC/F,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAElC,iCAAiC;QACjC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,KAAK,GAAoB;gBAC7B,IAAI,EAAE,cAAc;gBACpB,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;YAEF,OAAO;gBACL,iBAAiB;gBACjB,eAAe;gBACf,WAAW;gBACX,iBAAiB;gBACjB,KAAK;gBACL,MAAM,EAAE,IAAI;aACb,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElC,6CAA6C;QAC7C,IAAI,QAAQ,CAAC,IAAI,KAAK,gBAAgB;YAClC,CAAC,QAAQ,CAAC,KAAK,KAAK,gBAAgB,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAEhE,MAAM,KAAK,GAAoB;gBAC7B,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,EAAE;gBACR,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE,IAAI;aACjB,CAAC;YAEF,OAAO;gBACL,iBAAiB,EAAE,IAAI;gBACvB,eAAe;gBACf,WAAW;gBACX,iBAAiB;gBACjB,KAAK;gBACL,MAAM,EAAE,KAAK;aACd,CAAC;QACJ,CAAC;QAED,+BAA+B;QAC/B,IAAI,QAAQ,CAAC,KAAK,KAAK,gBAAgB,IAAI,QAAQ,CAAC,QAAQ,IAAI,iBAAiB,EAAE,CAAC;YAClF,MAAM,kBAAkB,GAAG,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC;YAE/D,MAAM,KAAK,GAAoB;gBAC7B,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,QAAQ,CAAC,QAAQ;gBACvB,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE,IAAI;aACjB,CAAC;YAEF,gCAAgC;YAChC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC;YAED,OAAO;gBACL,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,kBAAkB;gBACnC,WAAW;gBACX,iBAAiB;gBACjB,KAAK;gBACL,MAAM,EAAE,KAAK;aACd,CAAC;QACJ,CAAC;QAED,mCAAmC;QACnC,IAAI,QAAQ,CAAC,IAAI,KAAK,cAAc;YAChC,CAAC,QAAQ,CAAC,KAAK,KAAK,oBAAoB,IAAI,iBAAiB,CAAC,EAAE,CAAC;YAEnE,IAAI,SAAS,GAAG,iBAAiB,CAAC;YAClC,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACvB,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;YACjC,CAAC;YAED,MAAM,KAAK,GAAoB;gBAC7B,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE;gBACzB,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE,KAAK;aAClB,CAAC;YAEF,wDAAwD;YACxD,IAAI,QAAQ,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YAED,OAAO;gBACL,iBAAiB,EAAE,KAAK;gBACxB,eAAe;gBACf,WAAW,EAAE,WAAW,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;gBAChD,iBAAiB,EAAE,SAAS;gBAC5B,KAAK;gBACL,MAAM,EAAE,KAAK;aACd,CAAC;QACJ,CAAC;QAED,gCAAgC;QAChC,IAAI,QAAQ,CAAC,KAAK,KAAK,YAAY,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrD,MAAM,cAAc,GAAG,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;YAEnD,MAAM,KAAK,GAAoB;gBAC7B,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE,IAAI;aACjB,CAAC;YAEF,gCAAgC;YAChC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YAED,OAAO;gBACL,iBAAiB;gBACjB,eAAe;gBACf,WAAW,EAAE,cAAc;gBAC3B,iBAAiB;gBACjB,KAAK;gBACL,MAAM,EAAE,KAAK;aACd,CAAC;QACJ,CAAC;QAED,wCAAwC;QACxC,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC;YACjE,MAAM,cAAc,GAAG,WAAW,GAAG,IAAI,CAAC;YAE1C,MAAM,KAAK,GAAoB;gBAC7B,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE,KAAK;aAClB,CAAC;YAEF,gCAAgC;YAChC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;YAED,OAAO;gBACL,iBAAiB;gBACjB,eAAe;gBACf,WAAW,EAAE,cAAc;gBAC3B,iBAAiB;gBACjB,KAAK;gBACL,MAAM,EAAE,KAAK;aACd,CAAC;QACJ,CAAC;QAED,2DAA2D;QAC3D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAE/F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;QAC1D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC/F,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,KAAU;IAC1C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC3B,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;AAC5D,CAAC"}
@@ -96,7 +96,7 @@ var WebSocketEvents;
96
96
  // События буферизации
97
97
  WebSocketEvents["BATCH_UPDATE"] = "batch_update";
98
98
  WebSocketEvents["SEARCH_UPDATE"] = "search_update";
99
- // Общие события
99
+ // Общие события и стандартные события Socket.IO
100
100
  WebSocketEvents["CONNECTED"] = "connected";
101
101
  WebSocketEvents["PONG"] = "pong";
102
102
  // Базовое событие для широковещательной отправки
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-events.constants.js","sourceRoot":"","sources":["../../../src/constants/websocket-events.constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket-events.constants.js","sourceRoot":"","sources":["../../../src/constants/websocket-events.constants.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -45,6 +45,8 @@ __exportStar(require("./api/agents-api.js"), exports);
45
45
  __exportStar(require("./api/chat-api/index.js"), exports);
46
46
  __exportStar(require("./api/models-api.js"), exports);
47
47
  __exportStar(require("./api/dependencies-api.js"), exports);
48
+ // Экспортируем помощники для работы с сообщениями
49
+ __exportStar(require("./utils/message-helpers.js"), exports);
48
50
  // Экспорт по умолчанию
49
51
  exports.default = code_solver_sdk_js_1.CodeSolverSDK;
50
52
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6DAAqD;AAU5C,8FAVA,kCAAa,OAUA;AARtB,6FAA4E;AAUnE,gGAVA,+CAAe,OAUA;AATxB,2DAAoD;AAU3C,2FAVA,2BAAU,OAUA;AATnB,qEAA8D;AAUrD,gGAVA,qCAAe,OAUA;AARxB,aAAa;AACA,QAAA,OAAO,GAAG,OAAO,CAAC;AAS/B,0CAA0C;AAC1C,8DAA4C;AAC5C,iFAA+D;AAC/D,gFAA8D;AAC9D,4EAA0D;AAE1D,uCAAuC;AACvC,6DAA2C;AAC3C,8DAA4C;AAC5C,+DAA6C;AAC7C,iEAA+C;AAE/C,2BAA2B;AAC3B,wDAAsC;AACtC,sDAAoC;AACpC,yDAAuC;AACvC,uDAAqC;AACrC,iEAA+C;AAC/C,sDAAoC;AACpC,0DAAwC;AACxC,sDAAoC;AACpC,4DAA0C;AAE1C,uBAAuB;AACvB,kBAAe,kCAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6DAAqD;AAU5C,8FAVA,kCAAa,OAUA;AARtB,6FAA4E;AAUnE,gGAVA,+CAAe,OAUA;AATxB,2DAAoD;AAU3C,2FAVA,2BAAU,OAUA;AATnB,qEAA8D;AAUrD,gGAVA,qCAAe,OAUA;AARxB,aAAa;AACA,QAAA,OAAO,GAAG,OAAO,CAAC;AAS/B,0CAA0C;AAC1C,8DAA4C;AAC5C,iFAA+D;AAC/D,gFAA8D;AAC9D,4EAA0D;AAE1D,uCAAuC;AACvC,6DAA2C;AAC3C,8DAA4C;AAC5C,+DAA6C;AAC7C,iEAA+C;AAE/C,2BAA2B;AAC3B,wDAAsC;AACtC,sDAAoC;AACpC,yDAAuC;AACvC,uDAAqC;AACrC,iEAA+C;AAC/C,sDAAoC;AACpC,0DAAwC;AACxC,sDAAoC;AACpC,4DAA0C;AAE1C,kDAAkD;AAClD,6DAA2C;AAE3C,uBAAuB;AACvB,kBAAe,kCAAa,CAAC"}
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+ /**
3
+ * Помощники для создания complex content сообщений согласно Anthropic API
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createAssistantMessageWithThinking = createAssistantMessageWithThinking;
7
+ exports.createToolResultMessage = createToolResultMessage;
8
+ exports.createTextMessage = createTextMessage;
9
+ exports.createAssistantMessage = createAssistantMessage;
10
+ exports.extractThinkingBlocks = extractThinkingBlocks;
11
+ exports.extractToolUseBlocks = extractToolUseBlocks;
12
+ exports.extractTextContent = extractTextContent;
13
+ exports.hasThinkingBlocks = hasThinkingBlocks;
14
+ exports.hasToolUseBlocks = hasToolUseBlocks;
15
+ exports.createToolDefinition = createToolDefinition;
16
+ exports.createStandardDevelopmentTools = createStandardDevelopmentTools;
17
+ /**
18
+ * Создает сообщение assistant с thinking и tool_use блоками
19
+ * @param thinkingContent Содержимое мышления
20
+ * @param signature Криптографическая подпись
21
+ * @param toolCall Вызов инструмента
22
+ * @returns Сообщение assistant с complex content
23
+ */
24
+ function createAssistantMessageWithThinking(thinkingContent, signature, toolCall) {
25
+ const content = [
26
+ {
27
+ type: 'thinking',
28
+ thinking: thinkingContent,
29
+ signature: signature
30
+ },
31
+ {
32
+ type: 'tool_use',
33
+ id: toolCall.id,
34
+ name: toolCall.name,
35
+ input: toolCall.input
36
+ }
37
+ ];
38
+ return {
39
+ role: 'assistant',
40
+ content: content
41
+ };
42
+ }
43
+ /**
44
+ * Создает сообщение user с результатом инструмента
45
+ * @param toolUseId ID вызова инструмента
46
+ * @param result Результат выполнения
47
+ * @param isError Флаг ошибки
48
+ * @returns Сообщение user с tool_result
49
+ */
50
+ function createToolResultMessage(toolUseId, result, isError = false) {
51
+ const content = [
52
+ {
53
+ type: 'tool_result',
54
+ tool_use_id: toolUseId,
55
+ content: typeof result === 'string' ? result : JSON.stringify(result),
56
+ is_error: isError
57
+ }
58
+ ];
59
+ return {
60
+ role: 'user',
61
+ content: content
62
+ };
63
+ }
64
+ /**
65
+ * Создает простое текстовое сообщение
66
+ * @param role Роль отправителя
67
+ * @param text Текст сообщения
68
+ * @returns Простое сообщение
69
+ */
70
+ function createTextMessage(role, text) {
71
+ return {
72
+ role: role,
73
+ content: text
74
+ };
75
+ }
76
+ /**
77
+ * Создает сообщение assistant с текстом и мышлением
78
+ * @param text Основной текст ответа
79
+ * @param thinkingContent Содержимое мышления (опционально)
80
+ * @param signature Подпись мышления (опционально)
81
+ * @returns Сообщение assistant с complex content
82
+ */
83
+ function createAssistantMessage(text, thinkingContent, signature) {
84
+ const content = [];
85
+ // Добавляем thinking блок если есть
86
+ if (thinkingContent && signature) {
87
+ content.push({
88
+ type: 'thinking',
89
+ thinking: thinkingContent,
90
+ signature: signature
91
+ });
92
+ }
93
+ // Добавляем текстовый блок
94
+ content.push({
95
+ type: 'text',
96
+ text: text
97
+ });
98
+ return {
99
+ role: 'assistant',
100
+ content: content
101
+ };
102
+ }
103
+ /**
104
+ * Извлекает thinking блоки из сообщения
105
+ * @param message Сообщение с complex content
106
+ * @returns Массив thinking блоков
107
+ */
108
+ function extractThinkingBlocks(message) {
109
+ if (typeof message.content === 'string') {
110
+ return [];
111
+ }
112
+ return message.content.filter(block => block.type === 'thinking' || block.type === 'redacted_thinking');
113
+ }
114
+ /**
115
+ * Извлекает tool_use блоки из сообщения
116
+ * @param message Сообщение с complex content
117
+ * @returns Массив tool_use блоков
118
+ */
119
+ function extractToolUseBlocks(message) {
120
+ if (typeof message.content === 'string') {
121
+ return [];
122
+ }
123
+ return message.content.filter(block => block.type === 'tool_use');
124
+ }
125
+ /**
126
+ * Извлекает текстовое содержимое из сообщения
127
+ * @param message Сообщение
128
+ * @returns Текстовое содержимое
129
+ */
130
+ function extractTextContent(message) {
131
+ if (typeof message.content === 'string') {
132
+ return message.content;
133
+ }
134
+ const textBlocks = message.content.filter(block => block.type === 'text');
135
+ return textBlocks.map(block => block.text).join('');
136
+ }
137
+ /**
138
+ * Проверяет, содержит ли сообщение thinking блоки
139
+ * @param message Сообщение для проверки
140
+ * @returns true если содержит thinking блоки
141
+ */
142
+ function hasThinkingBlocks(message) {
143
+ if (typeof message.content === 'string') {
144
+ return false;
145
+ }
146
+ return message.content.some(block => block.type === 'thinking' || block.type === 'redacted_thinking');
147
+ }
148
+ /**
149
+ * Проверяет, содержит ли сообщение tool_use блоки
150
+ * @param message Сообщение для проверки
151
+ * @returns true если содержит tool_use блоки
152
+ */
153
+ function hasToolUseBlocks(message) {
154
+ if (typeof message.content === 'string') {
155
+ return false;
156
+ }
157
+ return message.content.some(block => block.type === 'tool_use');
158
+ }
159
+ /**
160
+ * Создает определение инструмента для Anthropic API
161
+ * @param name Название инструмента
162
+ * @param description Описание функциональности
163
+ * @param properties Свойства входных параметров
164
+ * @param required Обязательные поля
165
+ * @returns Определение инструмента
166
+ */
167
+ function createToolDefinition(name, description, properties, required = []) {
168
+ return {
169
+ name: name,
170
+ description: description,
171
+ input_schema: {
172
+ type: 'object',
173
+ properties: properties,
174
+ required: required
175
+ }
176
+ };
177
+ }
178
+ /**
179
+ * Создает стандартные инструменты для разработки (как в Cursor)
180
+ * @returns Массив стандартных инструментов
181
+ */
182
+ function createStandardDevelopmentTools() {
183
+ return [
184
+ createToolDefinition('edit_file', 'Редактирует содержимое файла', {
185
+ file_path: { type: 'string', description: 'Путь к файлу для редактирования' },
186
+ content: { type: 'string', description: 'Новое содержимое файла' },
187
+ start_line: { type: 'integer', description: 'Начальная строка для частичного редактирования' },
188
+ end_line: { type: 'integer', description: 'Конечная строка для частичного редактирования' }
189
+ }, ['file_path', 'content']),
190
+ createToolDefinition('read_file', 'Читает содержимое файла', {
191
+ file_path: { type: 'string', description: 'Путь к файлу для чтения' }
192
+ }, ['file_path']),
193
+ createToolDefinition('create_file', 'Создает новый файл', {
194
+ file_path: { type: 'string', description: 'Путь к новому файлу' },
195
+ content: { type: 'string', description: 'Содержимое файла' }
196
+ }, ['file_path', 'content']),
197
+ createToolDefinition('list_files', 'Получает список файлов в директории', {
198
+ directory_path: { type: 'string', description: 'Путь к директории' },
199
+ include_hidden: { type: 'boolean', description: 'Включать скрытые файлы' }
200
+ }, ['directory_path']),
201
+ createToolDefinition('search_files', 'Поиск в файлах по содержимому', {
202
+ query: { type: 'string', description: 'Поисковый запрос' },
203
+ file_pattern: { type: 'string', description: 'Паттерн имен файлов' },
204
+ case_sensitive: { type: 'boolean', description: 'Учитывать регистр' }
205
+ }, ['query']),
206
+ createToolDefinition('run_command', 'Выполняет команду в терминале', {
207
+ command: { type: 'string', description: 'Команда для выполнения' },
208
+ working_directory: { type: 'string', description: 'Рабочая директория' }
209
+ }, ['command'])
210
+ ];
211
+ }
212
+ //# sourceMappingURL=message-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-helpers.js","sourceRoot":"","sources":["../../../src/utils/message-helpers.ts"],"names":[],"mappings":"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"}