@celljs/ai-anthropic 3.4.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.
- package/LICENSE +21 -0
- package/README.md +82 -0
- package/lib/common/api/anthropic-api.d.ts +16 -0
- package/lib/common/api/anthropic-api.d.ts.map +1 -0
- package/lib/common/api/anthropic-api.js +76 -0
- package/lib/common/api/anthropic-api.js.map +1 -0
- package/lib/common/api/anthropic-api.spec.d.ts +2 -0
- package/lib/common/api/anthropic-api.spec.d.ts.map +1 -0
- package/lib/common/api/anthropic-api.spec.js +146 -0
- package/lib/common/api/anthropic-api.spec.js.map +1 -0
- package/lib/common/api/anthropic-model.d.ts +34 -0
- package/lib/common/api/anthropic-model.d.ts.map +1 -0
- package/lib/common/api/anthropic-model.js +39 -0
- package/lib/common/api/anthropic-model.js.map +1 -0
- package/lib/common/api/api-protocol.d.ts +40 -0
- package/lib/common/api/api-protocol.d.ts.map +1 -0
- package/lib/common/api/api-protocol.js +6 -0
- package/lib/common/api/api-protocol.js.map +1 -0
- package/lib/common/api/chat-request.d.ts +144 -0
- package/lib/common/api/chat-request.d.ts.map +1 -0
- package/lib/common/api/chat-request.js +151 -0
- package/lib/common/api/chat-request.js.map +1 -0
- package/lib/common/api/chat-response.d.ts +72 -0
- package/lib/common/api/chat-response.d.ts.map +1 -0
- package/lib/common/api/chat-response.js +96 -0
- package/lib/common/api/chat-response.js.map +1 -0
- package/lib/common/api/content-block.d.ts +100 -0
- package/lib/common/api/content-block.d.ts.map +1 -0
- package/lib/common/api/content-block.js +84 -0
- package/lib/common/api/content-block.js.map +1 -0
- package/lib/common/api/event.d.ts +188 -0
- package/lib/common/api/event.d.ts.map +1 -0
- package/lib/common/api/event.js +249 -0
- package/lib/common/api/event.js.map +1 -0
- package/lib/common/api/index.d.ts +10 -0
- package/lib/common/api/index.d.ts.map +1 -0
- package/lib/common/api/index.js +13 -0
- package/lib/common/api/index.js.map +1 -0
- package/lib/common/api/message.d.ts +41 -0
- package/lib/common/api/message.d.ts.map +1 -0
- package/lib/common/api/message.js +45 -0
- package/lib/common/api/message.js.map +1 -0
- package/lib/common/api/usage.d.ts +15 -0
- package/lib/common/api/usage.d.ts.map +1 -0
- package/lib/common/api/usage.js +24 -0
- package/lib/common/api/usage.js.map +1 -0
- package/lib/common/index.d.ts +3 -0
- package/lib/common/index.d.ts.map +1 -0
- package/lib/common/index.js +6 -0
- package/lib/common/index.js.map +1 -0
- package/lib/common/model/anthropic-chat-model.d.ts +20 -0
- package/lib/common/model/anthropic-chat-model.d.ts.map +1 -0
- package/lib/common/model/anthropic-chat-model.js +161 -0
- package/lib/common/model/anthropic-chat-model.js.map +1 -0
- package/lib/common/model/anthropic-chat-model.spec.d.ts +2 -0
- package/lib/common/model/anthropic-chat-model.spec.d.ts.map +1 -0
- package/lib/common/model/anthropic-chat-model.spec.js +64 -0
- package/lib/common/model/anthropic-chat-model.spec.js.map +1 -0
- package/lib/common/model/anthropic-chat-options.d.ts +55 -0
- package/lib/common/model/anthropic-chat-options.d.ts.map +1 -0
- package/lib/common/model/anthropic-chat-options.js +157 -0
- package/lib/common/model/anthropic-chat-options.js.map +1 -0
- package/lib/common/model/index.d.ts +3 -0
- package/lib/common/model/index.d.ts.map +1 -0
- package/lib/common/model/index.js +6 -0
- package/lib/common/model/index.js.map +1 -0
- package/lib/common/module.d.ts +4 -0
- package/lib/common/module.d.ts.map +1 -0
- package/lib/common/module.js +6 -0
- package/lib/common/module.js.map +1 -0
- package/lib/common/test/mock-anthropic-api.d.ts +9 -0
- package/lib/common/test/mock-anthropic-api.d.ts.map +1 -0
- package/lib/common/test/mock-anthropic-api.js +46 -0
- package/lib/common/test/mock-anthropic-api.js.map +1 -0
- package/lib/common/test/test-container.d.ts +3 -0
- package/lib/common/test/test-container.d.ts.map +1 -0
- package/lib/common/test/test-container.js +15 -0
- package/lib/common/test/test-container.js.map +1 -0
- package/lib/common/utils/index.d.ts +2 -0
- package/lib/common/utils/index.d.ts.map +1 -0
- package/lib/common/utils/index.js +5 -0
- package/lib/common/utils/index.js.map +1 -0
- package/lib/common/utils/stream-util.d.ts +9 -0
- package/lib/common/utils/stream-util.d.ts.map +1 -0
- package/lib/common/utils/stream-util.js +114 -0
- package/lib/common/utils/stream-util.js.map +1 -0
- package/lib/package.spec.d.ts +1 -0
- package/lib/package.spec.d.ts.map +1 -0
- package/lib/package.spec.js +4 -0
- package/lib/package.spec.js.map +1 -0
- package/package.json +46 -0
- package/src/common/api/anthropic-api.spec.ts +165 -0
- package/src/common/api/anthropic-api.ts +90 -0
- package/src/common/api/anthropic-model.ts +42 -0
- package/src/common/api/api-protocol.ts +45 -0
- package/src/common/api/chat-request.ts +280 -0
- package/src/common/api/chat-response.ts +161 -0
- package/src/common/api/content-block.ts +155 -0
- package/src/common/api/event.ts +376 -0
- package/src/common/api/index.ts +9 -0
- package/src/common/api/message.ts +49 -0
- package/src/common/api/usage.ts +24 -0
- package/src/common/index.ts +2 -0
- package/src/common/model/anthropic-chat-model.spec.ts +67 -0
- package/src/common/model/anthropic-chat-model.ts +187 -0
- package/src/common/model/anthropic-chat-options.ts +152 -0
- package/src/common/model/index.ts +2 -0
- package/src/common/module.ts +4 -0
- package/src/common/test/mock-anthropic-api.ts +62 -0
- package/src/common/test/test-container.ts +12 -0
- package/src/common/utils/index.ts +1 -0
- package/src/common/utils/stream-util.ts +142 -0
- package/src/package.spec.ts +4 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AnthropicChatModel = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const ai_core_1 = require("@celljs/ai-core");
|
|
6
|
+
const core_1 = require("@celljs/core");
|
|
7
|
+
const api_1 = require("../api");
|
|
8
|
+
const anthropic_chat_options_1 = require("./anthropic-chat-options");
|
|
9
|
+
const operators_1 = require("rxjs/operators");
|
|
10
|
+
let AnthropicChatModel = class AnthropicChatModel {
|
|
11
|
+
getContentBlockTypeByMedia(media) {
|
|
12
|
+
if (media.mediaType.startsWith('image')) {
|
|
13
|
+
return api_1.ContentBlockType.IMAGE;
|
|
14
|
+
}
|
|
15
|
+
else if (media.mediaType.startsWith('pdf')) {
|
|
16
|
+
return api_1.ContentBlockType.DOCUMENT;
|
|
17
|
+
}
|
|
18
|
+
throw new core_1.IllegalArgumentError(`Unsupported media type: ${media.mediaType}. Supported types are: images (image/*) and PDF documents (application/pdf)`);
|
|
19
|
+
}
|
|
20
|
+
fromMediaData(mediaData) {
|
|
21
|
+
if (mediaData instanceof Uint8Array) {
|
|
22
|
+
return btoa(String.fromCharCode(...mediaData));
|
|
23
|
+
}
|
|
24
|
+
else if (typeof mediaData === 'string') {
|
|
25
|
+
return mediaData;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
throw new core_1.IllegalArgumentError(`Unsupported media data type: ${typeof mediaData}`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
resolveFunctionCallbacks(functions) {
|
|
32
|
+
return [];
|
|
33
|
+
}
|
|
34
|
+
getFunctionTools(functions) {
|
|
35
|
+
return this.resolveFunctionCallbacks(functions).map(func => new api_1.Tool(func.name, func.description, JSON.parse(func.inputTypeSchema)));
|
|
36
|
+
}
|
|
37
|
+
createRequest(prompt, stream) {
|
|
38
|
+
const userMessages = prompt.instructions
|
|
39
|
+
.filter(message => message.messageType !== ai_core_1.MessageType.SYSTEM)
|
|
40
|
+
.map(message => {
|
|
41
|
+
if (message.messageType === ai_core_1.MessageType.USER) {
|
|
42
|
+
const contents = [new api_1.ContentBlock(api_1.ContentBlockType.TEXT, undefined, message.content)];
|
|
43
|
+
if (message instanceof ai_core_1.UserMessage) {
|
|
44
|
+
if (message.media.length > 0) {
|
|
45
|
+
const mediaContent = message.media.map(media => {
|
|
46
|
+
const contentBlockType = this.getContentBlockTypeByMedia(media);
|
|
47
|
+
const source = new api_1.Source('base64', media.mediaType, this.fromMediaData(media.data));
|
|
48
|
+
return new api_1.ContentBlock(contentBlockType, source);
|
|
49
|
+
});
|
|
50
|
+
contents.push(...mediaContent);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return new api_1.AnthropicMessage(contents, message.messageType === ai_core_1.MessageType.USER ? api_1.Role.USER : api_1.Role.ASSISTANT);
|
|
54
|
+
}
|
|
55
|
+
else if (message.messageType === ai_core_1.MessageType.ASSISTANT) {
|
|
56
|
+
const assistantMessage = message;
|
|
57
|
+
const contentBlocks = [];
|
|
58
|
+
if (message.content) {
|
|
59
|
+
contentBlocks.push(new api_1.ContentBlock(api_1.ContentBlockType.TEXT, undefined, message.content));
|
|
60
|
+
}
|
|
61
|
+
if (assistantMessage.toolCalls.length > 0) {
|
|
62
|
+
for (const toolCall of assistantMessage.toolCalls) {
|
|
63
|
+
contentBlocks.push(new api_1.ContentBlock(api_1.ContentBlockType.TOOL_USE, undefined, undefined, undefined, toolCall.id, toolCall.name, JSON.parse(toolCall.arguments)));
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return new api_1.AnthropicMessage(contentBlocks, api_1.Role.ASSISTANT);
|
|
67
|
+
}
|
|
68
|
+
else if (message.messageType === ai_core_1.MessageType.TOOL) {
|
|
69
|
+
const toolResponses = message.responses.map(toolResponse => new api_1.ContentBlock(api_1.ContentBlockType.TOOL_RESULT, undefined, undefined, undefined, toolResponse.id, toolResponse.responseData));
|
|
70
|
+
return new api_1.AnthropicMessage(toolResponses, api_1.Role.USER);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
throw new core_1.IllegalArgumentError(`Unsupported message type: ${message.messageType}`);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
const systemPrompt = prompt.instructions
|
|
77
|
+
.filter(m => m.messageType === ai_core_1.MessageType.SYSTEM)
|
|
78
|
+
.map(m => m.content)
|
|
79
|
+
.join('\n');
|
|
80
|
+
let request = new api_1.ChatRequest(this.defaultOptions.model, userMessages, systemPrompt, this.defaultOptions.maxTokens, this.defaultOptions.temperature, stream);
|
|
81
|
+
if (prompt.options) {
|
|
82
|
+
request = Object.assign(request, prompt.options);
|
|
83
|
+
}
|
|
84
|
+
const functionsForThisRequest = new Set();
|
|
85
|
+
if (this.defaultOptions.functions.size > 0) {
|
|
86
|
+
this.defaultOptions.functions.forEach(func => functionsForThisRequest.add(func));
|
|
87
|
+
}
|
|
88
|
+
if (functionsForThisRequest.size > 0) {
|
|
89
|
+
const tools = this.getFunctionTools(functionsForThisRequest);
|
|
90
|
+
request.tools = tools;
|
|
91
|
+
}
|
|
92
|
+
return request;
|
|
93
|
+
}
|
|
94
|
+
from(response) {
|
|
95
|
+
return ai_core_1.ChatResponseMetadata.builder()
|
|
96
|
+
.id(response.id)
|
|
97
|
+
.model(response.model)
|
|
98
|
+
.usage(ai_core_1.Usage.from(response.usage.inputTokens, response.usage.outputTokens))
|
|
99
|
+
.keyValue('stop-reason', response.stopReason)
|
|
100
|
+
.keyValue('stop-sequence', response.stopSequence)
|
|
101
|
+
.keyValue('type', response.type)
|
|
102
|
+
.build();
|
|
103
|
+
}
|
|
104
|
+
toChatResponse(response) {
|
|
105
|
+
if (response === undefined) {
|
|
106
|
+
this.logger.warn('Null chat completion returned');
|
|
107
|
+
return ai_core_1.ChatResponse.from([]);
|
|
108
|
+
}
|
|
109
|
+
const generations = response.content
|
|
110
|
+
.filter(content => content.type !== api_1.ContentBlockType.TOOL_USE)
|
|
111
|
+
.map(content => ai_core_1.Generation.from(new ai_core_1.AssistantMessage(content.text), ai_core_1.ChatGenerationMetadata.from(response.stopReason)));
|
|
112
|
+
const allGenerations = [...generations];
|
|
113
|
+
if (response.stopReason && generations.length === 0) {
|
|
114
|
+
const generation = ai_core_1.Generation.from(new ai_core_1.AssistantMessage(), ai_core_1.ChatGenerationMetadata.from(response.stopReason));
|
|
115
|
+
allGenerations.push(generation);
|
|
116
|
+
}
|
|
117
|
+
const toolToUseList = response.content.filter(c => c.type === api_1.ContentBlockType.TOOL_USE);
|
|
118
|
+
if (toolToUseList.length > 0) {
|
|
119
|
+
const toolCalls = [];
|
|
120
|
+
for (const toolToUse of toolToUseList) {
|
|
121
|
+
toolCalls.push({
|
|
122
|
+
id: toolToUse.id,
|
|
123
|
+
type: 'function',
|
|
124
|
+
name: toolToUse.name,
|
|
125
|
+
arguments: JSON.stringify(toolToUse.input)
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
const assistantMessage = new ai_core_1.AssistantMessage('', [], {}, toolCalls);
|
|
129
|
+
const toolCallGeneration = ai_core_1.Generation.from(assistantMessage, ai_core_1.ChatGenerationMetadata.from(response.stopReason));
|
|
130
|
+
allGenerations.push(toolCallGeneration);
|
|
131
|
+
}
|
|
132
|
+
return ai_core_1.ChatResponse.from(allGenerations, this.from(response));
|
|
133
|
+
}
|
|
134
|
+
async call(prompt) {
|
|
135
|
+
const request = this.createRequest(prompt, false);
|
|
136
|
+
const chatResponse = await this.chatApi.chat(request);
|
|
137
|
+
return this.toChatResponse(chatResponse);
|
|
138
|
+
}
|
|
139
|
+
async stream(prompt) {
|
|
140
|
+
const request = this.createRequest(prompt, true);
|
|
141
|
+
const chatResponse = await this.chatApi.streamingChat(request);
|
|
142
|
+
return chatResponse.pipe((0, operators_1.map)(chunk => this.toChatResponse(chunk)));
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
tslib_1.__decorate([
|
|
146
|
+
(0, core_1.Autowired)(anthropic_chat_options_1.AnthropicChatOptions),
|
|
147
|
+
tslib_1.__metadata("design:type", anthropic_chat_options_1.AnthropicChatOptions)
|
|
148
|
+
], AnthropicChatModel.prototype, "defaultOptions", void 0);
|
|
149
|
+
tslib_1.__decorate([
|
|
150
|
+
(0, core_1.Autowired)(api_1.AnthropicAPI),
|
|
151
|
+
tslib_1.__metadata("design:type", Object)
|
|
152
|
+
], AnthropicChatModel.prototype, "chatApi", void 0);
|
|
153
|
+
tslib_1.__decorate([
|
|
154
|
+
(0, core_1.Autowired)(core_1.Logger),
|
|
155
|
+
tslib_1.__metadata("design:type", Object)
|
|
156
|
+
], AnthropicChatModel.prototype, "logger", void 0);
|
|
157
|
+
AnthropicChatModel = tslib_1.__decorate([
|
|
158
|
+
(0, core_1.Component)(ai_core_1.ChatModel)
|
|
159
|
+
], AnthropicChatModel);
|
|
160
|
+
exports.AnthropicChatModel = AnthropicChatModel;
|
|
161
|
+
//# sourceMappingURL=anthropic-chat-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic-chat-model.js","sourceRoot":"","sources":["../../../src/common/model/anthropic-chat-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic-chat-model.spec.d.ts","sourceRoot":"","sources":["../../../src/common/model/anthropic-chat-model.spec.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const chai_1 = require("chai");
|
|
4
|
+
require("../index");
|
|
5
|
+
const anthropic_chat_model_1 = require("./anthropic-chat-model");
|
|
6
|
+
const ai_core_1 = require("@celljs/ai-core");
|
|
7
|
+
const test_container_1 = require("../test/test-container");
|
|
8
|
+
const anthropic_model_1 = require("../api/anthropic-model");
|
|
9
|
+
const mock_anthropic_api_1 = require("../test/mock-anthropic-api");
|
|
10
|
+
const api_protocol_1 = require("../api/api-protocol");
|
|
11
|
+
const container = (0, test_container_1.createContainer)();
|
|
12
|
+
describe('AnthropicChatModel', () => {
|
|
13
|
+
let anthropicChatModel;
|
|
14
|
+
let promptTemplate;
|
|
15
|
+
before(() => {
|
|
16
|
+
container.rebind(api_protocol_1.AnthropicAPI).to(mock_anthropic_api_1.MockAnthropicAPI).inSingletonScope();
|
|
17
|
+
anthropicChatModel = container.get(anthropic_chat_model_1.AnthropicChatModel);
|
|
18
|
+
promptTemplate = container.get(ai_core_1.PromptTemplate);
|
|
19
|
+
});
|
|
20
|
+
describe('call', () => {
|
|
21
|
+
it('should return a ChatResponse for a given prompt', async () => {
|
|
22
|
+
const prompt = await promptTemplate.create('Hello', { chatOptions: { model: anthropic_model_1.AnthropicModel.CLAUDE_3_5_SONNET } });
|
|
23
|
+
const response = await anthropicChatModel.call(prompt);
|
|
24
|
+
(0, chai_1.expect)(response).to.have.property('result');
|
|
25
|
+
(0, chai_1.expect)(response.result.output).to.be.instanceOf(ai_core_1.AssistantMessage);
|
|
26
|
+
});
|
|
27
|
+
it('should throw an error if the model is not set', async () => {
|
|
28
|
+
const prompt = await promptTemplate.create('Hello', { chatOptions: { model: '' } });
|
|
29
|
+
try {
|
|
30
|
+
await anthropicChatModel.call(prompt);
|
|
31
|
+
}
|
|
32
|
+
catch (e) {
|
|
33
|
+
(0, chai_1.expect)(e).to.be.instanceOf(Error);
|
|
34
|
+
(0, chai_1.expect)(e.message).to.equal('Model is not set!');
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
describe('stream', () => {
|
|
39
|
+
it('should return an Observable of ChatResponse for a given prompt', done => {
|
|
40
|
+
(async () => {
|
|
41
|
+
const prompt = await promptTemplate.create('Hello', { chatOptions: { model: anthropic_model_1.AnthropicModel.CLAUDE_3_5_SONNET } });
|
|
42
|
+
const response$ = await anthropicChatModel.stream(prompt);
|
|
43
|
+
response$.subscribe({
|
|
44
|
+
next: response => {
|
|
45
|
+
(0, chai_1.expect)(response).to.have.property('result');
|
|
46
|
+
(0, chai_1.expect)(response.result.output).to.be.instanceOf(ai_core_1.AssistantMessage);
|
|
47
|
+
},
|
|
48
|
+
complete: () => done()
|
|
49
|
+
});
|
|
50
|
+
})();
|
|
51
|
+
});
|
|
52
|
+
it('should throw an error if the model is not set', async () => {
|
|
53
|
+
const prompt = await promptTemplate.create('Hello', { chatOptions: { model: '' } });
|
|
54
|
+
try {
|
|
55
|
+
await anthropicChatModel.stream(prompt);
|
|
56
|
+
}
|
|
57
|
+
catch (e) {
|
|
58
|
+
(0, chai_1.expect)(e).to.be.instanceOf(Error);
|
|
59
|
+
(0, chai_1.expect)(e.message).to.equal('Model is not set!');
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
//# sourceMappingURL=anthropic-chat-model.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic-chat-model.spec.js","sourceRoot":"","sources":["../../../src/common/model/anthropic-chat-model.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { FunctionCallback, FunctionCallingOptions } from '@celljs/ai-core';
|
|
2
|
+
import { Metadata } from '../api/chat-request';
|
|
3
|
+
/**
|
|
4
|
+
* The options to be used when sending a chat request to the Anthropic API.
|
|
5
|
+
*/
|
|
6
|
+
export declare class AnthropicChatOptions implements FunctionCallingOptions {
|
|
7
|
+
model: string;
|
|
8
|
+
maxTokens: number;
|
|
9
|
+
metadata: Metadata;
|
|
10
|
+
stopSequences: string[];
|
|
11
|
+
temperature: number;
|
|
12
|
+
topP: number;
|
|
13
|
+
topK: number;
|
|
14
|
+
/**
|
|
15
|
+
* Tool Function Callbacks to register with the ChatModel. For Prompt
|
|
16
|
+
* Options the functionCallbacks are automatically enabled for the duration of the
|
|
17
|
+
* prompt execution. For Default Options the functionCallbacks are registered but
|
|
18
|
+
* disabled by default. Use the enableFunctions to set the functions from the registry
|
|
19
|
+
* to be used by the ChatModel chat completion requests.
|
|
20
|
+
*/
|
|
21
|
+
functionCallbacks: FunctionCallback[];
|
|
22
|
+
/**
|
|
23
|
+
* List of functions, identified by their names, to configure for function calling in
|
|
24
|
+
* the chat completion requests. Functions with those names must exist in the
|
|
25
|
+
* functionCallbacks registry. The {@link #functionCallbacks} from the PromptOptions
|
|
26
|
+
* are automatically enabled for the duration of the prompt execution
|
|
27
|
+
*
|
|
28
|
+
* Note that function enabled with the default options are enabled for all chat
|
|
29
|
+
* completion requests. This could impact the token count and the billing. If the
|
|
30
|
+
* functions is set in a prompt options, then the enabled functions are only active
|
|
31
|
+
* for the duration of this prompt execution
|
|
32
|
+
*/
|
|
33
|
+
functions: Set<string>;
|
|
34
|
+
proxyToolCalls: boolean;
|
|
35
|
+
toolContext: Record<string, any>;
|
|
36
|
+
static builder(): AnthropicChatOptionsBuilder;
|
|
37
|
+
static fromOptions(fromOptions: AnthropicChatOptions): AnthropicChatOptions;
|
|
38
|
+
}
|
|
39
|
+
export declare class AnthropicChatOptionsBuilder {
|
|
40
|
+
private options;
|
|
41
|
+
model(model: string): AnthropicChatOptionsBuilder;
|
|
42
|
+
maxTokens(maxTokens: number): AnthropicChatOptionsBuilder;
|
|
43
|
+
metadata(metadata: Metadata): AnthropicChatOptionsBuilder;
|
|
44
|
+
stopSequences(stopSequences: string[]): AnthropicChatOptionsBuilder;
|
|
45
|
+
temperature(temperature: number): AnthropicChatOptionsBuilder;
|
|
46
|
+
topP(topP: number): AnthropicChatOptionsBuilder;
|
|
47
|
+
topK(topK: number): AnthropicChatOptionsBuilder;
|
|
48
|
+
functionCallbacks(functionCallbacks: FunctionCallback[]): AnthropicChatOptionsBuilder;
|
|
49
|
+
functions(functions: Set<string>): AnthropicChatOptionsBuilder;
|
|
50
|
+
function(functionName: string): AnthropicChatOptionsBuilder;
|
|
51
|
+
proxyToolCalls(proxyToolCalls: boolean): AnthropicChatOptionsBuilder;
|
|
52
|
+
toolContext(toolContext: Record<string, any>): AnthropicChatOptionsBuilder;
|
|
53
|
+
build(): AnthropicChatOptions;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=anthropic-chat-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic-chat-options.d.ts","sourceRoot":"","sources":["../../../src/common/model/anthropic-chat-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE3E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAG/C;;GAEG;AACH,qBACa,oBAAqB,YAAW,sBAAsB;IAE/D,KAAK,EAAE,MAAM,CAAC;IAGd,SAAS,EAAE,MAAM,CAAC;IAElB,QAAQ,EAAE,QAAQ,CAAC;IAGnB,aAAa,EAAE,MAAM,EAAE,CAAC;IAGxB,WAAW,EAAE,MAAM,CAAC;IAGpB,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;OAMG;IAEH,iBAAiB,EAAE,gBAAgB,EAAE,CAAM;IAE3C;;;;;;;;;;OAUG;IAEH,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAqB;IAE3C,cAAc,EAAE,OAAO,CAAS;IAGhC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IAEtC,MAAM,CAAC,OAAO,IAAI,2BAA2B;IAI7C,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,oBAAoB,GAAG,oBAAoB;CAe9E;AAED,qBAAa,2BAA2B;IAEpC,OAAO,CAAC,OAAO,CAAoD;IAEnE,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,2BAA2B;IAKjD,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,2BAA2B;IAKzD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,2BAA2B;IAKzD,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,2BAA2B;IAKnE,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,2BAA2B;IAK7D,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,2BAA2B;IAK/C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,2BAA2B;IAK/C,iBAAiB,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,2BAA2B;IAKrF,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,2BAA2B;IAK9D,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,2BAA2B;IAK3D,cAAc,CAAC,cAAc,EAAE,OAAO,GAAG,2BAA2B;IAKpE,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,2BAA2B;IAS1E,KAAK,IAAI,oBAAoB;CAGhC"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var AnthropicChatOptions_1;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.AnthropicChatOptionsBuilder = exports.AnthropicChatOptions = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const class_transformer_1 = require("class-transformer");
|
|
7
|
+
const core_1 = require("@celljs/core");
|
|
8
|
+
/**
|
|
9
|
+
* The options to be used when sending a chat request to the Anthropic API.
|
|
10
|
+
*/
|
|
11
|
+
let AnthropicChatOptions = AnthropicChatOptions_1 = class AnthropicChatOptions {
|
|
12
|
+
constructor() {
|
|
13
|
+
/**
|
|
14
|
+
* Tool Function Callbacks to register with the ChatModel. For Prompt
|
|
15
|
+
* Options the functionCallbacks are automatically enabled for the duration of the
|
|
16
|
+
* prompt execution. For Default Options the functionCallbacks are registered but
|
|
17
|
+
* disabled by default. Use the enableFunctions to set the functions from the registry
|
|
18
|
+
* to be used by the ChatModel chat completion requests.
|
|
19
|
+
*/
|
|
20
|
+
this.functionCallbacks = [];
|
|
21
|
+
/**
|
|
22
|
+
* List of functions, identified by their names, to configure for function calling in
|
|
23
|
+
* the chat completion requests. Functions with those names must exist in the
|
|
24
|
+
* functionCallbacks registry. The {@link #functionCallbacks} from the PromptOptions
|
|
25
|
+
* are automatically enabled for the duration of the prompt execution
|
|
26
|
+
*
|
|
27
|
+
* Note that function enabled with the default options are enabled for all chat
|
|
28
|
+
* completion requests. This could impact the token count and the billing. If the
|
|
29
|
+
* functions is set in a prompt options, then the enabled functions are only active
|
|
30
|
+
* for the duration of this prompt execution
|
|
31
|
+
*/
|
|
32
|
+
this.functions = new Set();
|
|
33
|
+
this.proxyToolCalls = false;
|
|
34
|
+
this.toolContext = {};
|
|
35
|
+
}
|
|
36
|
+
static builder() {
|
|
37
|
+
return new AnthropicChatOptionsBuilder();
|
|
38
|
+
}
|
|
39
|
+
static fromOptions(fromOptions) {
|
|
40
|
+
return AnthropicChatOptions_1.builder()
|
|
41
|
+
.model(fromOptions.model)
|
|
42
|
+
.maxTokens(fromOptions.maxTokens)
|
|
43
|
+
.metadata(fromOptions.metadata)
|
|
44
|
+
.stopSequences(fromOptions.stopSequences)
|
|
45
|
+
.temperature(fromOptions.temperature)
|
|
46
|
+
.topP(fromOptions.topP)
|
|
47
|
+
.topK(fromOptions.topK)
|
|
48
|
+
.functionCallbacks(fromOptions.functionCallbacks)
|
|
49
|
+
.functions(fromOptions.functions)
|
|
50
|
+
.proxyToolCalls(fromOptions.proxyToolCalls)
|
|
51
|
+
.toolContext(fromOptions.toolContext)
|
|
52
|
+
.build();
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
tslib_1.__decorate([
|
|
56
|
+
(0, class_transformer_1.Expose)({ name: 'max_tokens' }),
|
|
57
|
+
tslib_1.__metadata("design:type", Number)
|
|
58
|
+
], AnthropicChatOptions.prototype, "maxTokens", void 0);
|
|
59
|
+
tslib_1.__decorate([
|
|
60
|
+
(0, class_transformer_1.Expose)({ name: 'stop_sequences' }),
|
|
61
|
+
tslib_1.__metadata("design:type", Array)
|
|
62
|
+
], AnthropicChatOptions.prototype, "stopSequences", void 0);
|
|
63
|
+
tslib_1.__decorate([
|
|
64
|
+
(0, class_transformer_1.Expose)({ name: 'temperature' }),
|
|
65
|
+
tslib_1.__metadata("design:type", Number)
|
|
66
|
+
], AnthropicChatOptions.prototype, "temperature", void 0);
|
|
67
|
+
tslib_1.__decorate([
|
|
68
|
+
(0, class_transformer_1.Expose)({ name: 'top_p' }),
|
|
69
|
+
tslib_1.__metadata("design:type", Number)
|
|
70
|
+
], AnthropicChatOptions.prototype, "topP", void 0);
|
|
71
|
+
tslib_1.__decorate([
|
|
72
|
+
(0, class_transformer_1.Expose)({ name: 'top_k' }),
|
|
73
|
+
tslib_1.__metadata("design:type", Number)
|
|
74
|
+
], AnthropicChatOptions.prototype, "topK", void 0);
|
|
75
|
+
tslib_1.__decorate([
|
|
76
|
+
(0, class_transformer_1.Exclude)(),
|
|
77
|
+
tslib_1.__metadata("design:type", Array)
|
|
78
|
+
], AnthropicChatOptions.prototype, "functionCallbacks", void 0);
|
|
79
|
+
tslib_1.__decorate([
|
|
80
|
+
(0, class_transformer_1.Exclude)(),
|
|
81
|
+
tslib_1.__metadata("design:type", Set)
|
|
82
|
+
], AnthropicChatOptions.prototype, "functions", void 0);
|
|
83
|
+
tslib_1.__decorate([
|
|
84
|
+
(0, class_transformer_1.Exclude)(),
|
|
85
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
86
|
+
], AnthropicChatOptions.prototype, "proxyToolCalls", void 0);
|
|
87
|
+
tslib_1.__decorate([
|
|
88
|
+
(0, class_transformer_1.Exclude)(),
|
|
89
|
+
tslib_1.__metadata("design:type", Object)
|
|
90
|
+
], AnthropicChatOptions.prototype, "toolContext", void 0);
|
|
91
|
+
AnthropicChatOptions = AnthropicChatOptions_1 = tslib_1.__decorate([
|
|
92
|
+
(0, core_1.Constant)(AnthropicChatOptions_1, new AnthropicChatOptions_1())
|
|
93
|
+
], AnthropicChatOptions);
|
|
94
|
+
exports.AnthropicChatOptions = AnthropicChatOptions;
|
|
95
|
+
class AnthropicChatOptionsBuilder {
|
|
96
|
+
constructor() {
|
|
97
|
+
this.options = new AnthropicChatOptions();
|
|
98
|
+
}
|
|
99
|
+
model(model) {
|
|
100
|
+
this.options.model = model;
|
|
101
|
+
return this;
|
|
102
|
+
}
|
|
103
|
+
maxTokens(maxTokens) {
|
|
104
|
+
this.options.maxTokens = maxTokens;
|
|
105
|
+
return this;
|
|
106
|
+
}
|
|
107
|
+
metadata(metadata) {
|
|
108
|
+
this.options.metadata = metadata;
|
|
109
|
+
return this;
|
|
110
|
+
}
|
|
111
|
+
stopSequences(stopSequences) {
|
|
112
|
+
this.options.stopSequences = stopSequences;
|
|
113
|
+
return this;
|
|
114
|
+
}
|
|
115
|
+
temperature(temperature) {
|
|
116
|
+
this.options.temperature = temperature;
|
|
117
|
+
return this;
|
|
118
|
+
}
|
|
119
|
+
topP(topP) {
|
|
120
|
+
this.options.topP = topP;
|
|
121
|
+
return this;
|
|
122
|
+
}
|
|
123
|
+
topK(topK) {
|
|
124
|
+
this.options.topK = topK;
|
|
125
|
+
return this;
|
|
126
|
+
}
|
|
127
|
+
functionCallbacks(functionCallbacks) {
|
|
128
|
+
this.options.functionCallbacks = functionCallbacks;
|
|
129
|
+
return this;
|
|
130
|
+
}
|
|
131
|
+
functions(functions) {
|
|
132
|
+
this.options.functions = functions;
|
|
133
|
+
return this;
|
|
134
|
+
}
|
|
135
|
+
function(functionName) {
|
|
136
|
+
this.options.functions.add(functionName);
|
|
137
|
+
return this;
|
|
138
|
+
}
|
|
139
|
+
proxyToolCalls(proxyToolCalls) {
|
|
140
|
+
this.options.proxyToolCalls = proxyToolCalls;
|
|
141
|
+
return this;
|
|
142
|
+
}
|
|
143
|
+
toolContext(toolContext) {
|
|
144
|
+
if (this.options.toolContext === undefined) {
|
|
145
|
+
this.options.toolContext = toolContext;
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
this.options.toolContext = { ...this.options.toolContext, ...toolContext };
|
|
149
|
+
}
|
|
150
|
+
return this;
|
|
151
|
+
}
|
|
152
|
+
build() {
|
|
153
|
+
return this.options;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
exports.AnthropicChatOptionsBuilder = AnthropicChatOptionsBuilder;
|
|
157
|
+
//# sourceMappingURL=anthropic-chat-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic-chat-options.js","sourceRoot":"","sources":["../../../src/common/model/anthropic-chat-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./anthropic-chat-model"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./anthropic-chat-options"), exports);
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/model/index.ts"],"names":[],"mappings":";;;AAAA,iEAAuC;AACvC,mEAAyC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/common/module.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,CAAC;;AAEjB,wBAA0B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/common/module.ts"],"names":[],"mappings":";;AAAA,uCAAwC;AACxC,mBAAiB;AAEjB,kBAAe,IAAA,eAAQ,GAAE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { AnthropicAPI } from '../api/api-protocol';
|
|
3
|
+
import { ChatRequest } from '../api/chat-request';
|
|
4
|
+
import { ChatResponse } from '../api/chat-response';
|
|
5
|
+
export declare class MockAnthropicAPI implements AnthropicAPI {
|
|
6
|
+
chat(chatRequest: ChatRequest): Promise<ChatResponse>;
|
|
7
|
+
streamingChat(chatRequest: ChatRequest): Promise<Observable<ChatResponse>>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=mock-anthropic-api.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockAnthropicAPI = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const core_1 = require("@celljs/core");
|
|
6
|
+
const rxjs_1 = require("rxjs");
|
|
7
|
+
const api_protocol_1 = require("../api/api-protocol");
|
|
8
|
+
const chat_response_1 = require("../api/chat-response");
|
|
9
|
+
const content_block_1 = require("../api/content-block");
|
|
10
|
+
const message_1 = require("../api/message");
|
|
11
|
+
let MockAnthropicAPI = class MockAnthropicAPI {
|
|
12
|
+
async chat(chatRequest) {
|
|
13
|
+
if (chatRequest.stream) {
|
|
14
|
+
throw new Error('Request must set the stream property to false.');
|
|
15
|
+
}
|
|
16
|
+
return new chat_response_1.ChatResponse('msg_123', 'message', message_1.Role.ASSISTANT, [
|
|
17
|
+
{
|
|
18
|
+
type: content_block_1.ContentBlockType.TEXT,
|
|
19
|
+
text: 'How can I assist you today?'
|
|
20
|
+
}
|
|
21
|
+
], chatRequest.model, 'end_turn', undefined, {
|
|
22
|
+
inputTokens: 10,
|
|
23
|
+
outputTokens: 20
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
async streamingChat(chatRequest) {
|
|
27
|
+
if (!chatRequest.stream) {
|
|
28
|
+
throw new Error('Request must set the stream property to true.');
|
|
29
|
+
}
|
|
30
|
+
const response = new chat_response_1.ChatResponse('msg_123', 'message', message_1.Role.ASSISTANT, [
|
|
31
|
+
{
|
|
32
|
+
type: content_block_1.ContentBlockType.TEXT,
|
|
33
|
+
text: 'How can I assist you today?'
|
|
34
|
+
}
|
|
35
|
+
], chatRequest.model, 'end_turn', undefined, {
|
|
36
|
+
inputTokens: 10,
|
|
37
|
+
outputTokens: 20
|
|
38
|
+
});
|
|
39
|
+
return (0, rxjs_1.from)([response]);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
MockAnthropicAPI = tslib_1.__decorate([
|
|
43
|
+
(0, core_1.Component)(api_protocol_1.AnthropicAPI)
|
|
44
|
+
], MockAnthropicAPI);
|
|
45
|
+
exports.MockAnthropicAPI = MockAnthropicAPI;
|
|
46
|
+
//# sourceMappingURL=mock-anthropic-api.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-container.d.ts","sourceRoot":"","sources":["../../../src/common/test/test-container.ts"],"names":[],"mappings":"AAGA,OAAO,UAAU,CAAC;AAIlB,eAAO,MAAM,eAAe,0EAI3B,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createContainer = void 0;
|
|
4
|
+
const test_module_1 = require("@celljs/core/lib/common/test/test-module");
|
|
5
|
+
const module_1 = require("@celljs/http/lib/common/module");
|
|
6
|
+
const core_1 = require("@celljs/core");
|
|
7
|
+
require("../index");
|
|
8
|
+
const ollamaTestModule = (0, core_1.autoBind)();
|
|
9
|
+
const createContainer = () => {
|
|
10
|
+
const container = core_1.ContainerFactory.create(test_module_1.coreTestModule, module_1.default, ollamaTestModule);
|
|
11
|
+
core_1.ContainerProvider.set(container);
|
|
12
|
+
return container;
|
|
13
|
+
};
|
|
14
|
+
exports.createContainer = createContainer;
|
|
15
|
+
//# sourceMappingURL=test-container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-container.js","sourceRoot":"","sources":["../../../src/common/test/test-container.ts"],"names":[],"mappings":";;;AAAA,0EAA0E;AAC1E,2DAAwD;AACxD,uCAA6E;AAC7E,oBAAkB;AAElB,MAAM,gBAAgB,GAAG,IAAA,eAAQ,GAAE,CAAC;AAE7B,MAAM,eAAe,GAAG,GAAG,EAAE;IAChC,MAAM,SAAS,GAAG,uBAAgB,CAAC,MAAM,CAAC,4BAAc,EAAE,gBAAU,EAAE,gBAAgB,CAAC,CAAC;IACxF,wBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACjC,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAJW,QAAA,eAAe,mBAI1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/utils/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B"}
|