@activepieces/pieces-common 0.2.36 → 0.2.37

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,6 +1,6 @@
1
1
  {
2
2
  "name": "@activepieces/pieces-common",
3
- "version": "0.2.36",
3
+ "version": "0.2.37",
4
4
  "type": "commonjs",
5
5
  "dependencies": {
6
6
  "@anthropic-ai/sdk": "0.27.3",
@@ -15,7 +15,7 @@
15
15
  "semver": "7.6.0",
16
16
  "zod": "3.23.8",
17
17
  "@activepieces/pieces-framework": "0.7.41",
18
- "@activepieces/shared": "0.10.131",
18
+ "@activepieces/shared": "0.10.132",
19
19
  "tslib": "1.14.1"
20
20
  },
21
21
  "overrides": {
@@ -1,10 +1,10 @@
1
- import { OAuth2PropertyValue, PieceAuthProperty, Property, StaticDropdownProperty } from "@activepieces/pieces-framework";
2
- import { HttpHeaders, HttpMethod } from "../http";
1
+ import { OAuth2PropertyValue, PieceAuthProperty, Property, StaticDropdownProperty, StaticPropsValue, InputPropertyMap } from '@activepieces/pieces-framework';
2
+ import { HttpHeaders, HttpMethod } from '../http';
3
3
  export declare const getAccessTokenOrThrow: (auth: OAuth2PropertyValue | undefined) => string;
4
- export declare function createCustomApiCallAction({ auth, baseUrl, authMapping, description, displayName, name, props }: {
4
+ export declare function createCustomApiCallAction({ auth, baseUrl, authMapping, description, displayName, name, props, extraProps, }: {
5
5
  auth?: PieceAuthProperty;
6
6
  baseUrl: (auth?: unknown) => string;
7
- authMapping?: (auth: unknown) => Promise<HttpHeaders>;
7
+ authMapping?: (auth: unknown, propsValue: StaticPropsValue<any>) => Promise<HttpHeaders>;
8
8
  description?: string | null;
9
9
  displayName?: string | null;
10
10
  name?: string | null;
@@ -17,6 +17,7 @@ export declare function createCustomApiCallAction({ auth, baseUrl, authMapping,
17
17
  failsafe?: Partial<ReturnType<typeof Property.Checkbox>>;
18
18
  timeout?: Partial<ReturnType<typeof Property.Number>>;
19
19
  };
20
+ extraProps?: InputPropertyMap;
20
21
  }): import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").BasicAuthProperty | import("@activepieces/pieces-framework").CustomAuthProperty<any> | import("@activepieces/pieces-framework").OAuth2Property<any> | import("@activepieces/pieces-framework").SecretTextProperty<boolean>, {
21
22
  url: import("@activepieces/pieces-framework").DynamicProperties<true>;
22
23
  method: StaticDropdownProperty<HttpMethod, false> | StaticDropdownProperty<HttpMethod, true>;
@@ -9,52 +9,46 @@ const shared_1 = require("@activepieces/shared");
9
9
  const getAccessTokenOrThrow = (auth) => {
10
10
  const accessToken = auth === null || auth === void 0 ? void 0 : auth.access_token;
11
11
  if (accessToken === undefined) {
12
- throw new Error("Invalid bearer token");
12
+ throw new Error('Invalid bearer token');
13
13
  }
14
14
  return accessToken;
15
15
  };
16
16
  exports.getAccessTokenOrThrow = getAccessTokenOrThrow;
17
- function createCustomApiCallAction({ auth, baseUrl, authMapping, description, displayName, name, props }) {
17
+ function createCustomApiCallAction({ auth, baseUrl, authMapping, description, displayName, name, props, extraProps, }) {
18
18
  var _a, _b, _c, _d, _e, _f;
19
19
  return (0, pieces_framework_1.createAction)({
20
20
  name: name ? name : 'custom_api_call',
21
21
  displayName: displayName ? displayName : 'Custom API Call',
22
- description: description ? description : 'Make a custom API call to a specific endpoint',
22
+ description: description
23
+ ? description
24
+ : 'Make a custom API call to a specific endpoint',
23
25
  auth: auth ? auth : undefined,
24
26
  requireAuth: auth ? true : false,
25
- props: {
26
- url: pieces_framework_1.Property.DynamicProperties({
27
+ props: Object.assign({ url: pieces_framework_1.Property.DynamicProperties({
27
28
  displayName: '',
28
29
  required: true,
29
30
  refreshers: [],
30
31
  props: (_a) => tslib_1.__awaiter(this, [_a], void 0, function* ({ auth }) {
31
32
  var _b;
32
33
  return {
33
- url: pieces_framework_1.Property.ShortText(Object.assign({ displayName: 'URL', description: 'The full URL to use, including the base URL', required: true, defaultValue: baseUrl(auth) }, ((_b = props === null || props === void 0 ? void 0 : props.url) !== null && _b !== void 0 ? _b : {})))
34
+ url: pieces_framework_1.Property.ShortText(Object.assign({ displayName: 'URL', description: 'The full URL to use, including the base URL', required: true, defaultValue: baseUrl(auth) }, ((_b = props === null || props === void 0 ? void 0 : props.url) !== null && _b !== void 0 ? _b : {}))),
34
35
  };
35
- })
36
- }),
37
- method: pieces_framework_1.Property.StaticDropdown(Object.assign({ displayName: 'Method', required: true, options: {
38
- options: Object.values(http_1.HttpMethod).map(v => {
36
+ }),
37
+ }), method: pieces_framework_1.Property.StaticDropdown(Object.assign({ displayName: 'Method', required: true, options: {
38
+ options: Object.values(http_1.HttpMethod).map((v) => {
39
39
  return {
40
40
  label: v,
41
41
  value: v,
42
42
  };
43
- })
44
- } }, ((_a = props === null || props === void 0 ? void 0 : props.method) !== null && _a !== void 0 ? _a : {}))),
45
- headers: pieces_framework_1.Property.Object(Object.assign({ displayName: 'Headers', description: 'Authorization headers are injected automatically from your connection.', required: true }, ((_b = props === null || props === void 0 ? void 0 : props.headers) !== null && _b !== void 0 ? _b : {}))),
46
- queryParams: pieces_framework_1.Property.Object(Object.assign({ displayName: 'Query Parameters', required: true }, ((_c = props === null || props === void 0 ? void 0 : props.queryParams) !== null && _c !== void 0 ? _c : {}))),
47
- body: pieces_framework_1.Property.Json(Object.assign({ displayName: 'Body', required: false }, ((_d = props === null || props === void 0 ? void 0 : props.body) !== null && _d !== void 0 ? _d : {}))),
48
- failsafe: pieces_framework_1.Property.Checkbox(Object.assign({ displayName: 'No Error on Failure', required: false }, ((_e = props === null || props === void 0 ? void 0 : props.failsafe) !== null && _e !== void 0 ? _e : {}))),
49
- timeout: pieces_framework_1.Property.Number(Object.assign({ displayName: 'Timeout (in seconds)', required: false }, ((_f = props === null || props === void 0 ? void 0 : props.timeout) !== null && _f !== void 0 ? _f : {}))),
50
- },
43
+ }),
44
+ } }, ((_a = props === null || props === void 0 ? void 0 : props.method) !== null && _a !== void 0 ? _a : {}))), headers: pieces_framework_1.Property.Object(Object.assign({ displayName: 'Headers', description: 'Authorization headers are injected automatically from your connection.', required: true }, ((_b = props === null || props === void 0 ? void 0 : props.headers) !== null && _b !== void 0 ? _b : {}))), queryParams: pieces_framework_1.Property.Object(Object.assign({ displayName: 'Query Parameters', required: true }, ((_c = props === null || props === void 0 ? void 0 : props.queryParams) !== null && _c !== void 0 ? _c : {}))), body: pieces_framework_1.Property.Json(Object.assign({ displayName: 'Body', required: false }, ((_d = props === null || props === void 0 ? void 0 : props.body) !== null && _d !== void 0 ? _d : {}))), failsafe: pieces_framework_1.Property.Checkbox(Object.assign({ displayName: 'No Error on Failure', required: false }, ((_e = props === null || props === void 0 ? void 0 : props.failsafe) !== null && _e !== void 0 ? _e : {}))), timeout: pieces_framework_1.Property.Number(Object.assign({ displayName: 'Timeout (in seconds)', required: false }, ((_f = props === null || props === void 0 ? void 0 : props.timeout) !== null && _f !== void 0 ? _f : {}))) }, extraProps),
51
45
  run: (context) => tslib_1.__awaiter(this, void 0, void 0, function* () {
52
46
  const { method, url, headers, queryParams, body, failsafe, timeout } = context.propsValue;
53
47
  (0, shared_1.assertNotNullOrUndefined)(method, 'Method');
54
48
  (0, shared_1.assertNotNullOrUndefined)(url, 'URL');
55
49
  let headersValue = headers;
56
50
  if (authMapping) {
57
- const headers = yield authMapping(context.auth);
51
+ const headers = yield authMapping(context.auth, context.propsValue);
58
52
  if (headers) {
59
53
  headersValue = Object.assign(Object.assign({}, headersValue), headers);
60
54
  }
@@ -78,7 +72,7 @@ function createCustomApiCallAction({ auth, baseUrl, authMapping, description, di
78
72
  }
79
73
  throw error;
80
74
  }
81
- })
75
+ }),
82
76
  });
83
77
  }
84
78
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/common/src/lib/helpers/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/common/src/lib/helpers/index.ts"],"names":[],"mappings":"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"}