@activeboxes/pieces-common 0.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.
Files changed (80) hide show
  1. package/README.md +7 -0
  2. package/package.json +35 -0
  3. package/src/index.d.ts +6 -0
  4. package/src/index.js +10 -0
  5. package/src/index.js.map +1 -0
  6. package/src/lib/ai/index.d.ts +94 -0
  7. package/src/lib/ai/index.js +44 -0
  8. package/src/lib/ai/index.js.map +1 -0
  9. package/src/lib/ai/providers/anthropic/index.d.ts +2 -0
  10. package/src/lib/ai/providers/anthropic/index.js +148 -0
  11. package/src/lib/ai/providers/anthropic/index.js.map +1 -0
  12. package/src/lib/ai/providers/index.d.ts +79 -0
  13. package/src/lib/ai/providers/index.js +170 -0
  14. package/src/lib/ai/providers/index.js.map +1 -0
  15. package/src/lib/ai/providers/openai/index.d.ts +22 -0
  16. package/src/lib/ai/providers/openai/index.js +224 -0
  17. package/src/lib/ai/providers/openai/index.js.map +1 -0
  18. package/src/lib/ai/providers/replicate/index.d.ts +10 -0
  19. package/src/lib/ai/providers/replicate/index.js +185 -0
  20. package/src/lib/ai/providers/replicate/index.js.map +1 -0
  21. package/src/lib/ai/providers/utils.d.ts +58 -0
  22. package/src/lib/ai/providers/utils.js +48 -0
  23. package/src/lib/ai/providers/utils.js.map +1 -0
  24. package/src/lib/authentication/index.d.ts +15 -0
  25. package/src/lib/authentication/index.js +9 -0
  26. package/src/lib/authentication/index.js.map +1 -0
  27. package/src/lib/helpers/index.d.ts +29 -0
  28. package/src/lib/helpers/index.js +101 -0
  29. package/src/lib/helpers/index.js.map +1 -0
  30. package/src/lib/http/axios/axios-http-client.d.ts +11 -0
  31. package/src/lib/http/axios/axios-http-client.js +74 -0
  32. package/src/lib/http/axios/axios-http-client.js.map +1 -0
  33. package/src/lib/http/core/base-http-client.d.ts +19 -0
  34. package/src/lib/http/core/base-http-client.js +52 -0
  35. package/src/lib/http/core/base-http-client.js.map +1 -0
  36. package/src/lib/http/core/delegating-authentication-converter.d.ts +17 -0
  37. package/src/lib/http/core/delegating-authentication-converter.js +33 -0
  38. package/src/lib/http/core/delegating-authentication-converter.js.map +1 -0
  39. package/src/lib/http/core/http-client.d.ts +9 -0
  40. package/src/lib/http/core/http-client.js +6 -0
  41. package/src/lib/http/core/http-client.js.map +1 -0
  42. package/src/lib/http/core/http-error.d.ts +33 -0
  43. package/src/lib/http/core/http-error.js +56 -0
  44. package/src/lib/http/core/http-error.js.map +1 -0
  45. package/src/lib/http/core/http-header.d.ts +6 -0
  46. package/src/lib/http/core/http-header.js +11 -0
  47. package/src/lib/http/core/http-header.js.map +1 -0
  48. package/src/lib/http/core/http-headers.d.ts +1 -0
  49. package/src/lib/http/core/http-headers.js +3 -0
  50. package/src/lib/http/core/http-headers.js.map +1 -0
  51. package/src/lib/http/core/http-message-body.d.ts +1 -0
  52. package/src/lib/http/core/http-message-body.js +3 -0
  53. package/src/lib/http/core/http-message-body.js.map +1 -0
  54. package/src/lib/http/core/http-method.d.ts +8 -0
  55. package/src/lib/http/core/http-method.js +13 -0
  56. package/src/lib/http/core/http-method.js.map +1 -0
  57. package/src/lib/http/core/http-request-body.d.ts +2 -0
  58. package/src/lib/http/core/http-request-body.js +3 -0
  59. package/src/lib/http/core/http-request-body.js.map +1 -0
  60. package/src/lib/http/core/http-request.d.ts +17 -0
  61. package/src/lib/http/core/http-request.js +3 -0
  62. package/src/lib/http/core/http-request.js.map +1 -0
  63. package/src/lib/http/core/http-response.d.ts +7 -0
  64. package/src/lib/http/core/http-response.js +3 -0
  65. package/src/lib/http/core/http-response.js.map +1 -0
  66. package/src/lib/http/core/media-type.d.ts +4 -0
  67. package/src/lib/http/core/media-type.js +9 -0
  68. package/src/lib/http/core/media-type.js.map +1 -0
  69. package/src/lib/http/core/query-params.d.ts +1 -0
  70. package/src/lib/http/core/query-params.js +3 -0
  71. package/src/lib/http/core/query-params.js.map +1 -0
  72. package/src/lib/http/index.d.ts +13 -0
  73. package/src/lib/http/index.js +17 -0
  74. package/src/lib/http/index.js.map +1 -0
  75. package/src/lib/polling/index.d.ts +57 -0
  76. package/src/lib/polling/index.js +136 -0
  77. package/src/lib/polling/index.js.map +1 -0
  78. package/src/lib/validation/index.d.ts +4 -0
  79. package/src/lib/validation/index.js +26 -0
  80. package/src/lib/validation/index.js.map +1 -0
@@ -0,0 +1,224 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.openaiModels = exports.openai = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const __1 = require("../..");
6
+ const shared_1 = require("@activeboxes/shared");
7
+ const openai_1 = tslib_1.__importDefault(require("openai"));
8
+ const utils_1 = require("../utils");
9
+ const pieces_framework_1 = require("@activeboxes/pieces-framework");
10
+ const mime_types_1 = tslib_1.__importDefault(require("mime-types"));
11
+ const openai = ({ proxyUrl, engineToken }) => {
12
+ const openaiApiVersion = 'v1';
13
+ const sdk = new openai_1.default({
14
+ apiKey: engineToken,
15
+ baseURL: `${proxyUrl}/${openaiApiVersion}`,
16
+ });
17
+ return {
18
+ provider: 'OPENAI',
19
+ function: {
20
+ call: (params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
21
+ var _a;
22
+ const messages = params.messages.map((message) => ({
23
+ role: __1.AIChatRole.USER,
24
+ content: [{ type: 'text', text: message.content }],
25
+ }));
26
+ if (params.files.length) {
27
+ const contents = [];
28
+ for (const file of params.files) {
29
+ const fileType = file.extension ? mime_types_1.default.lookup(file.extension) : 'image/jpeg';
30
+ if (fileType && fileType.startsWith('image')) {
31
+ contents.push({
32
+ type: 'image_url',
33
+ image_url: {
34
+ url: `data:image/${file.extension};base64,${file.base64}`,
35
+ },
36
+ });
37
+ }
38
+ }
39
+ if (contents.length) {
40
+ const lastMessage = messages[messages.length - 1];
41
+ if (lastMessage && lastMessage.role === __1.AIChatRole.USER) {
42
+ const exitingContent = lastMessage.content;
43
+ lastMessage.content = [...exitingContent, ...contents];
44
+ }
45
+ else {
46
+ messages.push({
47
+ role: __1.AIChatRole.USER,
48
+ content: contents,
49
+ });
50
+ }
51
+ }
52
+ }
53
+ const completion = yield sdk.chat.completions.create({
54
+ model: params.model,
55
+ messages: messages,
56
+ max_tokens: params.maxTokens,
57
+ tools: params.functions.map((functionDefinition) => ({
58
+ type: 'function',
59
+ function: {
60
+ name: functionDefinition.name,
61
+ description: functionDefinition.description,
62
+ parameters: functionDefinition.arguments,
63
+ },
64
+ })),
65
+ });
66
+ const toolCall = (_a = completion.choices[0].message.tool_calls) === null || _a === void 0 ? void 0 : _a[0];
67
+ return {
68
+ choices: completion.choices.map((choice) => {
69
+ var _a;
70
+ return ({
71
+ role: __1.AIChatRole.ASSISTANT,
72
+ content: (_a = choice.message.content) !== null && _a !== void 0 ? _a : '',
73
+ });
74
+ }),
75
+ call: toolCall
76
+ ? {
77
+ id: toolCall.id,
78
+ function: {
79
+ name: toolCall.function.name,
80
+ arguments: JSON.parse(toolCall.function.arguments),
81
+ },
82
+ }
83
+ : null,
84
+ created: completion.created,
85
+ model: completion.model,
86
+ usage: completion.usage && {
87
+ completionTokens: completion.usage.completion_tokens,
88
+ promptTokens: completion.usage.prompt_tokens,
89
+ totalTokens: completion.usage.total_tokens,
90
+ },
91
+ };
92
+ }),
93
+ },
94
+ image: {
95
+ generate: (params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
96
+ const mapper = findImageMapper(params.model);
97
+ const input = yield mapper.encodeInput(params);
98
+ const response = yield sdk.images.generate(input);
99
+ return mapper.decodeOutput(response);
100
+ }),
101
+ },
102
+ chat: {
103
+ text: (params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
104
+ var _a;
105
+ const completion = yield sdk.chat.completions.create({
106
+ model: params.model,
107
+ messages: params.messages.map((message) => ({
108
+ role: message.role === 'user' ? 'user' : 'assistant',
109
+ content: message.content,
110
+ })),
111
+ temperature: Math.tanh((_a = params.creativity) !== null && _a !== void 0 ? _a : 100),
112
+ max_tokens: params.maxTokens,
113
+ stop: params.stop,
114
+ });
115
+ return {
116
+ choices: completion.choices.map((choice) => {
117
+ var _a;
118
+ return ({
119
+ role: __1.AIChatRole.ASSISTANT,
120
+ content: (_a = choice.message.content) !== null && _a !== void 0 ? _a : '',
121
+ });
122
+ }),
123
+ created: completion.created,
124
+ model: completion.model,
125
+ usage: completion.usage && {
126
+ completionTokens: completion.usage.completion_tokens,
127
+ promptTokens: completion.usage.prompt_tokens,
128
+ totalTokens: completion.usage.total_tokens,
129
+ },
130
+ };
131
+ }),
132
+ },
133
+ moderation: {
134
+ create: (params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
135
+ var _a;
136
+ const inputs = [];
137
+ if (params.text) {
138
+ inputs.push({ type: 'text', text: params.text });
139
+ }
140
+ for (const image of (_a = params.images) !== null && _a !== void 0 ? _a : []) {
141
+ inputs.push({
142
+ type: 'image_url',
143
+ image_url: {
144
+ url: `data:image/${image.extension};base64,${image.base64}`,
145
+ },
146
+ });
147
+ }
148
+ const response = yield sdk.moderations.create({
149
+ input: inputs,
150
+ model: params.model,
151
+ });
152
+ return response.results[0];
153
+ }),
154
+ },
155
+ };
156
+ };
157
+ exports.openai = openai;
158
+ const findImageMapper = (model) => {
159
+ var _a;
160
+ const mapper = (_a = exports.openaiModels.find((m) => m.value === model)) === null || _a === void 0 ? void 0 : _a.mapper;
161
+ if ((0, shared_1.isNil)(mapper) || !('__tag' in mapper) || mapper.__tag !== utils_1.ModelType.IMAGE) {
162
+ throw new Error(`OpenAI image model ${model} not found`);
163
+ }
164
+ return mapper;
165
+ };
166
+ const openaiImageMapper = (0, utils_1.imageMapper)({
167
+ encodeInput: (params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
168
+ var _a;
169
+ return {
170
+ model: params.model,
171
+ prompt: params.prompt,
172
+ quality: (_a = params.advancedOptions) === null || _a === void 0 ? void 0 : _a['quality'],
173
+ size: params.size,
174
+ response_format: 'b64_json',
175
+ };
176
+ }),
177
+ decodeOutput: (result) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
178
+ const response = result;
179
+ const imageBase64 = response.data[0].b64_json;
180
+ return imageBase64 ? { image: imageBase64 } : null;
181
+ }),
182
+ advancedOptions: {
183
+ quality: pieces_framework_1.Property.StaticDropdown({
184
+ options: {
185
+ options: [
186
+ { label: 'Standard', value: 'standard' },
187
+ { label: 'HD', value: 'hd' },
188
+ ],
189
+ disabled: false,
190
+ placeholder: 'Select Image Quality',
191
+ },
192
+ defaultValue: 'standard',
193
+ description: 'Standard images are less detailed and faster to generate, while HD images are more detailed but slower to generate.',
194
+ displayName: 'Image Quality',
195
+ required: true,
196
+ }),
197
+ },
198
+ });
199
+ exports.openaiModels = [
200
+ (0, utils_1.model)({ label: 'gpt-4o', value: 'gpt-4o', supported: ['text', 'function'] }),
201
+ (0, utils_1.model)({
202
+ label: 'gpt-4o-mini',
203
+ value: 'gpt-4o-mini',
204
+ supported: ['text', 'function'],
205
+ }),
206
+ (0, utils_1.model)({
207
+ label: 'gpt-4-turbo',
208
+ value: 'gpt-4-turbo',
209
+ supported: ['text', 'function'],
210
+ }),
211
+ (0, utils_1.model)({
212
+ label: 'gpt-3.5-turbo',
213
+ value: 'gpt-3.5-turbo',
214
+ supported: ['text'],
215
+ }),
216
+ (0, utils_1.model)({ label: 'dall-e-3', value: 'dall-e-3', supported: ['image'] }).mapper(openaiImageMapper),
217
+ (0, utils_1.model)({ label: 'dall-e-2', value: 'dall-e-2', supported: ['image'] }).mapper(openaiImageMapper),
218
+ (0, utils_1.model)({
219
+ label: 'omni-moderation-latest',
220
+ value: 'omni-moderation-latest',
221
+ supported: ['moderation'],
222
+ }),
223
+ ];
224
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../../packages/pieces/community/common/src/lib/ai/providers/openai/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { AIFactory } from '../..';
2
+ import { ChatModelMapper, ImageModelMapper, ModelType } from '../utils';
3
+ export declare const replicate: AIFactory;
4
+ export declare const replicateModels: {
5
+ mapper: ImageModelMapper | ChatModelMapper;
6
+ __tag: ModelType.IMAGE | ModelType.CHAT;
7
+ label: string;
8
+ value: string;
9
+ supported: ("function" | "text" | "image" | "moderation")[];
10
+ }[];
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.replicateModels = exports.replicate = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activeboxes/pieces-framework");
6
+ const shared_1 = require("@activeboxes/shared");
7
+ const replicate_1 = tslib_1.__importDefault(require("replicate"));
8
+ const __1 = require("../..");
9
+ const utils_1 = require("../utils");
10
+ const replicate = ({ proxyUrl, engineToken }) => {
11
+ const sdk = new replicate_1.default({
12
+ auth: engineToken,
13
+ baseUrl: `${proxyUrl}/v1`,
14
+ });
15
+ return {
16
+ provider: 'replicate',
17
+ image: {
18
+ generate: (params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
19
+ const mapper = findMapper(params.model, utils_1.ModelType.IMAGE);
20
+ const modelOwner = params.model.split('/')[0];
21
+ const modelName = params.model.split('/')[1];
22
+ const versionId = params.model.split(':')[1];
23
+ const prediction = yield sdk.predictions.create({
24
+ model: `${modelOwner}/${modelName}`,
25
+ version: versionId,
26
+ input: yield mapper.encodeInput(params),
27
+ });
28
+ const result = yield sdk.wait(prediction, { interval: 500, mode: "poll" });
29
+ return mapper.decodeOutput(result.output);
30
+ }),
31
+ },
32
+ chat: {
33
+ text: (params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
34
+ const mapper = findMapper(params.model, utils_1.ModelType.CHAT);
35
+ const modelOwner = params.model.split('/')[0];
36
+ const modelName = params.model.split('/')[1];
37
+ const versionId = params.model.split(':')[1];
38
+ const prediction = yield sdk.predictions.create({
39
+ model: `${modelOwner}/${modelName}`,
40
+ version: versionId,
41
+ input: yield mapper.encodeInput(params),
42
+ });
43
+ const result = yield sdk.wait(prediction, { interval: 500, mode: "poll" });
44
+ return mapper.decodeOutput(result.output);
45
+ }),
46
+ },
47
+ };
48
+ };
49
+ exports.replicate = replicate;
50
+ const commonImageMapper = (0, utils_1.imageMapper)({
51
+ encodeInput: (params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
52
+ var _a, _b, _c, _d;
53
+ const [width, height] = (_b = (_a = params.size) === null || _a === void 0 ? void 0 : _a.split('x').map(Number)) !== null && _b !== void 0 ? _b : [512, 512];
54
+ const negativePrompt = (_d = (_c = params.advancedOptions) === null || _c === void 0 ? void 0 : _c['negativePrompt']) !== null && _d !== void 0 ? _d : null;
55
+ return {
56
+ prompt: params.prompt,
57
+ negative_prompt: negativePrompt,
58
+ width,
59
+ height,
60
+ num_outputs: 1,
61
+ };
62
+ }),
63
+ decodeOutput: (output) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
64
+ const imageUrls = output;
65
+ const imageUrl = imageUrls[0];
66
+ const image = yield fetch(imageUrl);
67
+ const imageBuffer = yield image.arrayBuffer();
68
+ const imageBase64 = Buffer.from(imageBuffer).toString('base64');
69
+ return {
70
+ image: imageBase64,
71
+ };
72
+ }),
73
+ advancedOptions: {
74
+ negativePrompt: pieces_framework_1.Property.ShortText({
75
+ displayName: 'Negative Prompt',
76
+ required: true,
77
+ description: 'A prompt to avoid in the generated image.',
78
+ }),
79
+ }
80
+ });
81
+ const llamaMapper = (0, utils_1.chatMapper)({
82
+ encodeInput: (params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
83
+ var _a;
84
+ const concatenatedSystemMessage = params.messages
85
+ .filter((message) => message.role === __1.AIChatRole.SYSTEM)
86
+ .map((message) => message.content)
87
+ .join('\n');
88
+ return {
89
+ system_prompt: concatenatedSystemMessage,
90
+ temperature: Math.tanh((_a = params.creativity) !== null && _a !== void 0 ? _a : 100),
91
+ prompt: params.messages
92
+ .filter((message) => message.role !== __1.AIChatRole.SYSTEM)
93
+ .map((message) => `${message.role}: ${message.content}`)
94
+ .join('\n'),
95
+ stop_sequences: params.stop,
96
+ max_tokens: params.maxTokens,
97
+ };
98
+ }),
99
+ decodeOutput: (output) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
100
+ const choices = output;
101
+ return {
102
+ choices: [{
103
+ content: choices.join(""),
104
+ role: __1.AIChatRole.ASSISTANT,
105
+ }],
106
+ };
107
+ }),
108
+ });
109
+ const mistralMapper = (0, utils_1.chatMapper)({
110
+ encodeInput: (params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
111
+ var _a;
112
+ const concatenatedSystemMessage = params.messages
113
+ .filter((message) => message.role === __1.AIChatRole.SYSTEM)
114
+ .map((message) => message.content)
115
+ .join('\n');
116
+ return {
117
+ system_prompt: concatenatedSystemMessage,
118
+ temperature: Math.tanh((_a = params.creativity) !== null && _a !== void 0 ? _a : 100),
119
+ prompt: params.messages
120
+ .filter((message) => message.role !== __1.AIChatRole.SYSTEM)
121
+ .map((message) => `${message.role}: ${message.content}`)
122
+ .join('\n'),
123
+ stop_sequences: params.stop,
124
+ max_new_tokens: params.maxTokens,
125
+ };
126
+ }),
127
+ decodeOutput: (output) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
128
+ const choices = output;
129
+ return {
130
+ choices: [{
131
+ content: choices.join(""),
132
+ role: __1.AIChatRole.ASSISTANT,
133
+ }],
134
+ };
135
+ }),
136
+ });
137
+ exports.replicateModels = [
138
+ (0, utils_1.model)({
139
+ label: "meta/meta-llama-3-70b-instruct",
140
+ value: "meta/meta-llama-3-70b-instruct",
141
+ supported: ['text']
142
+ }).mapper(llamaMapper),
143
+ (0, utils_1.model)({
144
+ label: "meta/meta-llama-3-8b-instruct",
145
+ value: "meta/meta-llama-3-8b-instruct",
146
+ supported: ['text']
147
+ }).mapper(llamaMapper),
148
+ (0, utils_1.model)({
149
+ label: "mistralai/mixtral-8x7b-instruct-v0.1",
150
+ value: "mistralai/mixtral-8x7b-instruct-v0.1",
151
+ supported: ['text']
152
+ }).mapper(mistralMapper),
153
+ (0, utils_1.model)({
154
+ label: "mistralai/mistral-7b-instruct-v0.2",
155
+ value: "mistralai/mistral-7b-instruct-v0.2",
156
+ supported: ['text']
157
+ }).mapper(mistralMapper),
158
+ (0, utils_1.model)({ label: 'bytedance/sdxl-lightning-4step', value: 'bytedance/sdxl-lightning-4step:5599ed30703defd1d160a25a63321b4dec97101d98b4674bcc56e41f62f35637', supported: ['image'] })
159
+ .mapper(commonImageMapper),
160
+ (0, utils_1.model)({ label: 'stability-ai/stable-diffusion', value: 'stability-ai/stable-diffusion:ac732df83cea7fff18b8472768c88ad041fa750ff7682a21affe81863cbe77e4', supported: ['image'] })
161
+ .mapper(commonImageMapper),
162
+ (0, utils_1.model)({ label: 'black-forest-labs/flux-schnell', value: 'black-forest-labs/flux-schnell', supported: ['image'] })
163
+ .mapper((0, utils_1.imageMapper)({
164
+ advancedOptions: {},
165
+ decodeOutput: commonImageMapper.decodeOutput,
166
+ encodeInput: (params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
167
+ const commonParams = yield commonImageMapper.encodeInput(params);
168
+ const width = commonParams.width;
169
+ const height = commonParams.height;
170
+ const gcd = (a, b) => b === 0 ? a : gcd(b, a % b);
171
+ const divisor = gcd(width, height);
172
+ const aspectRatio = `${width / divisor}:${height / divisor}`;
173
+ return Object.assign(Object.assign({}, commonParams), { megapixels: "1", aspect_ratio: aspectRatio, output_format: "png" });
174
+ }),
175
+ })),
176
+ ];
177
+ const findMapper = (model, type) => {
178
+ var _a;
179
+ const mapper = (_a = exports.replicateModels.find(m => m.value === model)) === null || _a === void 0 ? void 0 : _a.mapper;
180
+ if ((0, shared_1.isNil)(mapper) || mapper.__tag !== type) {
181
+ throw new Error(`${type} model ${model} not found`);
182
+ }
183
+ return mapper;
184
+ };
185
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../../packages/pieces/community/common/src/lib/ai/providers/replicate/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import { DynamicProp } from '@activeboxes/pieces-framework';
2
+ import { AIChatCompletion, AIChatCompletionsCreateParams, AIImageCompletion, AIImageGenerateParams } from '../index';
3
+ export declare function authHeader(options: AuthHeaderOptions): AuthHeader;
4
+ export type HeaderValueMapper = (value: string) => string;
5
+ export type AuthHeader = {
6
+ name: string;
7
+ mapper: HeaderValueMapper;
8
+ };
9
+ type AuthHeaderOptions = {
10
+ bearer: true;
11
+ } | {
12
+ bearer: false;
13
+ name: string;
14
+ mapper?: HeaderValueMapper;
15
+ };
16
+ export type ModelParameterValue = string | number | boolean;
17
+ export type Model = ReturnType<typeof model> | ReturnType<ReturnType<typeof model>['mapper']>;
18
+ export declare enum ModelType {
19
+ IMAGE = "image",
20
+ CHAT = "chat",
21
+ NO_MAPPER = "no-mapper"
22
+ }
23
+ export declare function model(options: {
24
+ label: string;
25
+ value: string;
26
+ supported: Array<'text' | 'image' | 'function' | 'moderation'>;
27
+ }): {
28
+ __tag: ModelType;
29
+ label: string;
30
+ value: string;
31
+ supported: ("function" | "text" | "image" | "moderation")[];
32
+ mapper: (mapper: ImageModelMapper | ChatModelMapper) => {
33
+ mapper: ImageModelMapper | ChatModelMapper;
34
+ __tag: ModelType.IMAGE | ModelType.CHAT;
35
+ label: string;
36
+ value: string;
37
+ supported: ("function" | "text" | "image" | "moderation")[];
38
+ };
39
+ };
40
+ export type ModelMapper<T extends ModelType> = T extends ModelType.IMAGE ? ImageModelMapper : T extends ModelType.CHAT ? ChatModelMapper : never;
41
+ export interface ImageModelMapper {
42
+ __tag: ModelType.IMAGE;
43
+ encodeInput: (input: AIImageGenerateParams) => Promise<object>;
44
+ decodeOutput: (output: object) => Promise<AIImageCompletion | null>;
45
+ advancedOptions?: Record<string, DynamicProp>;
46
+ }
47
+ export interface ChatModelMapper {
48
+ __tag: ModelType.CHAT;
49
+ encodeInput: (input: AIChatCompletionsCreateParams) => Promise<object>;
50
+ decodeOutput: (output: object) => Promise<AIChatCompletion>;
51
+ advancedOptions?: Record<string, DynamicProp>;
52
+ }
53
+ export declare function imageMapper(mapper: Omit<ImageModelMapper, '__tag'>): ImageModelMapper;
54
+ export declare function chatMapper(mapper: Omit<ChatModelMapper, '__tag'>): ChatModelMapper;
55
+ export declare const hasMapper: (m: Model) => m is Model & {
56
+ mapper: ModelMapper<ModelType>;
57
+ };
58
+ export {};
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hasMapper = exports.ModelType = void 0;
4
+ exports.authHeader = authHeader;
5
+ exports.model = model;
6
+ exports.imageMapper = imageMapper;
7
+ exports.chatMapper = chatMapper;
8
+ function authHeader(options) {
9
+ var _a;
10
+ return {
11
+ name: options.bearer ? 'Authorization' : options.name,
12
+ mapper: options.bearer
13
+ ? headerValueMappers.bearer
14
+ : (_a = options.mapper) !== null && _a !== void 0 ? _a : headerValueMappers.default,
15
+ };
16
+ }
17
+ const headerValueMappers = {
18
+ bearer: (value) => `Bearer ${value}`,
19
+ default: (value) => value,
20
+ };
21
+ var ModelType;
22
+ (function (ModelType) {
23
+ ModelType["IMAGE"] = "image";
24
+ ModelType["CHAT"] = "chat";
25
+ ModelType["NO_MAPPER"] = "no-mapper";
26
+ })(ModelType || (exports.ModelType = ModelType = {}));
27
+ function model(options) {
28
+ return {
29
+ __tag: ModelType.NO_MAPPER,
30
+ label: options.label,
31
+ value: options.value,
32
+ supported: options.supported,
33
+ mapper: function (mapper) {
34
+ return Object.assign(Object.assign({}, this), { mapper: mapper, __tag: mapper.__tag });
35
+ },
36
+ };
37
+ }
38
+ function imageMapper(mapper) {
39
+ return Object.assign(Object.assign({}, mapper), { __tag: ModelType.IMAGE });
40
+ }
41
+ function chatMapper(mapper) {
42
+ return Object.assign(Object.assign({}, mapper), { __tag: ModelType.CHAT });
43
+ }
44
+ const hasMapper = (m) => {
45
+ return m.__tag === ModelType.IMAGE || m.__tag === ModelType.CHAT;
46
+ };
47
+ exports.hasMapper = hasMapper;
48
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/community/common/src/lib/ai/providers/utils.ts"],"names":[],"mappings":";;;AAUA,gCAOC;AA8BD,sBAcC;AAqBD,kCAIC;AAED,gCAIC;AAlFD,SAAgB,UAAU,CAAC,OAA0B;;IACnD,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAE,eAAyB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI;QAChE,MAAM,EAAE,OAAO,CAAC,MAAM;YACpB,CAAC,CAAC,kBAAkB,CAAC,MAAM;YAC3B,CAAC,CAAC,MAAA,OAAO,CAAC,MAAM,mCAAI,kBAAkB,CAAC,OAAO;KACjD,CAAC;AACJ,CAAC;AAaD,MAAM,kBAAkB,GAAG;IACzB,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,UAAU,KAAK,EAAE;IAC5C,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK;CAClC,CAAC;AAQF,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,4BAAe,CAAA;IACf,0BAAa,CAAA;IACb,oCAAuB,CAAA;AACzB,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AAED,SAAgB,KAAK,CAAC,OAIrB;IACC,OAAO;QACL,KAAK,EAAE,SAAS,CAAC,SAAS;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,UAAU,MAA0C;YAC1D,uCAAY,IAAI,KAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAG;QAC1D,CAAC;KACF,CAAC;AACJ,CAAC;AAqBD,SAAgB,WAAW,CACzB,MAAuC;IAEvC,uCAAY,MAAM,KAAE,KAAK,EAAE,SAAS,CAAC,KAAK,IAAG;AAC/C,CAAC;AAED,SAAgB,UAAU,CACxB,MAAsC;IAEtC,uCAAY,MAAM,KAAE,KAAK,EAAE,SAAS,CAAC,IAAI,IAAG;AAC9C,CAAC;AAEM,MAAM,SAAS,GAAG,CACvB,CAAQ,EACyC,EAAE;IACnD,OAAO,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,IAAI,CAAC;AACnE,CAAC,CAAC;AAJW,QAAA,SAAS,aAIpB"}
@@ -0,0 +1,15 @@
1
+ export type Authentication = BearerTokenAuthentication | BasicAuthentication;
2
+ export declare enum AuthenticationType {
3
+ BEARER_TOKEN = "BEARER_TOKEN",
4
+ BASIC = "BASIC"
5
+ }
6
+ export type BaseAuthentication<T extends AuthenticationType> = {
7
+ type: T;
8
+ };
9
+ export type BearerTokenAuthentication = BaseAuthentication<AuthenticationType.BEARER_TOKEN> & {
10
+ token: string;
11
+ };
12
+ export type BasicAuthentication = BaseAuthentication<AuthenticationType.BASIC> & {
13
+ username: string;
14
+ password: string;
15
+ };
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AuthenticationType = void 0;
4
+ var AuthenticationType;
5
+ (function (AuthenticationType) {
6
+ AuthenticationType["BEARER_TOKEN"] = "BEARER_TOKEN";
7
+ AuthenticationType["BASIC"] = "BASIC";
8
+ })(AuthenticationType || (exports.AuthenticationType = AuthenticationType = {}));
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/common/src/lib/authentication/index.ts"],"names":[],"mappings":";;;AAEA,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,mDAA6B,CAAA;IAC7B,qCAAe,CAAA;AACjB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B"}
@@ -0,0 +1,29 @@
1
+ import { OAuth2PropertyValue, PieceAuthProperty, Property, StaticDropdownProperty, StaticPropsValue, InputPropertyMap } from '@activeboxes/pieces-framework';
2
+ import { HttpHeaders, HttpMethod } from '../http';
3
+ export declare const getAccessTokenOrThrow: (auth: OAuth2PropertyValue | undefined) => string;
4
+ export declare function createCustomApiCallAction({ auth, baseUrl, authMapping, description, displayName, name, props, extraProps, }: {
5
+ auth?: PieceAuthProperty;
6
+ baseUrl: (auth?: unknown) => string;
7
+ authMapping?: (auth: unknown, propsValue: StaticPropsValue<any>) => Promise<HttpHeaders>;
8
+ description?: string | null;
9
+ displayName?: string | null;
10
+ name?: string | null;
11
+ props?: {
12
+ url?: Partial<ReturnType<typeof Property.ShortText>>;
13
+ method?: Partial<StaticDropdownProperty<HttpMethod, boolean>>;
14
+ headers?: Partial<ReturnType<typeof Property.Object>>;
15
+ queryParams?: Partial<ReturnType<typeof Property.Object>>;
16
+ body?: Partial<ReturnType<typeof Property.Json>>;
17
+ failsafe?: Partial<ReturnType<typeof Property.Checkbox>>;
18
+ timeout?: Partial<ReturnType<typeof Property.Number>>;
19
+ };
20
+ extraProps?: InputPropertyMap;
21
+ }): import("@activeboxes/pieces-framework").IAction<import("@activeboxes/pieces-framework").BasicAuthProperty | import("@activeboxes/pieces-framework").CustomAuthProperty<any> | import("@activeboxes/pieces-framework").OAuth2Property<any> | import("@activeboxes/pieces-framework").SecretTextProperty<boolean>, {
22
+ url: import("@activeboxes/pieces-framework").DynamicProperties<true>;
23
+ method: StaticDropdownProperty<HttpMethod, false> | StaticDropdownProperty<HttpMethod, true>;
24
+ headers: import("@activeboxes/pieces-framework").ObjectProperty<false> | import("@activeboxes/pieces-framework").ObjectProperty<true>;
25
+ queryParams: import("@activeboxes/pieces-framework").ObjectProperty<false> | import("@activeboxes/pieces-framework").ObjectProperty<true>;
26
+ body: import("@activeboxes/pieces-framework").JsonProperty<false> | import("@activeboxes/pieces-framework").JsonProperty<true>;
27
+ failsafe: import("@activeboxes/pieces-framework").CheckboxProperty<false> | import("@activeboxes/pieces-framework").CheckboxProperty<true>;
28
+ timeout: import("@activeboxes/pieces-framework").NumberProperty<false> | import("@activeboxes/pieces-framework").NumberProperty<true>;
29
+ }>;