@celljs/ai-anthropic 3.4.3 → 3.5.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.
@@ -1,5 +1,5 @@
1
1
  import { Observable } from 'rxjs';
2
- import { RestOperations } from '@celljs/http';
2
+ import { ResponseEntity, RestOperations } from '@celljs/http';
3
3
  import { ChatRequest } from './chat-request';
4
4
  import { ChatResponse } from './chat-response';
5
5
  import { AnthropicAPI, AnthropicAPIOptions } from './api-protocol';
@@ -10,7 +10,7 @@ export declare class AnthropicAPIImpl implements AnthropicAPI {
10
10
  protected get baseUrl(): string;
11
11
  protected get apiKey(): string | undefined;
12
12
  protected get anthropicVersion(): string;
13
- chat(chatRequest: ChatRequest): Promise<ChatResponse>;
14
- streamingChat(chatRequest: ChatRequest): Promise<Observable<ChatResponse>>;
13
+ chat(chatRequest: ChatRequest): Promise<ResponseEntity<ChatResponse>>;
14
+ streamingChat(chatRequest: ChatRequest): Promise<Observable<ResponseEntity<ChatResponse>>>;
15
15
  }
16
16
  //# sourceMappingURL=anthropic-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-api.d.ts","sourceRoot":"","sources":["../../../src/common/api/anthropic-api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAMnE,qBACa,gBAAiB,YAAW,YAAY;IAGjD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAIjD,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC;IAExD,SAAS,KAAK,OAAO,IAAI,MAAM,CAE9B;IAED,SAAS,KAAK,MAAM,IAAI,MAAM,GAAG,SAAS,CAEzC;IAED,SAAS,KAAK,gBAAgB,IAAI,MAAM,CAEvC;IAEK,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAOrD,aAAa,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;CA6CnF"}
1
+ {"version":3,"file":"anthropic-api.d.ts","sourceRoot":"","sources":["../../../src/common/api/anthropic-api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAMnE,qBACa,gBAAiB,YAAW,YAAY;IAGjD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAIjD,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC;IAExD,SAAS,KAAK,OAAO,IAAI,MAAM,CAE9B;IAED,SAAS,KAAK,MAAM,IAAI,MAAM,GAAG,SAAS,CAEzC;IAED,SAAS,KAAK,gBAAgB,IAAI,MAAM,CAEvC;IAEK,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAWrE,aAAa,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;CAiDnG"}
@@ -26,13 +26,17 @@ let AnthropicAPIImpl = class AnthropicAPIImpl {
26
26
  }
27
27
  async chat(chatRequest) {
28
28
  core_1.Assert.isTrue(!chatRequest.stream, 'Request must set the stream property to false.');
29
- const { data } = await this.restOperations
29
+ const { data, status, headers } = await this.restOperations
30
30
  .post('/v1/messages', (0, class_transformer_1.instanceToPlain)(chatRequest), { baseURL: this.baseUrl });
31
- return (0, class_transformer_1.plainToInstance)(chat_response_1.ChatResponse, data);
31
+ return {
32
+ status,
33
+ headers,
34
+ body: (0, class_transformer_1.plainToInstance)(chat_response_1.ChatResponse, data)
35
+ };
32
36
  }
33
37
  async streamingChat(chatRequest) {
34
38
  core_1.Assert.isTrue(chatRequest.stream, 'Request must set the stream property to true.');
35
- const { data } = await this.restOperations
39
+ const { data, status, headers } = await this.restOperations
36
40
  .post('/v1/messages', (0, class_transformer_1.instanceToPlain)(chatRequest), {
37
41
  baseURL: this.baseUrl,
38
42
  headers: {
@@ -53,7 +57,11 @@ let AnthropicAPIImpl = class AnthropicAPIImpl {
53
57
  return true;
54
58
  }
55
59
  return !isInsideTool;
56
- }), (0, operators_1.concatMap)(group => group.pipe((0, operators_1.reduce)((acc, curr) => utils_1.StreamUtil.mergeToolUseEvents(acc, curr.data), new event_1.ToolUseAggregationEvent()))), (0, operators_1.map)(event => utils_1.StreamUtil.eventToChatResponse(event)), (0, operators_1.filter)(response => !!response.type));
60
+ }), (0, operators_1.concatMap)(group => group.pipe((0, operators_1.reduce)((acc, curr) => utils_1.StreamUtil.mergeToolUseEvents(acc, curr.data), new event_1.ToolUseAggregationEvent()))), (0, operators_1.map)(event => ({
61
+ status,
62
+ headers,
63
+ body: utils_1.StreamUtil.eventToChatResponse(event)
64
+ })), (0, operators_1.filter)(response => !!response.body.type));
57
65
  }
58
66
  };
59
67
  tslib_1.__decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-api.js","sourceRoot":"","sources":["../../../src/common/api/anthropic-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic-api.js","sourceRoot":"","sources":["../../../src/common/api/anthropic-api.ts"],"names":[],"mappings":"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"}
@@ -16,62 +16,51 @@ describe('AnthropicAPIImpl', () => {
16
16
  beforeEach(() => {
17
17
  container.rebind(http_1.RestOperations).toConstantValue({
18
18
  post: async (url, data, config) => {
19
- if (data.stream) {
20
- const chatResponse = {
21
- id: 'msg_123',
22
- type: 'message',
23
- role: message_1.Role.ASSISTANT,
24
- content: [
25
- {
26
- type: content_block_1.ContentBlockType.TEXT,
27
- text: 'How can I assist you today?'
28
- }
29
- ],
30
- model: data.model,
31
- stop_reason: 'end_turn',
32
- stop_sequence: undefined,
33
- usage: {
34
- input_tokens: 10,
35
- output_tokens: 20
19
+ const responseBody = {
20
+ id: 'msg_123',
21
+ type: 'message',
22
+ role: message_1.Role.ASSISTANT,
23
+ content: [
24
+ {
25
+ type: content_block_1.ContentBlockType.TEXT,
26
+ text: 'How can I assist you today?'
36
27
  }
37
- };
28
+ ],
29
+ model: data.model,
30
+ stop_reason: 'end_turn',
31
+ stop_sequence: undefined,
32
+ usage: {
33
+ input_tokens: 10,
34
+ output_tokens: 20
35
+ }
36
+ };
37
+ if (data.stream) {
38
38
  const steam = new ReadableStream({
39
39
  start(controller) {
40
40
  controller.enqueue('data: ' + JSON.stringify({
41
41
  type: 'message_start',
42
- data: chatResponse
42
+ data: responseBody
43
43
  }) + '\n\n');
44
44
  controller.close();
45
45
  }
46
46
  });
47
- return { data: steam };
47
+ return {
48
+ data: steam,
49
+ status: 200,
50
+ headers: { 'content-type': 'text/event-stream' }
51
+ };
48
52
  }
49
53
  return {
50
- data: {
51
- id: 'msg_123',
52
- type: 'message',
53
- role: message_1.Role.ASSISTANT,
54
- content: [
55
- {
56
- type: content_block_1.ContentBlockType.TEXT,
57
- text: 'How can I assist you today?'
58
- }
59
- ],
60
- model: data.model,
61
- stop_reason: 'end_turn',
62
- stop_sequence: undefined,
63
- usage: {
64
- input_tokens: 10,
65
- output_tokens: 20
66
- }
67
- }
54
+ data: responseBody,
55
+ status: 200,
56
+ headers: { 'content-type': 'application/json' }
68
57
  };
69
58
  }
70
59
  });
71
60
  anthropicAPI = container.get(api_protocol_1.AnthropicAPI);
72
61
  });
73
62
  describe('chat', () => {
74
- it('should return a ChatResponse', async () => {
63
+ it('should return a ResponseEntity with ChatResponse', async () => {
75
64
  const messages = [
76
65
  new message_1.AnthropicMessage([new content_block_1.ContentBlock(content_block_1.ContentBlockType.TEXT, undefined, 'Hello')], message_1.Role.USER)
77
66
  ];
@@ -82,8 +71,10 @@ describe('AnthropicAPIImpl', () => {
82
71
  .withStream(false)
83
72
  .build();
84
73
  const response = await anthropicAPI.chat(chatRequest);
85
- (0, chai_1.expect)(response).to.be.instanceOf(chat_response_1.ChatResponse);
86
- (0, chai_1.expect)(response.model).to.equal(anthropic_model_1.AnthropicModel.CLAUDE_3_HAIKU);
74
+ (0, chai_1.expect)(response.status).to.equal(200);
75
+ (0, chai_1.expect)(response.headers).to.deep.include({ 'content-type': 'application/json' });
76
+ (0, chai_1.expect)(response.body).to.be.instanceOf(chat_response_1.ChatResponse);
77
+ (0, chai_1.expect)(response.body.model).to.equal(anthropic_model_1.AnthropicModel.CLAUDE_3_HAIKU);
87
78
  });
88
79
  it('should throw an error if stream mode is enabled', async () => {
89
80
  const messages = [
@@ -105,7 +96,7 @@ describe('AnthropicAPIImpl', () => {
105
96
  });
106
97
  });
107
98
  describe('streamingChat', () => {
108
- it('should return an Observable of ChatResponse', async () => {
99
+ it('should return an Observable of ResponseEntity with ChatResponse', async () => {
109
100
  const messages = [
110
101
  new message_1.AnthropicMessage([new content_block_1.ContentBlock(content_block_1.ContentBlockType.TEXT, undefined, 'Hello')], message_1.Role.USER)
111
102
  ];
@@ -118,8 +109,10 @@ describe('AnthropicAPIImpl', () => {
118
109
  const response$ = await anthropicAPI.streamingChat(chatRequest);
119
110
  response$.subscribe({
120
111
  next: response => {
121
- (0, chai_1.expect)(response).to.be.instanceOf(chat_response_1.ChatResponse);
122
- (0, chai_1.expect)(response.model).to.equal(anthropic_model_1.AnthropicModel.CLAUDE_3_HAIKU);
112
+ (0, chai_1.expect)(response.status).to.equal(200);
113
+ (0, chai_1.expect)(response.headers).to.deep.include({ 'content-type': 'text/event-stream' });
114
+ (0, chai_1.expect)(response.body).to.be.instanceOf(chat_response_1.ChatResponse);
115
+ (0, chai_1.expect)(response.body.model).to.equal(anthropic_model_1.AnthropicModel.CLAUDE_3_HAIKU);
123
116
  }
124
117
  });
125
118
  });
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-api.spec.js","sourceRoot":"","sources":["../../../src/common/api/anthropic-api.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic-api.spec.js","sourceRoot":"","sources":["../../../src/common/api/anthropic-api.spec.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { ChatRequest } from './chat-request';
3
3
  import { ChatResponse } from './chat-response';
4
+ import { ResponseEntity } from '@celljs/http';
4
5
  export declare const AnthropicAPI: unique symbol;
5
6
  export declare const AnthropicAPIOptions: unique symbol;
6
7
  /**
@@ -29,12 +30,12 @@ export interface AnthropicAPI {
29
30
  * @param chatRequest Chat request.
30
31
  * @return Chat response.
31
32
  */
32
- chat(chatRequest: ChatRequest): Promise<ChatResponse>;
33
+ chat(chatRequest: ChatRequest): Promise<ResponseEntity<ChatResponse>>;
33
34
  /**
34
35
  * Streaming response for the chat completion request.
35
36
  * @param chatRequest Chat request. The request must set the stream property to true.
36
37
  * @return Chat response as a {@link Flux} stream.
37
38
  */
38
- streamingChat(chatRequest: ChatRequest): Promise<Observable<ChatResponse>>;
39
+ streamingChat(chatRequest: ChatRequest): Promise<Observable<ResponseEntity<ChatResponse>>>;
39
40
  }
40
41
  //# sourceMappingURL=api-protocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-protocol.d.ts","sourceRoot":"","sources":["../../../src/common/api/api-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,eAAO,MAAM,YAAY,eAAyB,CAAC;AACnD,eAAO,MAAM,mBAAmB,eAAgC,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IACzB;;;;;;;OAOG;IACH,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACtD;;;;OAIG;IACH,aAAa,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;CAE9E"}
1
+ {"version":3,"file":"api-protocol.d.ts","sourceRoot":"","sources":["../../../src/common/api/api-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,eAAO,MAAM,YAAY,eAAyB,CAAC;AACnD,eAAO,MAAM,mBAAmB,eAAgC,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IACzB;;;;;;;OAOG;IACH,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IACtE;;;;OAIG;IACH,aAAa,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;CAE9F"}
@@ -1 +1 @@
1
- {"version":3,"file":"api-protocol.js","sourceRoot":"","sources":["../../../src/common/api/api-protocol.ts"],"names":[],"mappings":";;;AAIa,QAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AACtC,QAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"api-protocol.js","sourceRoot":"","sources":["../../../src/common/api/api-protocol.ts"],"names":[],"mappings":";;;AAKa,QAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AACtC,QAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC"}
@@ -9,13 +9,13 @@ const anthropic_chat_options_1 = require("./anthropic-chat-options");
9
9
  const operators_1 = require("rxjs/operators");
10
10
  let AnthropicChatModel = class AnthropicChatModel {
11
11
  getContentBlockTypeByMedia(media) {
12
- if (media.mediaType.startsWith('image')) {
12
+ if (media.mimeType.toString().startsWith('image')) {
13
13
  return api_1.ContentBlockType.IMAGE;
14
14
  }
15
- else if (media.mediaType.startsWith('pdf')) {
15
+ else if (media.mimeType.toString().startsWith('pdf')) {
16
16
  return api_1.ContentBlockType.DOCUMENT;
17
17
  }
18
- throw new core_1.IllegalArgumentError(`Unsupported media type: ${media.mediaType}. Supported types are: images (image/*) and PDF documents (application/pdf)`);
18
+ throw new core_1.IllegalArgumentError(`Unsupported media type: ${media.mimeType.toString()}. Supported types are: images (image/*) and PDF documents (application/pdf)`);
19
19
  }
20
20
  fromMediaData(mediaData) {
21
21
  if (mediaData instanceof Uint8Array) {
@@ -44,7 +44,7 @@ let AnthropicChatModel = class AnthropicChatModel {
44
44
  if (message.media.length > 0) {
45
45
  const mediaContent = message.media.map(media => {
46
46
  const contentBlockType = this.getContentBlockTypeByMedia(media);
47
- const source = new api_1.Source('base64', media.mediaType, this.fromMediaData(media.data));
47
+ const source = new api_1.Source('base64', media.mimeType.toString(), this.fromMediaData(media.data));
48
48
  return new api_1.ContentBlock(contentBlockType, source);
49
49
  });
50
50
  contents.push(...mediaContent);
@@ -134,12 +134,12 @@ let AnthropicChatModel = class AnthropicChatModel {
134
134
  async call(prompt) {
135
135
  const request = this.createRequest(prompt, false);
136
136
  const chatResponse = await this.chatApi.chat(request);
137
- return this.toChatResponse(chatResponse);
137
+ return this.toChatResponse(chatResponse.body);
138
138
  }
139
139
  async stream(prompt) {
140
140
  const request = this.createRequest(prompt, true);
141
141
  const chatResponse = await this.chatApi.streamingChat(request);
142
- return chatResponse.pipe((0, operators_1.map)(chunk => this.toChatResponse(chunk)));
142
+ return chatResponse.pipe((0, operators_1.map)(chunk => this.toChatResponse(chunk.body)));
143
143
  }
144
144
  };
145
145
  tslib_1.__decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-chat-model.js","sourceRoot":"","sources":["../../../src/common/model/anthropic-chat-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic-chat-model.js","sourceRoot":"","sources":["../../../src/common/model/anthropic-chat-model.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { Observable } from 'rxjs';
2
+ import { ResponseEntity } from '@celljs/http';
2
3
  import { AnthropicAPI } from '../api/api-protocol';
3
4
  import { ChatRequest } from '../api/chat-request';
4
5
  import { ChatResponse } from '../api/chat-response';
5
6
  export declare class MockAnthropicAPI implements AnthropicAPI {
6
- chat(chatRequest: ChatRequest): Promise<ChatResponse>;
7
- streamingChat(chatRequest: ChatRequest): Promise<Observable<ChatResponse>>;
7
+ chat(chatRequest: ChatRequest): Promise<ResponseEntity<ChatResponse>>;
8
+ streamingChat(chatRequest: ChatRequest): Promise<Observable<ResponseEntity<ChatResponse>>>;
8
9
  }
9
10
  //# sourceMappingURL=mock-anthropic-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mock-anthropic-api.d.ts","sourceRoot":"","sources":["../../../src/common/test/mock-anthropic-api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAQ,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpD,qBACa,gBAAiB,YAAW,YAAY;IAC3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAyBrD,aAAa,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;CA0BnF"}
1
+ {"version":3,"file":"mock-anthropic-api.d.ts","sourceRoot":"","sources":["../../../src/common/test/mock-anthropic-api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAQ,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpD,qBACa,gBAAiB,YAAW,YAAY;IAC3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAiCrE,aAAa,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;CAgCnG"}
@@ -13,7 +13,7 @@ let MockAnthropicAPI = class MockAnthropicAPI {
13
13
  if (chatRequest.stream) {
14
14
  throw new Error('Request must set the stream property to false.');
15
15
  }
16
- return new chat_response_1.ChatResponse('msg_123', 'message', message_1.Role.ASSISTANT, [
16
+ const response = new chat_response_1.ChatResponse('msg_123', 'message', message_1.Role.ASSISTANT, [
17
17
  {
18
18
  type: content_block_1.ContentBlockType.TEXT,
19
19
  text: 'How can I assist you today?'
@@ -22,6 +22,13 @@ let MockAnthropicAPI = class MockAnthropicAPI {
22
22
  inputTokens: 10,
23
23
  outputTokens: 20
24
24
  });
25
+ return {
26
+ status: 200,
27
+ headers: {
28
+ 'x-request-id': 'mock-req-123'
29
+ },
30
+ body: response
31
+ };
25
32
  }
26
33
  async streamingChat(chatRequest) {
27
34
  if (!chatRequest.stream) {
@@ -36,7 +43,13 @@ let MockAnthropicAPI = class MockAnthropicAPI {
36
43
  inputTokens: 10,
37
44
  outputTokens: 20
38
45
  });
39
- return (0, rxjs_1.from)([response]);
46
+ return (0, rxjs_1.from)([{
47
+ status: 200,
48
+ headers: {
49
+ 'x-request-id': 'mock-req-123'
50
+ },
51
+ body: response
52
+ }]);
40
53
  }
41
54
  };
42
55
  MockAnthropicAPI = tslib_1.__decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"mock-anthropic-api.js","sourceRoot":"","sources":["../../../src/common/test/mock-anthropic-api.ts"],"names":[],"mappings":";;;;AAAA,uCAAyC;AACzC,+BAAwC;AACxC,sDAAmD;AAEnD,wDAAoD;AACpD,wDAAwD;AACxD,4CAAsC;AAG/B,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IACzB,KAAK,CAAC,IAAI,CAAC,WAAwB;QAC/B,IAAI,WAAW,CAAC,MAAM,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACrE;QAED,OAAO,IAAI,4BAAY,CACnB,SAAS,EACT,SAAS,EACT,cAAI,CAAC,SAAS,EACd;YACI;gBACI,IAAI,EAAE,gCAAgB,CAAC,IAAI;gBAC3B,IAAI,EAAE,6BAA6B;aACtC;SACJ,EACD,WAAW,CAAC,KAAK,EACjB,UAAU,EACV,SAAS,EACT;YACI,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,EAAE;SACnB,CACJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,WAAwB;QACxC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;SACpE;QAED,MAAM,QAAQ,GAAG,IAAI,4BAAY,CAC7B,SAAS,EACT,SAAS,EACT,cAAI,CAAC,SAAS,EACd;YACI;gBACI,IAAI,EAAE,gCAAgB,CAAC,IAAI;gBAC3B,IAAI,EAAE,6BAA6B;aACtC;SACJ,EACD,WAAW,CAAC,KAAK,EACjB,UAAU,EACV,SAAS,EACT;YACI,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,EAAE;SACnB,CACJ,CAAC;QAEF,OAAO,IAAA,WAAI,EAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5B,CAAC;CACJ,CAAA;AApDY,gBAAgB;IAD5B,IAAA,gBAAS,EAAC,2BAAY,CAAC;GACX,gBAAgB,CAoD5B;AApDY,4CAAgB"}
1
+ {"version":3,"file":"mock-anthropic-api.js","sourceRoot":"","sources":["../../../src/common/test/mock-anthropic-api.ts"],"names":[],"mappings":";;;;AAAA,uCAAyC;AACzC,+BAAwC;AAExC,sDAAmD;AAEnD,wDAAoD;AACpD,wDAAwD;AACxD,4CAAsC;AAG/B,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IACzB,KAAK,CAAC,IAAI,CAAC,WAAwB;QAC/B,IAAI,WAAW,CAAC,MAAM,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACrE;QAED,MAAM,QAAQ,GAAG,IAAI,4BAAY,CAC7B,SAAS,EACT,SAAS,EACT,cAAI,CAAC,SAAS,EACd;YACI;gBACI,IAAI,EAAE,gCAAgB,CAAC,IAAI;gBAC3B,IAAI,EAAE,6BAA6B;aACtC;SACJ,EACD,WAAW,CAAC,KAAK,EACjB,UAAU,EACV,SAAS,EACT;YACI,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,EAAE;SACnB,CACJ,CAAC;QAEF,OAAO;YACH,MAAM,EAAE,GAAG;YACX,OAAO,EAAE;gBACL,cAAc,EAAE,cAAc;aACjC;YACD,IAAI,EAAE,QAAQ;SACjB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,WAAwB;QACxC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;SACpE;QAED,MAAM,QAAQ,GAAG,IAAI,4BAAY,CAC7B,SAAS,EACT,SAAS,EACT,cAAI,CAAC,SAAS,EACd;YACI;gBACI,IAAI,EAAE,gCAAgB,CAAC,IAAI;gBAC3B,IAAI,EAAE,6BAA6B;aACtC;SACJ,EACD,WAAW,CAAC,KAAK,EACjB,UAAU,EACV,SAAS,EACT;YACI,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,EAAE;SACnB,CACJ,CAAC;QAEF,OAAO,IAAA,WAAI,EAAC,CAAC;gBACT,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE;oBACL,cAAc,EAAE,cAAc;iBACjC;gBACD,IAAI,EAAE,QAAQ;aACjB,CAAC,CAAC,CAAC;IACR,CAAC;CACJ,CAAA;AAlEY,gBAAgB;IAD5B,IAAA,gBAAS,EAAC,2BAAY,CAAC;GACX,gBAAgB,CAkE5B;AAlEY,4CAAgB"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@celljs/ai-anthropic",
3
- "version": "3.4.3",
3
+ "version": "3.5.1",
4
4
  "description": "Authropic models support",
5
5
  "main": "lib/common/index.js",
6
6
  "typings": "lib/common/index.d.ts",
7
7
  "dependencies": {
8
- "@celljs/ai-core": "3.4.3",
9
- "@celljs/core": "3.4.3",
10
- "@celljs/http": "3.4.3",
8
+ "@celljs/ai-core": "3.5.1",
9
+ "@celljs/core": "3.5.1",
10
+ "@celljs/http": "3.5.1",
11
11
  "class-transformer": "^0.5.1",
12
12
  "rxjs": "^6.6.0",
13
13
  "tslib": "^2.8.0"
@@ -40,7 +40,7 @@
40
40
  "test": "cell-component test:js"
41
41
  },
42
42
  "devDependencies": {
43
- "@celljs/component": "3.4.3"
43
+ "@celljs/component": "3.5.1"
44
44
  },
45
- "gitHead": "bcbbf929f18cd91fb9241f9b3b0f6c66dbea86cb"
45
+ "gitHead": "ed90939e4770c2f6d18bdd1721ffc58a25828777"
46
46
  }
@@ -17,56 +17,46 @@ describe('AnthropicAPIImpl', () => {
17
17
  beforeEach(() => {
18
18
  container.rebind(RestOperations).toConstantValue({
19
19
  post: async (url: string, data: any, config: any) => {
20
- if (data.stream) {
21
- const chatResponse = {
22
- id: 'msg_123',
23
- type: 'message',
24
- role: Role.ASSISTANT,
25
- content: [
26
- {
27
- type: ContentBlockType.TEXT,
28
- text: 'How can I assist you today?'
29
- }
30
- ],
31
- model: data.model,
32
- stop_reason: 'end_turn',
33
- stop_sequence: undefined,
34
- usage: {
35
- input_tokens: 10,
36
- output_tokens: 20
20
+ const responseBody = {
21
+ id: 'msg_123',
22
+ type: 'message',
23
+ role: Role.ASSISTANT,
24
+ content: [
25
+ {
26
+ type: ContentBlockType.TEXT,
27
+ text: 'How can I assist you today?'
37
28
  }
38
- };
29
+ ],
30
+ model: data.model,
31
+ stop_reason: 'end_turn',
32
+ stop_sequence: undefined,
33
+ usage: {
34
+ input_tokens: 10,
35
+ output_tokens: 20
36
+ }
37
+ };
38
+
39
+ if (data.stream) {
39
40
  const steam = new ReadableStream({
40
41
  start(controller) {
41
42
  controller.enqueue('data: ' + JSON.stringify({
42
43
  type: 'message_start',
43
- data: chatResponse
44
+ data: responseBody
44
45
  }) + '\n\n');
45
46
  controller.close();
46
47
  }
47
48
  });
48
- return { data: steam };
49
+ return {
50
+ data: steam,
51
+ status: 200,
52
+ headers: { 'content-type': 'text/event-stream' }
53
+ };
49
54
  }
50
55
 
51
56
  return {
52
- data: {
53
- id: 'msg_123',
54
- type: 'message',
55
- role: Role.ASSISTANT,
56
- content: [
57
- {
58
- type: ContentBlockType.TEXT,
59
- text: 'How can I assist you today?'
60
- }
61
- ],
62
- model: data.model,
63
- stop_reason: 'end_turn',
64
- stop_sequence: undefined,
65
- usage: {
66
- input_tokens: 10,
67
- output_tokens: 20
68
- }
69
- }
57
+ data: responseBody,
58
+ status: 200,
59
+ headers: { 'content-type': 'application/json' }
70
60
  };
71
61
  }
72
62
  });
@@ -74,7 +64,7 @@ describe('AnthropicAPIImpl', () => {
74
64
  });
75
65
 
76
66
  describe('chat', () => {
77
- it('should return a ChatResponse', async () => {
67
+ it('should return a ResponseEntity with ChatResponse', async () => {
78
68
  const messages = [
79
69
  new AnthropicMessage(
80
70
  [new ContentBlock(ContentBlockType.TEXT, undefined, 'Hello')],
@@ -89,8 +79,10 @@ describe('AnthropicAPIImpl', () => {
89
79
  .build();
90
80
 
91
81
  const response = await anthropicAPI.chat(chatRequest);
92
- expect(response).to.be.instanceOf(ChatResponse);
93
- expect(response.model).to.equal(AnthropicModel.CLAUDE_3_HAIKU);
82
+ expect(response.status).to.equal(200);
83
+ expect(response.headers).to.deep.include({ 'content-type': 'application/json' });
84
+ expect(response.body).to.be.instanceOf(ChatResponse);
85
+ expect(response.body.model).to.equal(AnthropicModel.CLAUDE_3_HAIKU);
94
86
  });
95
87
 
96
88
  it('should throw an error if stream mode is enabled', async () => {
@@ -117,7 +109,7 @@ describe('AnthropicAPIImpl', () => {
117
109
  });
118
110
 
119
111
  describe('streamingChat', () => {
120
- it('should return an Observable of ChatResponse', async () => {
112
+ it('should return an Observable of ResponseEntity with ChatResponse', async () => {
121
113
  const messages = [
122
114
  new AnthropicMessage(
123
115
  [new ContentBlock(ContentBlockType.TEXT, undefined, 'Hello')],
@@ -134,8 +126,10 @@ describe('AnthropicAPIImpl', () => {
134
126
  const response$ = await anthropicAPI.streamingChat(chatRequest);
135
127
  response$.subscribe({
136
128
  next: response => {
137
- expect(response).to.be.instanceOf(ChatResponse);
138
- expect(response.model).to.equal(AnthropicModel.CLAUDE_3_HAIKU);
129
+ expect(response.status).to.equal(200);
130
+ expect(response.headers).to.deep.include({ 'content-type': 'text/event-stream' });
131
+ expect(response.body).to.be.instanceOf(ChatResponse);
132
+ expect(response.body.model).to.equal(AnthropicModel.CLAUDE_3_HAIKU);
139
133
  }
140
134
  });
141
135
  });
@@ -1,7 +1,7 @@
1
1
  import { Assert, Autowired, Component, Optional, Value } from '@celljs/core';
2
2
  import { Observable } from 'rxjs';
3
3
  import { map, filter, groupBy, concatMap, reduce } from 'rxjs/operators';
4
- import { RestOperations } from '@celljs/http';
4
+ import { ResponseEntity, RestOperations } from '@celljs/http';
5
5
  import { ChatRequest } from './chat-request';
6
6
  import { ChatResponse } from './chat-response';
7
7
  import { AnthropicAPI, AnthropicAPIOptions } from './api-protocol';
@@ -35,16 +35,20 @@ export class AnthropicAPIImpl implements AnthropicAPI {
35
35
  return this.options?.anthropicVersion ?? this.defaultOptions?.anthropicVersion ?? '2023-06-01';
36
36
  }
37
37
 
38
- async chat(chatRequest: ChatRequest): Promise<ChatResponse> {
38
+ async chat(chatRequest: ChatRequest): Promise<ResponseEntity<ChatResponse>> {
39
39
  Assert.isTrue(!chatRequest.stream, 'Request must set the stream property to false.');
40
- const { data } = await this.restOperations
40
+ const { data, status, headers } = await this.restOperations
41
41
  .post('/v1/messages', instanceToPlain(chatRequest), { baseURL: this.baseUrl });
42
42
 
43
- return plainToInstance(ChatResponse, data);
43
+ return {
44
+ status,
45
+ headers,
46
+ body: plainToInstance(ChatResponse, data)
47
+ };
44
48
  }
45
- async streamingChat(chatRequest: ChatRequest): Promise<Observable<ChatResponse>> {
49
+ async streamingChat(chatRequest: ChatRequest): Promise<Observable<ResponseEntity<ChatResponse>>> {
46
50
  Assert.isTrue(chatRequest.stream, 'Request must set the stream property to true.');
47
- const { data } = await this.restOperations
51
+ const { data, status, headers } = await this.restOperations
48
52
  .post<ReadableStream>(
49
53
  '/v1/messages',
50
54
  instanceToPlain(chatRequest),
@@ -82,8 +86,12 @@ export class AnthropicAPIImpl implements AnthropicAPI {
82
86
  )
83
87
  )
84
88
  ),
85
- map(event => StreamUtil.eventToChatResponse(event)),
86
- filter(response => !!response.type)
89
+ map(event => ({
90
+ status,
91
+ headers,
92
+ body: StreamUtil.eventToChatResponse(event)
93
+ })),
94
+ filter(response => !!response.body.type)
87
95
  );
88
96
 
89
97
  }
@@ -1,6 +1,7 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { ChatRequest } from './chat-request';
3
3
  import { ChatResponse } from './chat-response';
4
+ import { ResponseEntity } from '@celljs/http';
4
5
 
5
6
  export const AnthropicAPI = Symbol('AnthropicAPI');
6
7
  export const AnthropicAPIOptions = Symbol('AnthropicAPIOptions');
@@ -34,12 +35,12 @@ export interface AnthropicAPI {
34
35
  * @param chatRequest Chat request.
35
36
  * @return Chat response.
36
37
  */
37
- chat(chatRequest: ChatRequest): Promise<ChatResponse>;
38
+ chat(chatRequest: ChatRequest): Promise<ResponseEntity<ChatResponse>>;
38
39
  /**
39
40
  * Streaming response for the chat completion request.
40
41
  * @param chatRequest Chat request. The request must set the stream property to true.
41
42
  * @return Chat response as a {@link Flux} stream.
42
43
  */
43
- streamingChat(chatRequest: ChatRequest): Promise<Observable<ChatResponse>>;
44
+ streamingChat(chatRequest: ChatRequest): Promise<Observable<ResponseEntity<ChatResponse>>>;
44
45
 
45
46
  }
@@ -32,12 +32,12 @@ export class AnthropicChatModel implements ChatModel {
32
32
  protected readonly logger: Logger;
33
33
 
34
34
  protected getContentBlockTypeByMedia(media: Media): ContentBlockType {
35
- if (media.mediaType.startsWith('image')) {
35
+ if (media.mimeType.toString().startsWith('image')) {
36
36
  return ContentBlockType.IMAGE;
37
- } else if (media.mediaType.startsWith('pdf')) {
37
+ } else if (media.mimeType.toString().startsWith('pdf')) {
38
38
  return ContentBlockType.DOCUMENT;
39
39
  }
40
- throw new IllegalArgumentError(`Unsupported media type: ${media.mediaType}. Supported types are: images (image/*) and PDF documents (application/pdf)`);
40
+ throw new IllegalArgumentError(`Unsupported media type: ${media.mimeType.toString()}. Supported types are: images (image/*) and PDF documents (application/pdf)`);
41
41
  }
42
42
 
43
43
  protected fromMediaData(mediaData: any): string {
@@ -68,7 +68,7 @@ export class AnthropicChatModel implements ChatModel {
68
68
  if (message.media.length > 0) {
69
69
  const mediaContent = message.media.map(media => {
70
70
  const contentBlockType = this.getContentBlockTypeByMedia(media);
71
- const source = new Source('base64', media.mediaType, this.fromMediaData(media.data));
71
+ const source = new Source('base64', media.mimeType.toString(), this.fromMediaData(media.data));
72
72
  return new ContentBlock(contentBlockType, source);
73
73
  });
74
74
  contents.push(...mediaContent);
@@ -175,13 +175,13 @@ export class AnthropicChatModel implements ChatModel {
175
175
  async call(prompt: Prompt): Promise<ChatResponse> {
176
176
  const request = this.createRequest(prompt, false);
177
177
  const chatResponse = await this.chatApi.chat(request);
178
- return this.toChatResponse(chatResponse);
178
+ return this.toChatResponse(chatResponse.body);
179
179
  }
180
180
 
181
181
  async stream(prompt: Prompt): Promise<Observable<ChatResponse>> {
182
182
  const request = this.createRequest(prompt, true);
183
183
  const chatResponse = await this.chatApi.streamingChat(request);
184
- return chatResponse.pipe(map(chunk => this.toChatResponse(chunk)));
184
+ return chatResponse.pipe(map(chunk => this.toChatResponse(chunk.body)));
185
185
  }
186
186
 
187
187
  }
@@ -1,5 +1,6 @@
1
1
  import { Component } from '@celljs/core';
2
2
  import { Observable, from } from 'rxjs';
3
+ import { ResponseEntity } from '@celljs/http';
3
4
  import { AnthropicAPI } from '../api/api-protocol';
4
5
  import { ChatRequest } from '../api/chat-request';
5
6
  import { ChatResponse } from '../api/chat-response';
@@ -8,12 +9,12 @@ import { Role } from '../api/message';
8
9
 
9
10
  @Component(AnthropicAPI)
10
11
  export class MockAnthropicAPI implements AnthropicAPI {
11
- async chat(chatRequest: ChatRequest): Promise<ChatResponse> {
12
+ async chat(chatRequest: ChatRequest): Promise<ResponseEntity<ChatResponse>> {
12
13
  if (chatRequest.stream) {
13
14
  throw new Error('Request must set the stream property to false.');
14
15
  }
15
16
 
16
- return new ChatResponse(
17
+ const response = new ChatResponse(
17
18
  'msg_123',
18
19
  'message',
19
20
  Role.ASSISTANT,
@@ -31,9 +32,17 @@ export class MockAnthropicAPI implements AnthropicAPI {
31
32
  outputTokens: 20
32
33
  }
33
34
  );
35
+
36
+ return {
37
+ status: 200,
38
+ headers: {
39
+ 'x-request-id': 'mock-req-123'
40
+ },
41
+ body: response
42
+ };
34
43
  }
35
44
 
36
- async streamingChat(chatRequest: ChatRequest): Promise<Observable<ChatResponse>> {
45
+ async streamingChat(chatRequest: ChatRequest): Promise<Observable<ResponseEntity<ChatResponse>>> {
37
46
  if (!chatRequest.stream) {
38
47
  throw new Error('Request must set the stream property to true.');
39
48
  }
@@ -57,6 +66,12 @@ export class MockAnthropicAPI implements AnthropicAPI {
57
66
  }
58
67
  );
59
68
 
60
- return from([response]);
69
+ return from([{
70
+ status: 200,
71
+ headers: {
72
+ 'x-request-id': 'mock-req-123'
73
+ },
74
+ body: response
75
+ }]);
61
76
  }
62
77
  }