@taskmagic/apps-klipy 0.0.1

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/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # apps-klipy
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Building
6
+
7
+ Run `nx build apps-klipy` to build the library.
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@taskmagic/apps-klipy",
3
+ "version": "0.0.1",
4
+ "dependencies": {
5
+ "@anthropic-ai/sdk": "0.33.1",
6
+ "@sinclair/typebox": "0.34.11",
7
+ "axios": "1.17.0",
8
+ "axios-retry": "4.4.1",
9
+ "deepmerge-ts": "7.1.0",
10
+ "mime-types": "2.1.35",
11
+ "nanoid": "3.3.8",
12
+ "openai": "4.67.1",
13
+ "replicate": "0.34.1",
14
+ "semver": "7.6.0",
15
+ "zod": "3.25.76",
16
+ "@taskmagic/pieces-common": "0.4.4",
17
+ "@taskmagic/pieces-framework": "0.7.46",
18
+ "@taskmagic/shared": "0.10.171",
19
+ "tslib": "1.14.1"
20
+ },
21
+ "overrides": {
22
+ "cross-spawn": "7.0.6",
23
+ "elliptic": "^6.6.1",
24
+ "fast-xml-parser": "^4.4.1",
25
+ "protobufjs": "^7.5.5",
26
+ "tmp": "^0.2.4",
27
+ "koa": "^2.16.4",
28
+ "picomatch": "^4.0.4",
29
+ "langsmith": "^0.6.0",
30
+ "serialize-javascript": "^6.0.2",
31
+ "elevenlabs": {
32
+ "form-data": "^4.0.4"
33
+ },
34
+ "@tryfabric/martian": {
35
+ "@notionhq/client": "$@notionhq/client"
36
+ },
37
+ "vite": {
38
+ "rollup": "npm:@rollup/wasm-node@^4.61.1"
39
+ }
40
+ },
41
+ "resolutions": {
42
+ "rollup": "npm:@rollup/wasm-node@^4.61.1"
43
+ },
44
+ "types": "./src/index.d.ts",
45
+ "main": "./src/index.js",
46
+ "type": "commonjs"
47
+ }
package/src/index.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import { klipyAuth } from './lib/common/auth';
2
+ export declare const klipy: import("@taskmagic/pieces-framework").Piece<import("@taskmagic/pieces-framework").SecretTextProperty<true>>;
3
+ export { klipyAuth };
package/src/index.js ADDED
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.klipyAuth = exports.klipy = void 0;
4
+ const pieces_framework_1 = require("@taskmagic/pieces-framework");
5
+ const pieces_common_1 = require("@taskmagic/pieces-common");
6
+ const shared_1 = require("@taskmagic/shared");
7
+ const auth_1 = require("./lib/common/auth");
8
+ Object.defineProperty(exports, "klipyAuth", { enumerable: true, get: function () { return auth_1.klipyAuth; } });
9
+ const search_gifs_1 = require("./lib/actions/search-gifs");
10
+ const search_stickers_1 = require("./lib/actions/search-stickers");
11
+ const search_clips_1 = require("./lib/actions/search-clips");
12
+ exports.klipy = (0, pieces_framework_1.createPiece)({
13
+ displayName: 'Klipy',
14
+ description: 'Search and retrieve GIFs, stickers, and video clips from KLIPY\'s media library.',
15
+ auth: auth_1.klipyAuth,
16
+ minimumSupportedRelease: '0.30.0',
17
+ logoUrl: 'https://cdn.activepieces.com/pieces/klipy.png',
18
+ categories: [shared_1.PieceCategory.CONTENT_AND_FILES],
19
+ authors: ['sanket-a11y'],
20
+ ai: {
21
+ description: 'Find GIFs, stickers, and short video clips by keyword to embed in messages, posts, or replies: search KLIPY\'s media library or browse trending media.',
22
+ keywords: [
23
+ 'gif',
24
+ 'sticker',
25
+ 'clip',
26
+ 'video clip',
27
+ 'meme',
28
+ 'animated image',
29
+ 'trending gif',
30
+ 'media search',
31
+ 'klipy',
32
+ ],
33
+ },
34
+ actions: [
35
+ search_gifs_1.searchGifsAction,
36
+ search_stickers_1.searchStickersAction,
37
+ search_clips_1.searchClipsAction,
38
+ (0, pieces_common_1.createCustomApiCallAction)({
39
+ baseUrl: (auth) => `https://api.klipy.com/api/v1/${auth}`,
40
+ auth: auth_1.klipyAuth,
41
+ }),
42
+ ],
43
+ triggers: [],
44
+ });
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/klipy/src/index.ts"],"names":[],"mappings":";;;AAAA,kEAA0D;AAC1D,4DAAqE;AACrE,8CAAkD;AAClD,4CAA8C;AAyCrC,0FAzCA,gBAAS,OAyCA;AAxClB,2DAA6D;AAC7D,mEAAqE;AACrE,6DAA+D;AAElD,QAAA,KAAK,GAAG,IAAA,8BAAW,EAAC;IAC/B,WAAW,EAAE,OAAO;IACpB,WAAW,EACT,kFAAkF;IACpF,IAAI,EAAE,gBAAS;IACf,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,+CAA+C;IACxD,UAAU,EAAE,CAAC,sBAAa,CAAC,iBAAiB,CAAC;IAC7C,OAAO,EAAE,CAAC,aAAa,CAAC;IACxB,EAAE,EAAE;QACF,WAAW,EACT,wJAAwJ;QAC1J,QAAQ,EAAE;YACR,KAAK;YACL,SAAS;YACT,MAAM;YACN,YAAY;YACZ,MAAM;YACN,gBAAgB;YAChB,cAAc;YACd,cAAc;YACd,OAAO;SACR;KACF;IACD,OAAO,EAAE;QACP,8BAAgB;QAChB,sCAAoB;QACpB,gCAAiB;QACjB,IAAA,yCAAyB,EAAC;YACxB,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,gCAAgC,IAAc,EAAE;YACnE,IAAI,EAAE,gBAAS;SAChB,CAAC;KACH;IACD,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare const searchClipsAction: import("@taskmagic/pieces-framework").IAction<import("@taskmagic/pieces-framework").SecretTextProperty<true>, {
2
+ q: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
3
+ page: import("@taskmagic/pieces-framework").NumberProperty<false>;
4
+ per_page: import("@taskmagic/pieces-framework").NumberProperty<false>;
5
+ locale: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
6
+ content_filter: import("@taskmagic/pieces-framework").StaticDropdownProperty<string, false>;
7
+ customer_id: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
8
+ }>;
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.searchClipsAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@taskmagic/pieces-framework");
6
+ const auth_1 = require("../common/auth");
7
+ const client_1 = require("../common/client");
8
+ exports.searchClipsAction = (0, pieces_framework_1.createAction)({
9
+ auth: auth_1.klipyAuth,
10
+ name: 'search_clips',
11
+ displayName: 'Search Clips',
12
+ description: 'Search and retrieve video clips from KLIPY\'s database by keyword or phrase.',
13
+ props: {
14
+ q: pieces_framework_1.Property.ShortText({
15
+ displayName: 'Search Keyword',
16
+ description: 'The keyword or phrase to search for (e.g. "funny cat", "celebration"). Leave empty to browse trending clips.',
17
+ required: false,
18
+ }),
19
+ page: pieces_framework_1.Property.Number({
20
+ displayName: 'Page Number',
21
+ description: 'Which page of results to return. Starts at 1.',
22
+ required: false,
23
+ defaultValue: 1,
24
+ }),
25
+ per_page: pieces_framework_1.Property.Number({
26
+ displayName: 'Results Per Page',
27
+ description: 'Number of clips to return per page. Must be between 8 and 50.',
28
+ required: false,
29
+ defaultValue: 24,
30
+ }),
31
+ locale: pieces_framework_1.Property.ShortText({
32
+ displayName: 'Locale',
33
+ description: 'ISO 3166-1 Alpha-2 country code to boost results for a specific region (e.g. "us", "uk", "de"). Leave empty for global results.',
34
+ required: false,
35
+ }),
36
+ content_filter: pieces_framework_1.Property.StaticDropdown({
37
+ displayName: 'Content Filter',
38
+ description: 'Set the content safety level for the results.',
39
+ required: false,
40
+ defaultValue: 'medium',
41
+ options: {
42
+ options: [
43
+ { label: 'High (most strict)', value: 'high' },
44
+ { label: 'Medium (recommended)', value: 'medium' },
45
+ { label: 'Low', value: 'low' },
46
+ { label: 'Off (no filtering)', value: 'off' },
47
+ ],
48
+ },
49
+ }),
50
+ customer_id: pieces_framework_1.Property.ShortText({
51
+ displayName: 'User ID',
52
+ description: 'A unique identifier for the end user in your system. Used to personalize results. Keep this consistent for the same user.',
53
+ required: false,
54
+ }),
55
+ },
56
+ run(context) {
57
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
58
+ const { q, page, per_page, locale, content_filter, customer_id } = context.propsValue;
59
+ const response = yield client_1.klipyClient.search({
60
+ appKey: context.auth,
61
+ endpoint: 'clips/search',
62
+ query: q !== null && q !== void 0 ? q : undefined,
63
+ page: page !== null && page !== void 0 ? page : 1,
64
+ perPage: per_page !== null && per_page !== void 0 ? per_page : 24,
65
+ locale: locale !== null && locale !== void 0 ? locale : undefined,
66
+ contentFilter: content_filter !== null && content_filter !== void 0 ? content_filter : undefined,
67
+ customerId: customer_id !== null && customer_id !== void 0 ? customer_id : undefined,
68
+ });
69
+ const items = response.data.data.map(client_1.klipyClient.flattenClip);
70
+ return {
71
+ current_page: response.data.current_page,
72
+ per_page: response.data.per_page,
73
+ has_next: response.data.has_next,
74
+ items,
75
+ };
76
+ });
77
+ },
78
+ });
79
+ //# sourceMappingURL=search-clips.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-clips.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/klipy/src/lib/actions/search-clips.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare const searchGifsAction: import("@taskmagic/pieces-framework").IAction<import("@taskmagic/pieces-framework").SecretTextProperty<true>, {
2
+ q: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
3
+ page: import("@taskmagic/pieces-framework").NumberProperty<false>;
4
+ per_page: import("@taskmagic/pieces-framework").NumberProperty<false>;
5
+ locale: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
6
+ content_filter: import("@taskmagic/pieces-framework").StaticDropdownProperty<string, false>;
7
+ format_filter: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
8
+ customer_id: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
9
+ }>;
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.searchGifsAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@taskmagic/pieces-framework");
6
+ const auth_1 = require("../common/auth");
7
+ const client_1 = require("../common/client");
8
+ exports.searchGifsAction = (0, pieces_framework_1.createAction)({
9
+ auth: auth_1.klipyAuth,
10
+ name: 'search_gifs',
11
+ displayName: 'Search GIFs',
12
+ description: 'Search and retrieve GIFs from KLIPY\'s database by keyword or phrase.',
13
+ props: {
14
+ q: pieces_framework_1.Property.ShortText({
15
+ displayName: 'Search Keyword',
16
+ description: 'The keyword or phrase to search for (e.g. "hello", "happy birthday"). Leave empty to browse trending GIFs.',
17
+ required: false,
18
+ }),
19
+ page: pieces_framework_1.Property.Number({
20
+ displayName: 'Page Number',
21
+ description: 'Which page of results to return. Starts at 1.',
22
+ required: false,
23
+ defaultValue: 1,
24
+ }),
25
+ per_page: pieces_framework_1.Property.Number({
26
+ displayName: 'Results Per Page',
27
+ description: 'Number of GIFs to return per page. Must be between 8 and 50.',
28
+ required: false,
29
+ defaultValue: 24,
30
+ }),
31
+ locale: pieces_framework_1.Property.ShortText({
32
+ displayName: 'Locale',
33
+ description: 'ISO 3166-1 Alpha-2 country code to boost results for a specific region (e.g. "us", "uk", "de"). Leave empty for global results.',
34
+ required: false,
35
+ }),
36
+ content_filter: pieces_framework_1.Property.StaticDropdown({
37
+ displayName: 'Content Filter',
38
+ description: 'Set the content safety level for the results.',
39
+ required: false,
40
+ defaultValue: 'medium',
41
+ options: {
42
+ options: [
43
+ { label: 'High (most strict)', value: 'high' },
44
+ { label: 'Medium (recommended)', value: 'medium' },
45
+ { label: 'Low', value: 'low' },
46
+ { label: 'Off (no filtering)', value: 'off' },
47
+ ],
48
+ },
49
+ }),
50
+ format_filter: pieces_framework_1.Property.ShortText({
51
+ displayName: 'Format Filter',
52
+ description: 'Comma-separated list of formats to include in results. Possible values: gif, webp, jpg, mp4, webm. Leave empty to include all formats.',
53
+ required: false,
54
+ }),
55
+ customer_id: pieces_framework_1.Property.ShortText({
56
+ displayName: 'User ID',
57
+ description: 'A unique identifier for the end user in your system. Used to personalize results. Keep this consistent for the same user.',
58
+ required: false,
59
+ }),
60
+ },
61
+ run(context) {
62
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
63
+ const { q, page, per_page, locale, content_filter, format_filter, customer_id } = context.propsValue;
64
+ const response = yield client_1.klipyClient.search({
65
+ appKey: context.auth,
66
+ endpoint: 'gifs/search',
67
+ query: q !== null && q !== void 0 ? q : undefined,
68
+ page: page !== null && page !== void 0 ? page : 1,
69
+ perPage: per_page !== null && per_page !== void 0 ? per_page : 24,
70
+ locale: locale !== null && locale !== void 0 ? locale : undefined,
71
+ contentFilter: content_filter !== null && content_filter !== void 0 ? content_filter : undefined,
72
+ formatFilter: format_filter !== null && format_filter !== void 0 ? format_filter : undefined,
73
+ customerId: customer_id !== null && customer_id !== void 0 ? customer_id : undefined,
74
+ });
75
+ const items = response.data.data.map(client_1.klipyClient.flattenGifSticker);
76
+ return {
77
+ current_page: response.data.current_page,
78
+ per_page: response.data.per_page,
79
+ has_next: response.data.has_next,
80
+ items,
81
+ };
82
+ });
83
+ },
84
+ });
85
+ //# sourceMappingURL=search-gifs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-gifs.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/klipy/src/lib/actions/search-gifs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare const searchStickersAction: import("@taskmagic/pieces-framework").IAction<import("@taskmagic/pieces-framework").SecretTextProperty<true>, {
2
+ q: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
3
+ page: import("@taskmagic/pieces-framework").NumberProperty<false>;
4
+ per_page: import("@taskmagic/pieces-framework").NumberProperty<false>;
5
+ locale: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
6
+ content_filter: import("@taskmagic/pieces-framework").StaticDropdownProperty<string, false>;
7
+ format_filter: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
8
+ customer_id: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
9
+ }>;
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.searchStickersAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@taskmagic/pieces-framework");
6
+ const auth_1 = require("../common/auth");
7
+ const client_1 = require("../common/client");
8
+ exports.searchStickersAction = (0, pieces_framework_1.createAction)({
9
+ auth: auth_1.klipyAuth,
10
+ name: 'search_stickers',
11
+ displayName: 'Search Stickers',
12
+ description: 'Search and retrieve stickers from KLIPY\'s database by keyword or phrase.',
13
+ props: {
14
+ q: pieces_framework_1.Property.ShortText({
15
+ displayName: 'Search Keyword',
16
+ description: 'The keyword or phrase to search for (e.g. "love", "thumbs up"). Leave empty to browse trending stickers.',
17
+ required: false,
18
+ }),
19
+ page: pieces_framework_1.Property.Number({
20
+ displayName: 'Page Number',
21
+ description: 'Which page of results to return. Starts at 1.',
22
+ required: false,
23
+ defaultValue: 1,
24
+ }),
25
+ per_page: pieces_framework_1.Property.Number({
26
+ displayName: 'Results Per Page',
27
+ description: 'Number of stickers to return per page. Must be between 8 and 50.',
28
+ required: false,
29
+ defaultValue: 24,
30
+ }),
31
+ locale: pieces_framework_1.Property.ShortText({
32
+ displayName: 'Locale',
33
+ description: 'ISO 3166-1 Alpha-2 country code to boost results for a specific region (e.g. "us", "uk", "de"). Leave empty for global results.',
34
+ required: false,
35
+ }),
36
+ content_filter: pieces_framework_1.Property.StaticDropdown({
37
+ displayName: 'Content Filter',
38
+ description: 'Set the content safety level for the results.',
39
+ required: false,
40
+ defaultValue: 'medium',
41
+ options: {
42
+ options: [
43
+ { label: 'High (most strict)', value: 'high' },
44
+ { label: 'Medium (recommended)', value: 'medium' },
45
+ { label: 'Low', value: 'low' },
46
+ { label: 'Off (no filtering)', value: 'off' },
47
+ ],
48
+ },
49
+ }),
50
+ format_filter: pieces_framework_1.Property.ShortText({
51
+ displayName: 'Format Filter',
52
+ description: 'Comma-separated list of formats to include in results. Possible values: gif, webp, png, webm. Leave empty to include all formats.',
53
+ required: false,
54
+ }),
55
+ customer_id: pieces_framework_1.Property.ShortText({
56
+ displayName: 'User ID',
57
+ description: 'A unique identifier for the end user in your system. Used to personalize results. Keep this consistent for the same user.',
58
+ required: false,
59
+ }),
60
+ },
61
+ run(context) {
62
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
63
+ const { q, page, per_page, locale, content_filter, format_filter, customer_id } = context.propsValue;
64
+ const response = yield client_1.klipyClient.search({
65
+ appKey: context.auth,
66
+ endpoint: 'stickers/search',
67
+ query: q !== null && q !== void 0 ? q : undefined,
68
+ page: page !== null && page !== void 0 ? page : 1,
69
+ perPage: per_page !== null && per_page !== void 0 ? per_page : 24,
70
+ locale: locale !== null && locale !== void 0 ? locale : undefined,
71
+ contentFilter: content_filter !== null && content_filter !== void 0 ? content_filter : undefined,
72
+ formatFilter: format_filter !== null && format_filter !== void 0 ? format_filter : undefined,
73
+ customerId: customer_id !== null && customer_id !== void 0 ? customer_id : undefined,
74
+ });
75
+ const items = response.data.data.map(client_1.klipyClient.flattenGifSticker);
76
+ return {
77
+ current_page: response.data.current_page,
78
+ per_page: response.data.per_page,
79
+ has_next: response.data.has_next,
80
+ items,
81
+ };
82
+ });
83
+ },
84
+ });
85
+ //# sourceMappingURL=search-stickers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-stickers.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/klipy/src/lib/actions/search-stickers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const klipyAuth: import("@taskmagic/pieces-framework").SecretTextProperty<true>;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.klipyAuth = void 0;
4
+ const pieces_framework_1 = require("@taskmagic/pieces-framework");
5
+ exports.klipyAuth = pieces_framework_1.PieceAuth.SecretText({
6
+ displayName: 'App Key',
7
+ description: `To get your App Key:
8
+ 1. Sign in to your KLIPY account at https://klipy.com
9
+ 2. Go to your dashboard and open **API Settings**
10
+ 3. Copy your **App Key**
11
+
12
+ The App Key is a unique identifier issued by KLIPY for your application.`,
13
+ required: true,
14
+ });
15
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/klipy/src/lib/common/auth.ts"],"names":[],"mappings":";;;AAAA,kEAAwD;AAE3C,QAAA,SAAS,GAAG,4BAAS,CAAC,UAAU,CAAC;IAC5C,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE;;;;;yEAK0D;IACvE,QAAQ,EAAE,IAAI;CACf,CAAC,CAAC"}
@@ -0,0 +1,116 @@
1
+ type FileFormat = {
2
+ url: string;
3
+ width: number;
4
+ height: number;
5
+ size: number;
6
+ };
7
+ type SizeVariant = {
8
+ gif?: FileFormat;
9
+ webp?: FileFormat;
10
+ jpg?: FileFormat;
11
+ mp4?: FileFormat;
12
+ webm?: FileFormat;
13
+ png?: FileFormat;
14
+ };
15
+ type MediaFile = {
16
+ hd?: SizeVariant;
17
+ md?: SizeVariant;
18
+ sm?: SizeVariant;
19
+ xs?: SizeVariant;
20
+ };
21
+ type GifSticker = {
22
+ id: number;
23
+ slug: string;
24
+ title: string;
25
+ file: MediaFile;
26
+ tags: string[];
27
+ type: string;
28
+ blur_preview: string;
29
+ };
30
+ type ClipFile = {
31
+ mp4?: string;
32
+ gif?: string;
33
+ webp?: string;
34
+ };
35
+ type ClipFileMeta = {
36
+ mp4?: {
37
+ width: number;
38
+ height: number;
39
+ };
40
+ gif?: {
41
+ width: number;
42
+ height: number;
43
+ };
44
+ webp?: {
45
+ width: number;
46
+ height: number;
47
+ };
48
+ };
49
+ type Clip = {
50
+ url: string;
51
+ title: string;
52
+ slug: string;
53
+ file: ClipFile;
54
+ file_meta: ClipFileMeta;
55
+ tags: string[];
56
+ type: string;
57
+ blur_preview: string;
58
+ };
59
+ type SearchResponse<T> = {
60
+ result: boolean;
61
+ data: {
62
+ data: T[];
63
+ current_page: number;
64
+ per_page: number;
65
+ has_next: boolean;
66
+ };
67
+ };
68
+ type SearchParams = {
69
+ appKey: string;
70
+ endpoint: string;
71
+ query: string | undefined;
72
+ page: number;
73
+ perPage: number;
74
+ customerId: string | undefined;
75
+ locale: string | undefined;
76
+ contentFilter: string | undefined;
77
+ formatFilter?: string | undefined;
78
+ };
79
+ declare function search<T>({ appKey, endpoint, query, page, perPage, customerId, locale, contentFilter, formatFilter, }: SearchParams): Promise<SearchResponse<T>>;
80
+ declare function flattenGifSticker(item: GifSticker): {
81
+ id: number;
82
+ slug: string;
83
+ title: string;
84
+ type: string;
85
+ tags: string;
86
+ hd_gif_url: string | null;
87
+ hd_webp_url: string | null;
88
+ hd_mp4_url: string | null;
89
+ hd_png_url: string | null;
90
+ hd_width: number | null;
91
+ hd_height: number | null;
92
+ sm_gif_url: string | null;
93
+ sm_webp_url: string | null;
94
+ sm_width: number | null;
95
+ sm_height: number | null;
96
+ };
97
+ declare function flattenClip(item: Clip): {
98
+ title: string;
99
+ slug: string;
100
+ url: string;
101
+ type: string;
102
+ tags: string;
103
+ mp4_url: string | null;
104
+ gif_url: string | null;
105
+ webp_url: string | null;
106
+ mp4_width: number | null;
107
+ mp4_height: number | null;
108
+ gif_width: number | null;
109
+ gif_height: number | null;
110
+ };
111
+ export declare const klipyClient: {
112
+ search: typeof search;
113
+ flattenGifSticker: typeof flattenGifSticker;
114
+ flattenClip: typeof flattenClip;
115
+ };
116
+ export type { GifSticker, Clip, SearchParams };
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.klipyClient = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_common_1 = require("@taskmagic/pieces-common");
6
+ const BASE_URL = 'https://api.klipy.com';
7
+ function search(_a) {
8
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ appKey, endpoint, query, page, perPage, customerId, locale, contentFilter, formatFilter, }) {
9
+ const queryParams = {
10
+ page: String(page),
11
+ per_page: String(perPage),
12
+ };
13
+ if (query)
14
+ queryParams['q'] = query;
15
+ if (customerId)
16
+ queryParams['customer_id'] = customerId;
17
+ if (locale)
18
+ queryParams['locale'] = locale;
19
+ if (contentFilter)
20
+ queryParams['content_filter'] = contentFilter;
21
+ if (formatFilter)
22
+ queryParams['format_filter'] = formatFilter;
23
+ const response = yield pieces_common_1.httpClient.sendRequest({
24
+ method: pieces_common_1.HttpMethod.GET,
25
+ url: `${BASE_URL}/api/v1/${appKey}/${endpoint}`,
26
+ queryParams,
27
+ });
28
+ return response.body;
29
+ });
30
+ }
31
+ function flattenGifSticker(item) {
32
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5;
33
+ const hd = (_a = item.file) === null || _a === void 0 ? void 0 : _a.hd;
34
+ const sm = (_b = item.file) === null || _b === void 0 ? void 0 : _b.sm;
35
+ return {
36
+ id: item.id,
37
+ slug: item.slug,
38
+ title: item.title,
39
+ type: item.type,
40
+ tags: Array.isArray(item.tags) ? item.tags.join(', ') : '',
41
+ hd_gif_url: (_d = (_c = hd === null || hd === void 0 ? void 0 : hd.gif) === null || _c === void 0 ? void 0 : _c.url) !== null && _d !== void 0 ? _d : null,
42
+ hd_webp_url: (_f = (_e = hd === null || hd === void 0 ? void 0 : hd.webp) === null || _e === void 0 ? void 0 : _e.url) !== null && _f !== void 0 ? _f : null,
43
+ hd_mp4_url: (_h = (_g = hd === null || hd === void 0 ? void 0 : hd.mp4) === null || _g === void 0 ? void 0 : _g.url) !== null && _h !== void 0 ? _h : null,
44
+ hd_png_url: (_k = (_j = hd === null || hd === void 0 ? void 0 : hd.png) === null || _j === void 0 ? void 0 : _j.url) !== null && _k !== void 0 ? _k : null,
45
+ hd_width: (_p = (_m = (_l = hd === null || hd === void 0 ? void 0 : hd.gif) === null || _l === void 0 ? void 0 : _l.width) !== null && _m !== void 0 ? _m : (_o = hd === null || hd === void 0 ? void 0 : hd.webp) === null || _o === void 0 ? void 0 : _o.width) !== null && _p !== void 0 ? _p : null,
46
+ hd_height: (_t = (_r = (_q = hd === null || hd === void 0 ? void 0 : hd.gif) === null || _q === void 0 ? void 0 : _q.height) !== null && _r !== void 0 ? _r : (_s = hd === null || hd === void 0 ? void 0 : hd.webp) === null || _s === void 0 ? void 0 : _s.height) !== null && _t !== void 0 ? _t : null,
47
+ sm_gif_url: (_v = (_u = sm === null || sm === void 0 ? void 0 : sm.gif) === null || _u === void 0 ? void 0 : _u.url) !== null && _v !== void 0 ? _v : null,
48
+ sm_webp_url: (_x = (_w = sm === null || sm === void 0 ? void 0 : sm.webp) === null || _w === void 0 ? void 0 : _w.url) !== null && _x !== void 0 ? _x : null,
49
+ sm_width: (_1 = (_z = (_y = sm === null || sm === void 0 ? void 0 : sm.gif) === null || _y === void 0 ? void 0 : _y.width) !== null && _z !== void 0 ? _z : (_0 = sm === null || sm === void 0 ? void 0 : sm.webp) === null || _0 === void 0 ? void 0 : _0.width) !== null && _1 !== void 0 ? _1 : null,
50
+ sm_height: (_5 = (_3 = (_2 = sm === null || sm === void 0 ? void 0 : sm.gif) === null || _2 === void 0 ? void 0 : _2.height) !== null && _3 !== void 0 ? _3 : (_4 = sm === null || sm === void 0 ? void 0 : sm.webp) === null || _4 === void 0 ? void 0 : _4.height) !== null && _5 !== void 0 ? _5 : null,
51
+ };
52
+ }
53
+ function flattenClip(item) {
54
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
55
+ return {
56
+ title: item.title,
57
+ slug: item.slug,
58
+ url: item.url,
59
+ type: item.type,
60
+ tags: Array.isArray(item.tags) ? item.tags.join(', ') : '',
61
+ mp4_url: (_b = (_a = item.file) === null || _a === void 0 ? void 0 : _a.mp4) !== null && _b !== void 0 ? _b : null,
62
+ gif_url: (_d = (_c = item.file) === null || _c === void 0 ? void 0 : _c.gif) !== null && _d !== void 0 ? _d : null,
63
+ webp_url: (_f = (_e = item.file) === null || _e === void 0 ? void 0 : _e.webp) !== null && _f !== void 0 ? _f : null,
64
+ mp4_width: (_j = (_h = (_g = item.file_meta) === null || _g === void 0 ? void 0 : _g.mp4) === null || _h === void 0 ? void 0 : _h.width) !== null && _j !== void 0 ? _j : null,
65
+ mp4_height: (_m = (_l = (_k = item.file_meta) === null || _k === void 0 ? void 0 : _k.mp4) === null || _l === void 0 ? void 0 : _l.height) !== null && _m !== void 0 ? _m : null,
66
+ gif_width: (_q = (_p = (_o = item.file_meta) === null || _o === void 0 ? void 0 : _o.gif) === null || _p === void 0 ? void 0 : _p.width) !== null && _q !== void 0 ? _q : null,
67
+ gif_height: (_t = (_s = (_r = item.file_meta) === null || _r === void 0 ? void 0 : _r.gif) === null || _s === void 0 ? void 0 : _s.height) !== null && _t !== void 0 ? _t : null,
68
+ };
69
+ }
70
+ exports.klipyClient = { search, flattenGifSticker, flattenClip };
71
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/klipy/src/lib/common/client.ts"],"names":[],"mappings":";;;;AAAA,4DAAkE;AAElE,MAAM,QAAQ,GAAG,uBAAuB,CAAC;AAgFzC,SAAe,MAAM;iEAAI,EACvB,MAAM,EACN,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,OAAO,EACP,UAAU,EACV,MAAM,EACN,aAAa,EACb,YAAY,GACC;QACb,MAAM,WAAW,GAA2B;YAC1C,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;YAClB,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC;SAC1B,CAAC;QACF,IAAI,KAAK;YAAE,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACpC,IAAI,UAAU;YAAE,WAAW,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC;QACxD,IAAI,MAAM;YAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;QAC3C,IAAI,aAAa;YAAE,WAAW,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC;QACjE,IAAI,YAAY;YAAE,WAAW,CAAC,eAAe,CAAC,GAAG,YAAY,CAAC;QAE9D,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAoB;YAC/D,MAAM,EAAE,0BAAU,CAAC,GAAG;YACtB,GAAG,EAAE,GAAG,QAAQ,WAAW,MAAM,IAAI,QAAQ,EAAE;YAC/C,WAAW;SACZ,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CAAA;AAED,SAAS,iBAAiB,CAAC,IAAgB;;IACzC,MAAM,EAAE,GAAG,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,CAAC;IACzB,MAAM,EAAE,GAAG,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,CAAC;IACzB,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;QAC1D,UAAU,EAAE,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,GAAG,0CAAE,GAAG,mCAAI,IAAI;QAChC,WAAW,EAAE,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI,0CAAE,GAAG,mCAAI,IAAI;QAClC,UAAU,EAAE,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,GAAG,0CAAE,GAAG,mCAAI,IAAI;QAChC,UAAU,EAAE,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,GAAG,0CAAE,GAAG,mCAAI,IAAI;QAChC,QAAQ,EAAE,MAAA,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,GAAG,0CAAE,KAAK,mCAAI,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI,0CAAE,KAAK,mCAAI,IAAI;QACnD,SAAS,EAAE,MAAA,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,GAAG,0CAAE,MAAM,mCAAI,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI,0CAAE,MAAM,mCAAI,IAAI;QACtD,UAAU,EAAE,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,GAAG,0CAAE,GAAG,mCAAI,IAAI;QAChC,WAAW,EAAE,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI,0CAAE,GAAG,mCAAI,IAAI;QAClC,QAAQ,EAAE,MAAA,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,GAAG,0CAAE,KAAK,mCAAI,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI,0CAAE,KAAK,mCAAI,IAAI;QACnD,SAAS,EAAE,MAAA,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,GAAG,0CAAE,MAAM,mCAAI,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI,0CAAE,MAAM,mCAAI,IAAI;KACvD,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAU;;IAC7B,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;QAC1D,OAAO,EAAE,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,mCAAI,IAAI;QAC/B,OAAO,EAAE,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,mCAAI,IAAI;QAC/B,QAAQ,EAAE,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,mCAAI,IAAI;QACjC,SAAS,EAAE,MAAA,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,GAAG,0CAAE,KAAK,mCAAI,IAAI;QAC7C,UAAU,EAAE,MAAA,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,GAAG,0CAAE,MAAM,mCAAI,IAAI;QAC/C,SAAS,EAAE,MAAA,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,GAAG,0CAAE,KAAK,mCAAI,IAAI;QAC7C,UAAU,EAAE,MAAA,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,GAAG,0CAAE,MAAM,mCAAI,IAAI;KAChD,CAAC;AACJ,CAAC;AAEY,QAAA,WAAW,GAAG,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC"}