@celljs/ai-anthropic 3.7.8 → 3.9.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 (100) hide show
  1. package/esm/common/api/anthropic-api.d.ts +15 -0
  2. package/esm/common/api/anthropic-api.js +93 -0
  3. package/esm/common/api/anthropic-api.js.map +1 -0
  4. package/esm/common/api/anthropic-model.d.ts +33 -0
  5. package/esm/common/api/anthropic-model.js +36 -0
  6. package/esm/common/api/anthropic-model.js.map +1 -0
  7. package/esm/common/api/api-protocol.d.ts +40 -0
  8. package/esm/common/api/api-protocol.js +3 -0
  9. package/esm/common/api/api-protocol.js.map +1 -0
  10. package/esm/common/api/chat-request.d.ts +149 -0
  11. package/esm/common/api/chat-request.js +184 -0
  12. package/esm/common/api/chat-request.js.map +1 -0
  13. package/esm/common/api/chat-response.d.ts +71 -0
  14. package/esm/common/api/chat-response.js +120 -0
  15. package/esm/common/api/chat-response.js.map +1 -0
  16. package/esm/common/api/content-block.d.ts +99 -0
  17. package/esm/common/api/content-block.js +127 -0
  18. package/esm/common/api/content-block.js.map +1 -0
  19. package/esm/common/api/event.d.ts +187 -0
  20. package/esm/common/api/event.js +344 -0
  21. package/esm/common/api/event.js.map +1 -0
  22. package/esm/common/api/index.d.ts +9 -0
  23. package/esm/common/api/index.js +10 -0
  24. package/esm/common/api/index.js.map +1 -0
  25. package/esm/common/api/message.d.ts +40 -0
  26. package/esm/common/api/message.js +54 -0
  27. package/esm/common/api/message.js.map +1 -0
  28. package/esm/common/api/usage.d.ts +14 -0
  29. package/esm/common/api/usage.js +28 -0
  30. package/esm/common/api/usage.js.map +1 -0
  31. package/esm/common/index.d.ts +2 -0
  32. package/esm/common/index.js +3 -0
  33. package/esm/common/index.js.map +1 -0
  34. package/esm/common/model/anthropic-chat-model.d.ts +19 -0
  35. package/esm/common/model/anthropic-chat-model.js +169 -0
  36. package/esm/common/model/anthropic-chat-model.js.map +1 -0
  37. package/esm/common/model/anthropic-chat-options.d.ts +54 -0
  38. package/esm/common/model/anthropic-chat-options.js +170 -0
  39. package/esm/common/model/anthropic-chat-options.js.map +1 -0
  40. package/esm/common/model/index.d.ts +2 -0
  41. package/esm/common/model/index.js +3 -0
  42. package/esm/common/model/index.js.map +1 -0
  43. package/esm/common/module.d.ts +3 -0
  44. package/esm/common/module.js +4 -0
  45. package/esm/common/module.js.map +1 -0
  46. package/esm/common/test/mock-anthropic-api.d.ts +9 -0
  47. package/esm/common/test/mock-anthropic-api.js +61 -0
  48. package/esm/common/test/mock-anthropic-api.js.map +1 -0
  49. package/esm/common/test/test-container.d.ts +2 -0
  50. package/esm/common/test/test-container.js +11 -0
  51. package/esm/common/test/test-container.js.map +1 -0
  52. package/esm/common/utils/index.d.ts +1 -0
  53. package/esm/common/utils/index.js +2 -0
  54. package/esm/common/utils/index.js.map +1 -0
  55. package/esm/common/utils/stream-util.d.ts +8 -0
  56. package/esm/common/utils/stream-util.js +110 -0
  57. package/esm/common/utils/stream-util.js.map +1 -0
  58. package/esm/package.json +3 -0
  59. package/lib/common/api/anthropic-api.d.ts.map +1 -1
  60. package/lib/common/api/anthropic-api.js +9 -6
  61. package/lib/common/api/anthropic-api.js.map +1 -1
  62. package/lib/common/api/anthropic-api.spec.d.ts.map +1 -1
  63. package/lib/common/api/anthropic-api.spec.js +9 -8
  64. package/lib/common/api/anthropic-api.spec.js.map +1 -1
  65. package/lib/common/api/anthropic-model.js.map +1 -1
  66. package/lib/common/api/chat-request.d.ts.map +1 -1
  67. package/lib/common/api/chat-request.js.map +1 -1
  68. package/lib/common/api/chat-response.d.ts.map +1 -1
  69. package/lib/common/api/chat-response.js.map +1 -1
  70. package/lib/common/api/content-block.d.ts.map +1 -1
  71. package/lib/common/api/content-block.js.map +1 -1
  72. package/lib/common/api/event.d.ts.map +1 -1
  73. package/lib/common/api/event.js.map +1 -1
  74. package/lib/common/api/message.d.ts.map +1 -1
  75. package/lib/common/api/message.js.map +1 -1
  76. package/lib/common/api/usage.d.ts.map +1 -1
  77. package/lib/common/api/usage.js.map +1 -1
  78. package/lib/common/model/anthropic-chat-model.d.ts.map +1 -1
  79. package/lib/common/model/anthropic-chat-model.js.map +1 -1
  80. package/lib/common/model/anthropic-chat-model.spec.d.ts.map +1 -1
  81. package/lib/common/model/anthropic-chat-model.spec.js +9 -8
  82. package/lib/common/model/anthropic-chat-model.spec.js.map +1 -1
  83. package/lib/common/model/anthropic-chat-options.d.ts.map +1 -1
  84. package/lib/common/model/anthropic-chat-options.js.map +1 -1
  85. package/lib/common/module.d.ts.map +1 -1
  86. package/lib/common/module.js.map +1 -1
  87. package/lib/common/test/mock-anthropic-api.d.ts.map +1 -1
  88. package/lib/common/test/mock-anthropic-api.js.map +1 -1
  89. package/lib/common/test/test-container.js +4 -1
  90. package/lib/common/test/test-container.js.map +1 -1
  91. package/lib/common/utils/stream-util.d.ts.map +1 -1
  92. package/lib/common/utils/stream-util.js.map +1 -1
  93. package/lib/package.spec.d.ts +1 -0
  94. package/lib/package.spec.js +5 -2
  95. package/lib/package.spec.js.map +1 -1
  96. package/package.json +48 -13
  97. package/src/common/api/anthropic-api.spec.ts +1 -0
  98. package/src/common/model/anthropic-chat-model.spec.ts +2 -1
  99. package/src/package.spec.ts +1 -0
  100. package/LICENSE +0 -21
@@ -0,0 +1,344 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Expose, Type } from 'class-transformer';
11
+ import { ChatResponse } from './chat-response.js';
12
+ import { ContentBlockType } from './content-block.js';
13
+ /**
14
+ * The event type of the streamed chunk.
15
+ */
16
+ export var EventType;
17
+ (function (EventType) {
18
+ /**
19
+ * Message start event. Contains a Message object with empty content.
20
+ */
21
+ EventType["MESSAGE_START"] = "message_start";
22
+ /**
23
+ * Message delta event, indicating top-level changes to the final Message object.
24
+ */
25
+ EventType["MESSAGE_DELTA"] = "message_delta";
26
+ /**
27
+ * A final message stop event.
28
+ */
29
+ EventType["MESSAGE_STOP"] = "message_stop";
30
+ /**
31
+ * Content block start event.
32
+ */
33
+ EventType["CONTENT_BLOCK_START"] = "content_block_start";
34
+ /**
35
+ * Content block delta event.
36
+ */
37
+ EventType["CONTENT_BLOCK_DELTA"] = "content_block_delta";
38
+ /**
39
+ * A final content block stop event.
40
+ */
41
+ EventType["CONTENT_BLOCK_STOP"] = "content_block_stop";
42
+ /**
43
+ * Error event.
44
+ */
45
+ EventType["ERROR"] = "error";
46
+ /**
47
+ * Ping event.
48
+ */
49
+ EventType["PING"] = "ping";
50
+ /**
51
+ * Artificially created event to aggregate tool use events.
52
+ */
53
+ EventType["TOOL_USE_AGGREGATE"] = "tool_use_aggregate";
54
+ })(EventType || (EventType = {}));
55
+ /**
56
+ * Anthropic event.
57
+ */
58
+ export class AnthropicEvent {
59
+ }
60
+ __decorate([
61
+ Expose(),
62
+ __metadata("design:type", String)
63
+ ], AnthropicEvent.prototype, "type", void 0);
64
+ /**
65
+ * Content block body.
66
+ */
67
+ export class ContentBlockBody {
68
+ }
69
+ __decorate([
70
+ Expose(),
71
+ __metadata("design:type", String)
72
+ ], ContentBlockBody.prototype, "type", void 0);
73
+ /**
74
+ * Text content block delta.
75
+ */
76
+ export class ContentBlockText extends ContentBlockBody {
77
+ }
78
+ __decorate([
79
+ Expose(),
80
+ __metadata("design:type", String)
81
+ ], ContentBlockText.prototype, "text", void 0);
82
+ /**
83
+ * Tool use content block.
84
+ */
85
+ export class ContentBlockToolUse extends ContentBlockBody {
86
+ constructor(type, id, name, input) {
87
+ super();
88
+ this.type = type;
89
+ this.id = id;
90
+ this.name = name;
91
+ this.input = input;
92
+ }
93
+ }
94
+ __decorate([
95
+ Expose(),
96
+ __metadata("design:type", String)
97
+ ], ContentBlockToolUse.prototype, "id", void 0);
98
+ __decorate([
99
+ Expose(),
100
+ __metadata("design:type", String)
101
+ ], ContentBlockToolUse.prototype, "name", void 0);
102
+ __decorate([
103
+ Expose(),
104
+ __metadata("design:type", Object)
105
+ ], ContentBlockToolUse.prototype, "input", void 0);
106
+ export class AnthropicEventWithContentBlock extends AnthropicEvent {
107
+ }
108
+ __decorate([
109
+ Type(() => ContentBlockBody, {
110
+ discriminator: {
111
+ property: 'type',
112
+ subTypes: [
113
+ { value: ContentBlockText, name: ContentBlockType.TEXT },
114
+ { value: ContentBlockToolUse, name: ContentBlockType.TOOL_USE }
115
+ ]
116
+ }
117
+ }),
118
+ Expose(),
119
+ __metadata("design:type", ContentBlockBody)
120
+ ], AnthropicEventWithContentBlock.prototype, "contentBlock", void 0);
121
+ /**
122
+ * Special event used to aggregate multiple tool use events into a single event with
123
+ * list of aggregated ContentBlockToolUse.
124
+ */
125
+ export class ToolUseAggregationEvent extends AnthropicEvent {
126
+ constructor() {
127
+ super(...arguments);
128
+ /*
129
+ * The partial JSON content.
130
+ */
131
+ this.partialJson = '';
132
+ /*
133
+ * The tool content blocks.
134
+ */
135
+ this.toolContentBlocks = [];
136
+ }
137
+ isEmpty() {
138
+ return (this.index === undefined || !this.id || !this.name || !this.partialJson);
139
+ }
140
+ appendPartialJson(partialJson) {
141
+ this.partialJson = this.partialJson + partialJson;
142
+ return this;
143
+ }
144
+ squashIntoContentBlock() {
145
+ const map = (this.partialJson) ? JSON.parse(this.partialJson) : {};
146
+ this.toolContentBlocks.push(new ContentBlockToolUse(ContentBlockType.TOOL_USE, this.id, this.name, map));
147
+ this.index = undefined;
148
+ this.id = undefined;
149
+ this.name = undefined;
150
+ this.partialJson = '';
151
+ }
152
+ }
153
+ __decorate([
154
+ Expose(),
155
+ __metadata("design:type", Number)
156
+ ], ToolUseAggregationEvent.prototype, "index", void 0);
157
+ __decorate([
158
+ Expose(),
159
+ __metadata("design:type", String)
160
+ ], ToolUseAggregationEvent.prototype, "id", void 0);
161
+ __decorate([
162
+ Expose(),
163
+ __metadata("design:type", String)
164
+ ], ToolUseAggregationEvent.prototype, "name", void 0);
165
+ __decorate([
166
+ Expose(),
167
+ __metadata("design:type", Object)
168
+ ], ToolUseAggregationEvent.prototype, "partialJson", void 0);
169
+ __decorate([
170
+ Type(() => ContentBlockToolUse),
171
+ Expose(),
172
+ __metadata("design:type", Array)
173
+ ], ToolUseAggregationEvent.prototype, "toolContentBlocks", void 0);
174
+ /**
175
+ * Content block delta body.
176
+ */
177
+ export class ContentBlockDeltaBody {
178
+ }
179
+ __decorate([
180
+ Expose(),
181
+ __metadata("design:type", String)
182
+ ], ContentBlockDeltaBody.prototype, "type", void 0);
183
+ /**
184
+ * Text content block delta.
185
+ */
186
+ export class ContentBlockDeltaText extends ContentBlockDeltaBody {
187
+ }
188
+ __decorate([
189
+ Expose(),
190
+ __metadata("design:type", String)
191
+ ], ContentBlockDeltaText.prototype, "text", void 0);
192
+ /**
193
+ * JSON content block delta.
194
+ */
195
+ export class ContentBlockDeltaJson extends ContentBlockDeltaBody {
196
+ }
197
+ __decorate([
198
+ Expose(),
199
+ __metadata("design:type", String)
200
+ ], ContentBlockDeltaJson.prototype, "partialJson", void 0);
201
+ /**
202
+ * Content block stop event.
203
+ */
204
+ export class ContentBlockStopEvent extends AnthropicEvent {
205
+ }
206
+ __decorate([
207
+ Expose(),
208
+ __metadata("design:type", Number)
209
+ ], ContentBlockStopEvent.prototype, "index", void 0);
210
+ /**
211
+ * Content block start event.
212
+ */
213
+ export class ContentBlockStartEvent extends AnthropicEventWithContentBlock {
214
+ }
215
+ __decorate([
216
+ Expose(),
217
+ __metadata("design:type", Number)
218
+ ], ContentBlockStartEvent.prototype, "index", void 0);
219
+ /**
220
+ * Content block delta event.
221
+ */
222
+ export class ContentBlockDeltaEvent extends AnthropicEvent {
223
+ }
224
+ __decorate([
225
+ Expose(),
226
+ __metadata("design:type", Number)
227
+ ], ContentBlockDeltaEvent.prototype, "index", void 0);
228
+ __decorate([
229
+ Type(() => ContentBlockDeltaBody, {
230
+ discriminator: {
231
+ property: 'type',
232
+ subTypes: [
233
+ { value: ContentBlockDeltaText, name: ContentBlockType.TEXT_DELTA },
234
+ { value: ContentBlockDeltaJson, name: ContentBlockType.INPUT_JSON_DELTA }
235
+ ]
236
+ }
237
+ }),
238
+ Expose(),
239
+ __metadata("design:type", ContentBlockDeltaBody)
240
+ ], ContentBlockDeltaEvent.prototype, "delta", void 0);
241
+ /**
242
+ * Message start event.
243
+ */
244
+ export class MessageStartEvent {
245
+ constructor(type, message) {
246
+ this.type = type;
247
+ this.message = message;
248
+ }
249
+ }
250
+ __decorate([
251
+ Expose(),
252
+ __metadata("design:type", String)
253
+ ], MessageStartEvent.prototype, "type", void 0);
254
+ __decorate([
255
+ Type(() => ChatResponse),
256
+ Expose(),
257
+ __metadata("design:type", ChatResponse)
258
+ ], MessageStartEvent.prototype, "message", void 0);
259
+ /**
260
+ * Message delta.
261
+ */
262
+ export class MessageDelta {
263
+ }
264
+ __decorate([
265
+ Expose({ name: 'stop_reason' }),
266
+ __metadata("design:type", String)
267
+ ], MessageDelta.prototype, "stopReason", void 0);
268
+ __decorate([
269
+ Expose({ name: 'stop_sequence' }),
270
+ __metadata("design:type", String)
271
+ ], MessageDelta.prototype, "stopSequence", void 0);
272
+ /**
273
+ * Message delta usage.
274
+ */
275
+ export class MessageDeltaUsage {
276
+ }
277
+ __decorate([
278
+ Expose({ name: 'output_tokens' }),
279
+ __metadata("design:type", Number)
280
+ ], MessageDeltaUsage.prototype, "outputTokens", void 0);
281
+ /**
282
+ * Message delta event.
283
+ */
284
+ export class MessageDeltaEvent extends AnthropicEvent {
285
+ }
286
+ __decorate([
287
+ Type(() => MessageDelta),
288
+ Expose(),
289
+ __metadata("design:type", MessageDelta)
290
+ ], MessageDeltaEvent.prototype, "delta", void 0);
291
+ __decorate([
292
+ Type(() => MessageDeltaUsage),
293
+ Expose(),
294
+ __metadata("design:type", MessageDeltaUsage)
295
+ ], MessageDeltaEvent.prototype, "usage", void 0);
296
+ /**
297
+ * Message stop event.
298
+ */
299
+ export class MessageStopEvent extends AnthropicEvent {
300
+ }
301
+ /**
302
+ * Error event.
303
+ */
304
+ export class ErrorEvent extends AnthropicEvent {
305
+ }
306
+ /**
307
+ * Error body.
308
+ */
309
+ export class Error {
310
+ }
311
+ __decorate([
312
+ Expose(),
313
+ __metadata("design:type", String)
314
+ ], Error.prototype, "type", void 0);
315
+ __decorate([
316
+ Expose(),
317
+ __metadata("design:type", String)
318
+ ], Error.prototype, "message", void 0);
319
+ /**
320
+ * Ping event.
321
+ */
322
+ export class PingEvent extends AnthropicEvent {
323
+ }
324
+ export class AnthropicStreamEvent {
325
+ }
326
+ __decorate([
327
+ Type(() => AnthropicEvent, {
328
+ discriminator: {
329
+ property: 'type',
330
+ subTypes: [
331
+ { value: ContentBlockStartEvent, name: EventType.CONTENT_BLOCK_START },
332
+ { value: ContentBlockDeltaEvent, name: EventType.CONTENT_BLOCK_DELTA },
333
+ { value: ContentBlockStopEvent, name: EventType.CONTENT_BLOCK_STOP },
334
+ { value: PingEvent, name: EventType.PING },
335
+ { value: ErrorEvent, name: EventType.ERROR },
336
+ { value: MessageStartEvent, name: EventType.MESSAGE_START },
337
+ { value: MessageDeltaEvent, name: EventType.MESSAGE_DELTA },
338
+ { value: MessageStopEvent, name: EventType.MESSAGE_STOP }
339
+ ]
340
+ }
341
+ }),
342
+ __metadata("design:type", AnthropicEvent)
343
+ ], AnthropicStreamEvent.prototype, "data", void 0);
344
+ //# sourceMappingURL=event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../../src/common/api/event.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export * from './api-protocol.js';
2
+ export * from './chat-request.js';
3
+ export * from './chat-response.js';
4
+ export * from './anthropic-api.js';
5
+ export * from './event.js';
6
+ export * from './message.js';
7
+ export * from './usage.js';
8
+ export * from './content-block.js';
9
+ export * from './anthropic-model.js';
@@ -0,0 +1,10 @@
1
+ export * from './api-protocol.js';
2
+ export * from './chat-request.js';
3
+ export * from './chat-response.js';
4
+ export * from './anthropic-api.js';
5
+ export * from './event.js';
6
+ export * from './message.js';
7
+ export * from './usage.js';
8
+ export * from './content-block.js';
9
+ export * from './anthropic-model.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { ContentBlock } from './content-block.js';
2
+ /**
3
+ * The role of the message in the conversation.
4
+ */
5
+ export declare enum Role {
6
+ /**
7
+ * User message type.
8
+ */
9
+ USER = "user",
10
+ /**
11
+ * Assistant message type. Usually the response from the model.
12
+ */
13
+ ASSISTANT = "assistant"
14
+ }
15
+ /**
16
+ * Input messages.
17
+ *
18
+ * Our models are trained to operate on alternating user and assistant conversational
19
+ * turns. When creating a new Message, you specify the prior conversational turns with
20
+ * the messages parameter, and the model then generates the next Message in the
21
+ * conversation. Each input message must be an object with a role and content. You can
22
+ * specify a single user-role message, or you can include multiple user and assistant
23
+ * messages. The first message must always use the user role. If the final message
24
+ * uses the assistant role, the response content will continue immediately from the
25
+ * content in that message. This can be used to constrain part of the model's
26
+ * response.
27
+ */
28
+ export declare class AnthropicMessage {
29
+ /**
30
+ * The contents of the message. Can be of one of String or MultiModalContent
31
+ * types.
32
+ */
33
+ content: ContentBlock[];
34
+ /**
35
+ * The role of the messages author. Could be one of the {@link Role}
36
+ * types.
37
+ */
38
+ role: Role;
39
+ constructor(content: ContentBlock[], role: Role);
40
+ }
@@ -0,0 +1,54 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Expose, Type } from 'class-transformer';
11
+ import { ContentBlock } from './content-block.js';
12
+ /**
13
+ * The role of the message in the conversation.
14
+ */
15
+ export var Role;
16
+ (function (Role) {
17
+ /**
18
+ * User message type.
19
+ */
20
+ Role["USER"] = "user";
21
+ /**
22
+ * Assistant message type. Usually the response from the model.
23
+ */
24
+ Role["ASSISTANT"] = "assistant";
25
+ })(Role || (Role = {}));
26
+ /**
27
+ * Input messages.
28
+ *
29
+ * Our models are trained to operate on alternating user and assistant conversational
30
+ * turns. When creating a new Message, you specify the prior conversational turns with
31
+ * the messages parameter, and the model then generates the next Message in the
32
+ * conversation. Each input message must be an object with a role and content. You can
33
+ * specify a single user-role message, or you can include multiple user and assistant
34
+ * messages. The first message must always use the user role. If the final message
35
+ * uses the assistant role, the response content will continue immediately from the
36
+ * content in that message. This can be used to constrain part of the model's
37
+ * response.
38
+ */
39
+ export class AnthropicMessage {
40
+ constructor(content, role) {
41
+ this.content = content;
42
+ this.role = role;
43
+ }
44
+ }
45
+ __decorate([
46
+ Type(() => ContentBlock),
47
+ Expose(),
48
+ __metadata("design:type", Array)
49
+ ], AnthropicMessage.prototype, "content", void 0);
50
+ __decorate([
51
+ Expose(),
52
+ __metadata("design:type", String)
53
+ ], AnthropicMessage.prototype, "role", void 0);
54
+ //# sourceMappingURL=message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/common/api/message.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAN,IAAY,IASX;AATD,WAAY,IAAI;IACZ;;OAEG;IACH,qBAAa,CAAA;IACb;;OAEG;IACH,+BAAuB,CAAA;AAC3B,CAAC,EATW,IAAI,KAAJ,IAAI,QASf;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,gBAAgB;IAgBzB,YAAY,OAAuB,EAAE,IAAU;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;AAbG;IAFC,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC;IACxB,MAAM,EAAE;;iDACe;AAOxB;IADC,MAAM,EAAE;;8CACE"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Usage statistics.
3
+ */
4
+ export declare class Usage {
5
+ /**
6
+ * The number of input tokens which were used.
7
+ */
8
+ inputTokens: number;
9
+ /**
10
+ * The number of output tokens which were used.
11
+ */
12
+ outputTokens: number;
13
+ constructor(inputTokens: number, outputTokens: number);
14
+ }
@@ -0,0 +1,28 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Expose } from 'class-transformer';
11
+ /**
12
+ * Usage statistics.
13
+ */
14
+ export class Usage {
15
+ constructor(inputTokens, outputTokens) {
16
+ this.inputTokens = inputTokens;
17
+ this.outputTokens = outputTokens;
18
+ }
19
+ }
20
+ __decorate([
21
+ Expose({ name: 'input_tokens' }),
22
+ __metadata("design:type", Number)
23
+ ], Usage.prototype, "inputTokens", void 0);
24
+ __decorate([
25
+ Expose({ name: 'output_tokens' }),
26
+ __metadata("design:type", Number)
27
+ ], Usage.prototype, "outputTokens", void 0);
28
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/common/api/usage.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C;;GAEG;AACH,MAAM,OAAO,KAAK;IAcd,YAAY,WAAmB,EAAE,YAAoB;QACjD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;CACJ;AAZG;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;;0CACb;AAMpB;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;;2CACb"}
@@ -0,0 +1,2 @@
1
+ export * from './api/index.js';
2
+ export * from './model/index.js';
@@ -0,0 +1,3 @@
1
+ export * from './api/index.js';
2
+ export * from './model/index.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { ChatModel, ChatResponse, ChatResponseMetadata, FunctionCallback, Media, Prompt } from '@celljs/ai-core';
2
+ import { Logger } from '@celljs/core';
3
+ import { Observable } from 'rxjs';
4
+ import { AnthropicAPI, ChatResponse as AnthriopicChatResponse, ChatRequest, ContentBlockType, Tool } from '../api/index.js';
5
+ import { AnthropicChatOptions } from './anthropic-chat-options.js';
6
+ export declare class AnthropicChatModel implements ChatModel {
7
+ protected readonly defaultOptions: AnthropicChatOptions;
8
+ protected readonly chatApi: AnthropicAPI;
9
+ protected readonly logger: Logger;
10
+ protected getContentBlockTypeByMedia(media: Media): ContentBlockType;
11
+ protected fromMediaData(mediaData: any): string;
12
+ protected resolveFunctionCallbacks(functions: Set<string>): FunctionCallback[];
13
+ protected getFunctionTools(functions: Set<string>): Tool[];
14
+ protected createRequest(prompt: Prompt, stream: boolean): ChatRequest;
15
+ protected from(response: AnthriopicChatResponse): ChatResponseMetadata;
16
+ protected toChatResponse(response?: AnthriopicChatResponse): ChatResponse;
17
+ call(prompt: Prompt): Promise<ChatResponse>;
18
+ stream(prompt: Prompt): Promise<Observable<ChatResponse>>;
19
+ }