@activepieces/pieces-common 0.4.7 → 0.4.10

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/package.json CHANGED
@@ -1,21 +1,22 @@
1
1
  {
2
2
  "name": "@activepieces/pieces-common",
3
- "version": "0.4.7",
3
+ "version": "0.4.10",
4
4
  "type": "commonjs",
5
5
  "dependencies": {
6
- "@anthropic-ai/sdk": "0.39.0",
6
+ "@ai-sdk/anthropic": "1.2.12",
7
+ "@ai-sdk/openai": "1.3.22",
8
+ "@ai-sdk/replicate": "0.2.8",
7
9
  "@sinclair/typebox": "0.34.11",
10
+ "ai": "4.3.16",
8
11
  "axios": "1.8.3",
9
12
  "axios-retry": "4.4.1",
10
13
  "deepmerge-ts": "7.1.0",
11
14
  "fast-glob": "3.3.3",
12
15
  "mime-types": "2.1.35",
13
16
  "nanoid": "3.3.8",
14
- "openai": "4.67.1",
15
- "replicate": "0.34.1",
16
17
  "semver": "7.6.0",
17
- "zod": "3.25.7",
18
- "@activepieces/pieces-framework": "0.11.0",
18
+ "zod": "3.25.48",
19
+ "@activepieces/pieces-framework": "0.14.0",
19
20
  "@activepieces/shared": "0.12.0",
20
21
  "tslib": "1.14.1"
21
22
  },
@@ -1,94 +1,12 @@
1
- import { ApFile, ServerContext } from '@activepieces/pieces-framework';
2
- import { AiProvider } from './providers';
3
- export type AI = {
4
- provider: string;
5
- chat: AIChat;
6
- image?: AIImage;
7
- moderation?: AIModeration;
8
- function?: AIFunction;
9
- };
10
- export type AIFunction = {
11
- call?: (params: AIChatCompletionsCreateParams & {
12
- functions: AIFunctionDefinition[];
13
- } & {
14
- files: ApFile[];
15
- }) => Promise<AIChatCompletion & {
16
- call: AIFunctionCall | null;
17
- }>;
18
- };
19
- export type AIModeration = {
20
- create: (params: AIModerationCreateParams) => Promise<any | null>;
21
- };
22
- export type AIModerationCreateParams = {
23
- model: string;
24
- text?: string;
25
- images?: ApFile[];
26
- maxTokens?: number;
27
- };
28
- export type AIImage = {
29
- generate: (params: AIImageGenerateParams) => Promise<AIImageCompletion | null>;
30
- };
31
- export type AIImageGenerateParams = {
32
- prompt: string;
33
- model: string;
34
- size?: string;
35
- advancedOptions?: Record<string, unknown>;
36
- };
37
- export type AIImageCompletion = {
38
- image: string;
39
- };
40
- export type AIChat = {
41
- text: (params: AIChatCompletionsCreateParams) => Promise<AIChatCompletion>;
42
- };
43
- export type AIChatCompletionsCreateParams = {
44
- model: string;
45
- messages: AIChatMessage[];
46
- creativity?: number;
47
- maxTokens?: number;
48
- stop?: string[];
49
- };
50
- export type AIChatCompletion = {
51
- choices: AIChatMessage[];
52
- usage?: AIChatCompletionUsage;
53
- };
54
- export type AIChatCompletionUsage = {
55
- promptTokens: number;
56
- completionTokens: number;
57
- totalTokens: number;
58
- };
59
- export type AIChatMessage = {
60
- role: AIChatRole;
61
- content: string;
62
- };
63
- export type AIFunctionCall = {
64
- id: string;
65
- function: {
66
- name: string;
67
- arguments: unknown;
68
- };
69
- };
70
- export type AIFunctionDefinition = {
71
- name: string;
72
- description: string;
73
- arguments: AIFunctionArgumentDefinition;
74
- };
75
- export type AIFunctionArgumentDefinition = {
76
- type: 'object';
77
- properties?: unknown | null;
78
- required?: string[];
79
- [k: string]: unknown;
80
- };
81
- export declare enum AIChatRole {
82
- SYSTEM = "system",
83
- USER = "user",
84
- ASSISTANT = "assistant"
85
- }
86
- export type AIFactory = (params: {
87
- proxyUrl: string;
88
- engineToken: string;
89
- }) => AI;
90
- export declare const AI: ({ provider, server }: {
91
- provider: AiProvider;
92
- server: ServerContext;
93
- }) => AI;
94
- export * from './providers';
1
+ import { Property } from "@activepieces/pieces-framework";
2
+ export declare const aiProps: <T extends "language" | "image">({ modelType, functionCalling }: AIPropsParams<T>) => AIPropsReturn;
3
+ type AIPropsParams<T extends 'language' | 'image'> = {
4
+ modelType: T;
5
+ functionCalling?: T extends 'image' ? never : boolean;
6
+ };
7
+ type AIPropsReturn = {
8
+ provider: ReturnType<typeof Property.Dropdown<string, true>>;
9
+ model: ReturnType<typeof Property.Dropdown>;
10
+ advancedOptions: ReturnType<typeof Property.DynamicProperties>;
11
+ };
12
+ export {};
@@ -1,44 +1,135 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AI = exports.AIChatRole = void 0;
3
+ exports.aiProps = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const providers_1 = require("./providers");
6
- var AIChatRole;
7
- (function (AIChatRole) {
8
- AIChatRole["SYSTEM"] = "system";
9
- AIChatRole["USER"] = "user";
10
- AIChatRole["ASSISTANT"] = "assistant";
11
- })(AIChatRole || (exports.AIChatRole = AIChatRole = {}));
12
- const AI = ({ provider, server }) => {
13
- var _a;
14
- const proxyUrl = `${server.apiUrl}v1/ai-providers/proxy/${provider}`;
15
- const factory = (_a = providers_1.AI_PROVIDERS.find((p) => p.value === provider)) === null || _a === void 0 ? void 0 : _a.factory;
16
- const impl = factory === null || factory === void 0 ? void 0 : factory({ proxyUrl, engineToken: server.token });
17
- if (!impl) {
18
- throw new Error(`AI provider ${provider} is not registered`);
19
- }
20
- return {
21
- provider,
22
- image: impl.image,
23
- moderation: impl.moderation,
24
- function: impl.function,
25
- chat: {
26
- text: (params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
27
- var _a;
28
- try {
29
- const response = yield impl.chat.text(params);
30
- return response;
31
- }
32
- catch (e) {
33
- if ((_a = e === null || e === void 0 ? void 0 : e.error) === null || _a === void 0 ? void 0 : _a.error) {
34
- throw e.error.error;
5
+ const shared_1 = require("@activepieces/shared");
6
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
7
+ const http_1 = require("../http");
8
+ const aiProps = ({ modelType, functionCalling }) => ({
9
+ provider: pieces_framework_1.Property.Dropdown({
10
+ displayName: 'Provider',
11
+ required: true,
12
+ refreshers: [],
13
+ options: (_, ctx) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
14
+ const { body: { data: supportedProviders } } = yield http_1.httpClient.sendRequest({
15
+ method: http_1.HttpMethod.GET,
16
+ url: `${ctx.server.apiUrl}v1/ai-providers`,
17
+ headers: {
18
+ Authorization: `Bearer ${ctx.server.token}`,
19
+ },
20
+ });
21
+ if (supportedProviders.length === 0) {
22
+ return {
23
+ disabled: true,
24
+ options: [],
25
+ placeholder: 'No AI providers configured by the admin.',
26
+ };
27
+ }
28
+ const providers = supportedProviders.map(supportedProvider => {
29
+ const provider = shared_1.SUPPORTED_AI_PROVIDERS.find(p => p.provider === supportedProvider.provider);
30
+ if (!provider)
31
+ return null;
32
+ if (modelType === 'language') {
33
+ if (provider.languageModels.length === 0)
34
+ return null;
35
+ if (functionCalling && !provider.languageModels.some(model => model.functionCalling)) {
36
+ return null;
35
37
  }
36
- throw e;
37
38
  }
38
- }),
39
- },
40
- };
41
- };
42
- exports.AI = AI;
43
- tslib_1.__exportStar(require("./providers"), exports);
39
+ else if (modelType === 'image') {
40
+ if (provider.imageModels.length === 0)
41
+ return null;
42
+ }
43
+ return {
44
+ value: provider.provider,
45
+ label: provider.displayName
46
+ };
47
+ });
48
+ const filteredProviders = providers.filter(p => p !== null);
49
+ return {
50
+ placeholder: filteredProviders.length > 0 ? 'Select AI Provider' : `No providers available for ${modelType} models${functionCalling ? ' with function calling' : ''}`,
51
+ disabled: filteredProviders.length === 0,
52
+ options: filteredProviders,
53
+ };
54
+ }),
55
+ }),
56
+ model: pieces_framework_1.Property.Dropdown({
57
+ displayName: 'Model',
58
+ required: true,
59
+ defaultValue: 'gpt-4o',
60
+ refreshers: ['provider'],
61
+ options: (propsValue) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
62
+ const provider = propsValue['provider'];
63
+ if ((0, shared_1.isNil)(provider)) {
64
+ return {
65
+ disabled: true,
66
+ options: [],
67
+ placeholder: 'Select AI Provider',
68
+ };
69
+ }
70
+ const supportedProvider = shared_1.SUPPORTED_AI_PROVIDERS.find(p => p.provider === provider);
71
+ if ((0, shared_1.isNil)(supportedProvider)) {
72
+ return {
73
+ disabled: true,
74
+ options: [],
75
+ };
76
+ }
77
+ const allModels = modelType === 'language' ? supportedProvider.languageModels : supportedProvider.imageModels;
78
+ const models = (modelType === 'language' && functionCalling)
79
+ ? allModels.filter(model => model.functionCalling)
80
+ : allModels;
81
+ return {
82
+ placeholder: 'Select AI Model',
83
+ disabled: false,
84
+ options: models.map(model => ({
85
+ label: model.displayName,
86
+ value: model.instance,
87
+ })),
88
+ };
89
+ }),
90
+ }),
91
+ advancedOptions: pieces_framework_1.Property.DynamicProperties({
92
+ displayName: 'Advanced Options',
93
+ required: false,
94
+ refreshers: ['provider', 'model'],
95
+ props: (propsValue) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
96
+ const provider = propsValue['provider'];
97
+ const providerMetadata = shared_1.SUPPORTED_AI_PROVIDERS.find(p => p.provider === provider);
98
+ if ((0, shared_1.isNil)(providerMetadata)) {
99
+ return {};
100
+ }
101
+ if (modelType === 'image') {
102
+ if (provider === 'openai') {
103
+ return {
104
+ quality: pieces_framework_1.Property.StaticDropdown({
105
+ options: {
106
+ options: [
107
+ { label: 'Standard', value: 'standard' },
108
+ { label: 'HD', value: 'hd' },
109
+ ],
110
+ disabled: false,
111
+ placeholder: 'Select Image Quality',
112
+ },
113
+ defaultValue: 'standard',
114
+ description: 'Standard images are less detailed and faster to generate, while HD images are more detailed but slower to generate.',
115
+ displayName: 'Image Quality',
116
+ required: true,
117
+ }),
118
+ };
119
+ }
120
+ if (provider === 'replicate') {
121
+ return {
122
+ negativePrompt: pieces_framework_1.Property.ShortText({
123
+ displayName: 'Negative Prompt',
124
+ required: true,
125
+ description: 'A prompt to avoid in the generated image.',
126
+ }),
127
+ };
128
+ }
129
+ }
130
+ return {};
131
+ }),
132
+ })
133
+ });
134
+ exports.aiProps = aiProps;
44
135
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/common/src/lib/ai/index.ts"],"names":[],"mappings":";;;;AACA,2CAAuD;AA6FvD,IAAY,UAIX;AAJD,WAAY,UAAU;IACrB,+BAAiB,CAAA;IACjB,2BAAa,CAAA;IACb,qCAAuB,CAAA;AACxB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAIM,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAmD,EAAM,EAAE;;IAC/F,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,MAAM,yBAAyB,QAAQ,EAAE,CAAC;IACrE,MAAM,OAAO,GAAG,MAAA,wBAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,0CAAE,OAAO,CAAC;IACxE,MAAM,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAEhE,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,eAAe,QAAQ,oBAAoB,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO;QACN,QAAQ;QACR,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE;YACL,IAAI,EAAE,CAAO,MAAM,EAAE,EAAE;;gBACtB,IAAI,CAAC;oBACJ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC9C,OAAO,QAAQ,CAAC;gBACjB,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBACjB,IAAI,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,0CAAE,KAAK,EAAE,CAAC;wBACrB,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;oBACrB,CAAC;oBACD,MAAM,CAAC,CAAC;gBACT,CAAC;YACF,CAAC,CAAA;SACD;KACD,CAAC;AACH,CAAC,CAAC;AA5BW,QAAA,EAAE,MA4Bb;AAEF,sDAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/common/src/lib/ai/index.ts"],"names":[],"mappings":";;;;AAAA,iDAAoI;AACpI,qEAA4E;AAC5E,kCAAiD;AAE1C,MAAM,OAAO,GAAG,CAAiC,EAAE,SAAS,EAAE,eAAe,EAAoB,EAAiB,EAAE,CAAC,CAAC;IACzH,QAAQ,EAAE,2BAAQ,CAAC,QAAQ,CAAe;QACtC,WAAW,EAAE,UAAU;QACvB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,EAAE;QACd,OAAO,EAAE,CAAO,CAAC,EAAE,GAAG,EAAE,EAAE;YACtB,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,GAAG,MAAM,iBAAU,CAAC,WAAW,CAEzE;gBACE,MAAM,EAAE,iBAAU,CAAC,GAAG;gBACtB,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,iBAAiB;gBAC1C,OAAO,EAAE;oBACL,aAAa,EAAE,UAAU,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE;iBAC9C;aACJ,CAAC,CAAC;YACH,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,OAAO;oBACH,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE,0CAA0C;iBAC1D,CAAC;YACN,CAAC;YAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;gBACzD,MAAM,QAAQ,GAAG,+BAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBAC7F,IAAI,CAAC,QAAQ;oBAAE,OAAO,IAAI,CAAC;gBAE3B,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;oBAC3B,IAAI,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;wBAAE,OAAO,IAAI,CAAC;oBAEtD,IAAI,eAAe,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;wBACnF,OAAO,IAAI,CAAC;oBAChB,CAAC;gBACL,CAAC;qBAAM,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;oBAC/B,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;wBAAE,OAAO,IAAI,CAAC;gBACvD,CAAC;gBAED,OAAO;oBACH,KAAK,EAAE,QAAQ,CAAC,QAAQ;oBACxB,KAAK,EAAE,QAAQ,CAAC,WAAW;iBAC9B,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,MAAM,iBAAiB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;YAE5D,OAAO;gBACH,WAAW,EAAE,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,8BAA8B,SAAS,UAAU,eAAe,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,EAAE;gBACrK,QAAQ,EAAE,iBAAiB,CAAC,MAAM,KAAK,CAAC;gBACxC,OAAO,EAAE,iBAAiB;aAC7B,CAAC;QACN,CAAC,CAAA;KACJ,CAAC;IACF,KAAK,EAAE,2BAAQ,CAAC,QAAQ,CAAC;QACrB,WAAW,EAAE,OAAO;QACpB,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,QAAQ;QACtB,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,OAAO,EAAE,CAAO,UAAU,EAAE,EAAE;YAC1B,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAW,CAAC;YAClD,IAAI,IAAA,cAAK,EAAC,QAAQ,CAAC,EAAE,CAAC;gBAClB,OAAO;oBACH,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE,oBAAoB;iBACpC,CAAC;YACN,CAAC;YAED,MAAM,iBAAiB,GAAG,+BAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;YACpF,IAAI,IAAA,cAAK,EAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC3B,OAAO;oBACH,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,EAAE;iBACd,CAAC;YACN,CAAC;YAED,MAAM,SAAS,GAAG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC;YAC9G,MAAM,MAAM,GAAG,CAAC,SAAS,KAAK,UAAU,IAAI,eAAe,CAAC;gBACxD,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAE,KAAuD,CAAC,eAAe,CAAC;gBACrG,CAAC,CAAC,SAAS,CAAC;YAEhB,OAAO;gBACH,WAAW,EAAE,iBAAiB;gBAC9B,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC1B,KAAK,EAAE,KAAK,CAAC,WAAW;oBACxB,KAAK,EAAE,KAAK,CAAC,QAAQ;iBACxB,CAAC,CAAC;aACN,CAAC;QACN,CAAC,CAAA;KACJ,CAAC;IACF,eAAe,EAAE,2BAAQ,CAAC,iBAAiB,CAAC;QACxC,WAAW,EAAE,kBAAkB;QAC/B,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;QACjC,KAAK,EAAE,CAAO,UAAU,EAA6B,EAAE;YACnD,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAsB,CAAC;YAE7D,MAAM,gBAAgB,GAAG,+BAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;YACnF,IAAI,IAAA,cAAK,EAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC1B,OAAO,EAAE,CAAC;YACd,CAAC;YAED,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;gBACxB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBACxB,OAAO;wBACH,OAAO,EAAE,2BAAQ,CAAC,cAAc,CAAC;4BAC7B,OAAO,EAAE;gCACL,OAAO,EAAE;oCACL,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;oCACxC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;iCAC/B;gCACD,QAAQ,EAAE,KAAK;gCACf,WAAW,EAAE,sBAAsB;6BACtC;4BACD,YAAY,EAAE,UAAU;4BACxB,WAAW,EACP,qHAAqH;4BACzH,WAAW,EAAE,eAAe;4BAC5B,QAAQ,EAAE,IAAI;yBACjB,CAAC;qBACL,CAAC;gBACN,CAAC;gBAED,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;oBAC3B,OAAO;wBACH,cAAc,EAAE,2BAAQ,CAAC,SAAS,CAAC;4BAC/B,WAAW,EAAE,iBAAiB;4BAC9B,QAAQ,EAAE,IAAI;4BACd,WAAW,EAAE,2CAA2C;yBACzD,CAAC;qBACP,CAAC;gBACN,CAAC;YACL,CAAC;YAED,OAAO,EAAE,CAAC;QACd,CAAC,CAAA;KACJ,CAAC;CACL,CAAC,CAAA;AAzIW,QAAA,OAAO,WAyIlB"}
@@ -53,7 +53,7 @@ function createCustomApiCallAction({ auth, baseUrl, authMapping, description, di
53
53
  props: (_a) => tslib_1.__awaiter(this, [_a], void 0, function* ({ auth }) {
54
54
  var _b;
55
55
  return {
56
- url: pieces_framework_1.Property.ShortText(Object.assign({ displayName: 'URL', description: `You can either use the full URL or the relative path to the base URL
56
+ url: pieces_framework_1.Property.ShortText(Object.assign({ displayName: 'URL', description: `You can either use the full URL or the relative path to the base URL
57
57
  i.e ${getBaseUrlForDescription(baseUrl, auth)}/resource or /resource`, required: true, defaultValue: baseUrl(auth) }, ((_b = props === null || props === void 0 ? void 0 : props.url) !== null && _b !== void 0 ? _b : {}))),
58
58
  };
59
59
  }),
@@ -1,2 +0,0 @@
1
- import { AIFactory } from '../..';
2
- export declare const anthropic: AIFactory;
@@ -1,148 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.anthropic = void 0;
4
- const tslib_1 = require("tslib");
5
- const sdk_1 = tslib_1.__importDefault(require("@anthropic-ai/sdk"));
6
- const __1 = require("../..");
7
- const mime_types_1 = tslib_1.__importDefault(require("mime-types"));
8
- const anthropic = ({ proxyUrl, engineToken }) => {
9
- const sdk = new sdk_1.default({
10
- apiKey: engineToken,
11
- baseURL: proxyUrl,
12
- defaultHeaders: {
13
- Authorization: `Bearer ${engineToken}`,
14
- },
15
- });
16
- return {
17
- provider: 'ANTHROPIC',
18
- function: {
19
- call: (params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
20
- var _a;
21
- const messages = params.messages.map((message) => ({
22
- role: __1.AIChatRole.USER,
23
- content: [{ type: 'text', text: message.content }],
24
- }));
25
- if (params.files.length) {
26
- const contents = [];
27
- params.files.forEach((file, index) => {
28
- const fileType = file.extension ? mime_types_1.default.lookup(file.extension) : 'image/jpeg';
29
- if (fileType && fileType.startsWith('image')) {
30
- contents.push({
31
- type: 'text',
32
- text: `Image ${index + 1}:`,
33
- }, {
34
- type: 'image',
35
- source: {
36
- type: 'base64',
37
- media_type: fileType,
38
- data: file.base64,
39
- },
40
- });
41
- }
42
- if (fileType === 'application/pdf') {
43
- contents.push({
44
- type: 'document',
45
- source: {
46
- type: 'base64',
47
- media_type: 'application/pdf',
48
- data: file.base64,
49
- },
50
- });
51
- }
52
- });
53
- if (contents.length) {
54
- const lastMessage = messages[messages.length - 1];
55
- if (lastMessage && lastMessage.role === __1.AIChatRole.USER) {
56
- const exitingContent = lastMessage.content;
57
- lastMessage.content = [...exitingContent, ...contents];
58
- }
59
- else {
60
- messages.push({
61
- role: __1.AIChatRole.USER,
62
- content: contents,
63
- });
64
- }
65
- }
66
- }
67
- const completion = yield sdk.messages.create({
68
- model: params.model,
69
- messages: messages,
70
- max_tokens: (_a = params.maxTokens) !== null && _a !== void 0 ? _a : 2000,
71
- tools: params.functions.map((functionDefinition) => ({
72
- name: functionDefinition.name,
73
- description: functionDefinition.description,
74
- input_schema: functionDefinition.arguments,
75
- })),
76
- tool_choice: { type: 'tool', name: params.functions[0].name },
77
- });
78
- const toolCallsResponse = completion.content.filter((choice) => choice.type === 'tool_use');
79
- const toolCall = toolCallsResponse[0];
80
- return {
81
- choices: completion.content
82
- .filter((choice) => choice.type === 'text')
83
- .map((choice) => ({
84
- content: choice.text,
85
- role: __1.AIChatRole.ASSISTANT,
86
- })),
87
- call: toolCall
88
- ? {
89
- id: toolCall.id,
90
- function: {
91
- name: toolCall.name,
92
- arguments: toolCall.input,
93
- },
94
- }
95
- : null,
96
- model: completion.model,
97
- created: new Date().getTime(),
98
- usage: {
99
- completionTokens: completion.usage.output_tokens,
100
- promptTokens: completion.usage.input_tokens,
101
- totalTokens: completion.usage.output_tokens + completion.usage.input_tokens,
102
- },
103
- };
104
- }),
105
- },
106
- chat: {
107
- text: (params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
108
- var _a, _b;
109
- const concatenatedSystemMessage = params.messages
110
- .filter((message) => message.role === 'system')
111
- .map((message) => message.content)
112
- .join('\n');
113
- const completion = yield sdk.messages.create({
114
- model: params.model,
115
- messages: params.messages.map((message) => ({
116
- role: message.role === 'user' ? 'user' : 'assistant',
117
- content: message.content,
118
- })),
119
- temperature: Math.tanh((_a = params.creativity) !== null && _a !== void 0 ? _a : 100),
120
- stop_sequences: params.stop,
121
- system: concatenatedSystemMessage,
122
- stream: false,
123
- max_tokens: (_b = params.maxTokens) !== null && _b !== void 0 ? _b : 2000,
124
- });
125
- return {
126
- choices: completion.content
127
- .filter((choice) => choice.type === 'text')
128
- .map((choice) => ({
129
- content: choice.text,
130
- role: __1.AIChatRole.ASSISTANT,
131
- })),
132
- created: new Date().getTime(),
133
- model: completion.model,
134
- usage: {
135
- completionTokens: completion.usage.output_tokens,
136
- promptTokens: completion.usage.input_tokens,
137
- totalTokens: completion.usage.output_tokens + completion.usage.input_tokens,
138
- },
139
- };
140
- }),
141
- },
142
- image: {
143
- generate: (parmas) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { return null; }),
144
- },
145
- };
146
- };
147
- exports.anthropic = anthropic;
148
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../../packages/pieces/community/common/src/lib/ai/providers/anthropic/index.ts"],"names":[],"mappings":"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"}
@@ -1,79 +0,0 @@
1
- import { Static } from '@sinclair/typebox';
2
- export declare const AI_PROVIDERS_MAKRDOWN: {
3
- openai: string;
4
- anthropic: string;
5
- replicate: string;
6
- };
7
- export declare const AI_PROVIDERS: ({
8
- logoUrl: string;
9
- defaultBaseUrl: string;
10
- label: "OpenAI";
11
- value: "openai";
12
- models: ({
13
- __tag: import("./utils").ModelType;
14
- label: string;
15
- value: string;
16
- supported: ("function" | "text" | "image" | "moderation")[];
17
- mapper: (mapper: import("./utils").ImageModelMapper | import("./utils").ChatModelMapper) => {
18
- mapper: import("./utils").ImageModelMapper | import("./utils").ChatModelMapper;
19
- __tag: import("./utils").ModelType.IMAGE | import("./utils").ModelType.CHAT;
20
- label: string;
21
- value: string;
22
- supported: ("function" | "text" | "image" | "moderation")[];
23
- };
24
- } | {
25
- mapper: import("./utils").ImageModelMapper | import("./utils").ChatModelMapper;
26
- __tag: import("./utils").ModelType.IMAGE | import("./utils").ModelType.CHAT;
27
- label: string;
28
- value: string;
29
- supported: ("function" | "text" | "image" | "moderation")[];
30
- })[];
31
- auth: import("./utils").AuthHeader;
32
- factory: import("..").AIFactory;
33
- instructionsMarkdown: string;
34
- } | {
35
- logoUrl: string;
36
- defaultBaseUrl: string;
37
- label: "Anthropic";
38
- value: "anthropic";
39
- models: {
40
- __tag: import("./utils").ModelType;
41
- label: string;
42
- value: string;
43
- supported: ("function" | "text" | "image" | "moderation")[];
44
- mapper: (mapper: import("./utils").ImageModelMapper | import("./utils").ChatModelMapper) => {
45
- mapper: import("./utils").ImageModelMapper | import("./utils").ChatModelMapper;
46
- __tag: import("./utils").ModelType.IMAGE | import("./utils").ModelType.CHAT;
47
- label: string;
48
- value: string;
49
- supported: ("function" | "text" | "image" | "moderation")[];
50
- };
51
- }[];
52
- auth: import("./utils").AuthHeader;
53
- factory: import("..").AIFactory;
54
- instructionsMarkdown: string;
55
- } | {
56
- logoUrl: string;
57
- defaultBaseUrl: string;
58
- label: "Replicate";
59
- value: "replicate";
60
- models: {
61
- mapper: import("./utils").ImageModelMapper | import("./utils").ChatModelMapper;
62
- __tag: import("./utils").ModelType.IMAGE | import("./utils").ModelType.CHAT;
63
- label: string;
64
- value: string;
65
- supported: ("function" | "text" | "image" | "moderation")[];
66
- }[];
67
- auth: import("./utils").AuthHeader;
68
- factory: import("..").AIFactory;
69
- instructionsMarkdown: string;
70
- })[];
71
- export declare const aiProps: (supported: "text" | "image" | "function" | "moderation") => {
72
- provider: import("@activepieces/pieces-framework").DropdownProperty<"replicate" | "openai" | "anthropic", true>;
73
- model: import("@activepieces/pieces-framework").DropdownProperty<string, true>;
74
- advancedOptions: import("@activepieces/pieces-framework").DynamicProperties<false>;
75
- };
76
- export type AiProviderMetadata = (typeof AI_PROVIDERS)[number];
77
- export declare const AiProvider: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<"replicate" | "openai" | "anthropic">[]>;
78
- export type AiProvider = Static<typeof AiProvider>;
79
- export * from './utils';