@opentabs-dev/opentabs-plugin-pinterest 0.0.74
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 +159 -0
- package/dist/adapter.iife.js +15290 -0
- package/dist/adapter.iife.js.map +7 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +76 -0
- package/dist/index.js.map +1 -0
- package/dist/pinterest-api.d.ts +45 -0
- package/dist/pinterest-api.d.ts.map +1 -0
- package/dist/pinterest-api.js +112 -0
- package/dist/pinterest-api.js.map +1 -0
- package/dist/tools/create-board-section.d.ts +13 -0
- package/dist/tools/create-board-section.d.ts.map +1 -0
- package/dist/tools/create-board-section.js +27 -0
- package/dist/tools/create-board-section.js.map +1 -0
- package/dist/tools/create-board.d.ts +25 -0
- package/dist/tools/create-board.d.ts.map +1 -0
- package/dist/tools/create-board.js +29 -0
- package/dist/tools/create-board.js.map +1 -0
- package/dist/tools/create-pin.d.ts +25 -0
- package/dist/tools/create-pin.d.ts.map +1 -0
- package/dist/tools/create-pin.js +36 -0
- package/dist/tools/create-pin.js.map +1 -0
- package/dist/tools/delete-board-section.d.ts +7 -0
- package/dist/tools/delete-board-section.d.ts.map +1 -0
- package/dist/tools/delete-board-section.js +24 -0
- package/dist/tools/delete-board-section.js.map +1 -0
- package/dist/tools/delete-board.d.ts +7 -0
- package/dist/tools/delete-board.d.ts.map +1 -0
- package/dist/tools/delete-board.js +24 -0
- package/dist/tools/delete-board.js.map +1 -0
- package/dist/tools/delete-pin.d.ts +7 -0
- package/dist/tools/delete-pin.d.ts.map +1 -0
- package/dist/tools/delete-pin.js +24 -0
- package/dist/tools/delete-pin.js.map +1 -0
- package/dist/tools/follow-user.d.ts +17 -0
- package/dist/tools/follow-user.d.ts.map +1 -0
- package/dist/tools/follow-user.js +23 -0
- package/dist/tools/follow-user.js.map +1 -0
- package/dist/tools/get-board-pins.d.ts +24 -0
- package/dist/tools/get-board-pins.d.ts.map +1 -0
- package/dist/tools/get-board-pins.js +36 -0
- package/dist/tools/get-board-pins.js.map +1 -0
- package/dist/tools/get-board-sections.d.ts +13 -0
- package/dist/tools/get-board-sections.d.ts.map +1 -0
- package/dist/tools/get-board-sections.js +26 -0
- package/dist/tools/get-board-sections.js.map +1 -0
- package/dist/tools/get-current-user.d.ts +18 -0
- package/dist/tools/get-current-user.d.ts.map +1 -0
- package/dist/tools/get-current-user.js +30 -0
- package/dist/tools/get-current-user.js.map +1 -0
- package/dist/tools/get-home-feed.d.ts +21 -0
- package/dist/tools/get-home-feed.d.ts.map +1 -0
- package/dist/tools/get-home-feed.js +33 -0
- package/dist/tools/get-home-feed.js.map +1 -0
- package/dist/tools/get-notification-counts.d.ts +6 -0
- package/dist/tools/get-notification-counts.d.ts.map +1 -0
- package/dist/tools/get-notification-counts.js +25 -0
- package/dist/tools/get-notification-counts.js.map +1 -0
- package/dist/tools/get-pin.d.ts +20 -0
- package/dist/tools/get-pin.d.ts.map +1 -0
- package/dist/tools/get-pin.js +26 -0
- package/dist/tools/get-pin.js.map +1 -0
- package/dist/tools/get-related-pins.d.ts +23 -0
- package/dist/tools/get-related-pins.d.ts.map +1 -0
- package/dist/tools/get-related-pins.js +34 -0
- package/dist/tools/get-related-pins.js.map +1 -0
- package/dist/tools/get-user-pins.d.ts +23 -0
- package/dist/tools/get-user-pins.d.ts.map +1 -0
- package/dist/tools/get-user-pins.js +34 -0
- package/dist/tools/get-user-pins.js.map +1 -0
- package/dist/tools/get-user-profile.d.ts +17 -0
- package/dist/tools/get-user-profile.d.ts.map +1 -0
- package/dist/tools/get-user-profile.js +26 -0
- package/dist/tools/get-user-profile.js.map +1 -0
- package/dist/tools/list-boards.d.ts +23 -0
- package/dist/tools/list-boards.d.ts.map +1 -0
- package/dist/tools/list-boards.js +37 -0
- package/dist/tools/list-boards.js.map +1 -0
- package/dist/tools/list-followers.d.ts +20 -0
- package/dist/tools/list-followers.d.ts.map +1 -0
- package/dist/tools/list-followers.js +33 -0
- package/dist/tools/list-followers.js.map +1 -0
- package/dist/tools/list-following.d.ts +20 -0
- package/dist/tools/list-following.d.ts.map +1 -0
- package/dist/tools/list-following.js +33 -0
- package/dist/tools/list-following.js.map +1 -0
- package/dist/tools/save-pin.d.ts +22 -0
- package/dist/tools/save-pin.d.ts.map +1 -0
- package/dist/tools/save-pin.js +30 -0
- package/dist/tools/save-pin.js.map +1 -0
- package/dist/tools/schemas.d.ts +194 -0
- package/dist/tools/schemas.d.ts.map +1 -0
- package/dist/tools/schemas.js +127 -0
- package/dist/tools/schemas.js.map +1 -0
- package/dist/tools/search-boards.d.ts +23 -0
- package/dist/tools/search-boards.d.ts.map +1 -0
- package/dist/tools/search-boards.js +35 -0
- package/dist/tools/search-boards.js.map +1 -0
- package/dist/tools/search-pins.d.ts +23 -0
- package/dist/tools/search-pins.d.ts.map +1 -0
- package/dist/tools/search-pins.js +35 -0
- package/dist/tools/search-pins.js.map +1 -0
- package/dist/tools/unfollow-user.d.ts +7 -0
- package/dist/tools/unfollow-user.d.ts.map +1 -0
- package/dist/tools/unfollow-user.js +24 -0
- package/dist/tools/unfollow-user.js.map +1 -0
- package/dist/tools/update-board.d.ts +26 -0
- package/dist/tools/update-board.d.ts.map +1 -0
- package/dist/tools/update-board.js +33 -0
- package/dist/tools/update-board.js.map +1 -0
- package/dist/tools.json +2133 -0
- package/package.json +55 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { defineTool } from '@opentabs-dev/plugin-sdk';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { resourceGet, getBookmark } from '../pinterest-api.js';
|
|
4
|
+
import { pinSchema, mapPin } from './schemas.js';
|
|
5
|
+
export const searchPins = defineTool({
|
|
6
|
+
name: 'search_pins',
|
|
7
|
+
displayName: 'Search Pins',
|
|
8
|
+
description: 'Search for pins on Pinterest by keyword query. Returns matching pins with images, descriptions, and links. Supports pagination via bookmark cursor.',
|
|
9
|
+
summary: 'Search for pins by keyword',
|
|
10
|
+
icon: 'search',
|
|
11
|
+
group: 'Pins',
|
|
12
|
+
input: z.object({
|
|
13
|
+
query: z.string().describe('Search query text'),
|
|
14
|
+
bookmark: z.string().optional().describe('Pagination cursor from a previous response'),
|
|
15
|
+
page_size: z.number().int().min(1).max(50).optional().describe('Number of results per page (default 25, max 50)'),
|
|
16
|
+
}),
|
|
17
|
+
output: z.object({
|
|
18
|
+
pins: z.array(pinSchema).describe('Matching pins'),
|
|
19
|
+
bookmark: z.string().describe('Cursor for next page, empty if no more results'),
|
|
20
|
+
}),
|
|
21
|
+
handle: async (params) => {
|
|
22
|
+
const resp = await resourceGet('BaseSearchResource', {
|
|
23
|
+
query: params.query,
|
|
24
|
+
scope: 'pins',
|
|
25
|
+
field_set_key: 'unauth_react',
|
|
26
|
+
page_size: params.page_size ?? 25,
|
|
27
|
+
}, `/search/pins/?q=${encodeURIComponent(params.query)}`, params.bookmark);
|
|
28
|
+
const results = resp.resource_response.data?.results ?? [];
|
|
29
|
+
return {
|
|
30
|
+
pins: results.map(mapPin),
|
|
31
|
+
bookmark: getBookmark(resp),
|
|
32
|
+
};
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=search-pins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-pins.js","sourceRoot":"","sources":["../../src/tools/search-pins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGjD,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;IACnC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,aAAa;IAC1B,WAAW,EACT,qJAAqJ;IACvJ,OAAO,EAAE,4BAA4B;IACrC,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;QACtF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;KAClH,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;QAClD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;KAChF,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,IAAI,GAAG,MAAM,WAAW,CAC5B,oBAAoB,EACpB;YACE,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM;YACb,aAAa,EAAE,cAAc;YAC7B,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;SAClC,EACD,mBAAmB,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACrD,MAAM,CAAC,QAAQ,CAChB,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;QAC3D,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;YACzB,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC;SAC5B,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const unfollowUser: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
|
|
3
|
+
user_id: z.ZodString;
|
|
4
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
5
|
+
success: z.ZodBoolean;
|
|
6
|
+
}, z.core.$strip>>;
|
|
7
|
+
//# sourceMappingURL=unfollow-user.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unfollow-user.d.ts","sourceRoot":"","sources":["../../src/tools/unfollow-user.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,YAAY;;;;kBAoBvB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { defineTool } from '@opentabs-dev/plugin-sdk';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { resourcePost } from '../pinterest-api.js';
|
|
4
|
+
export const unfollowUser = defineTool({
|
|
5
|
+
name: 'unfollow_user',
|
|
6
|
+
displayName: 'Unfollow User',
|
|
7
|
+
description: 'Unfollow a Pinterest user by their user ID.',
|
|
8
|
+
summary: 'Unfollow a Pinterest user',
|
|
9
|
+
icon: 'user-minus',
|
|
10
|
+
group: 'Social',
|
|
11
|
+
input: z.object({
|
|
12
|
+
user_id: z.string().describe('User ID to unfollow'),
|
|
13
|
+
}),
|
|
14
|
+
output: z.object({
|
|
15
|
+
success: z.boolean().describe('Whether the operation succeeded'),
|
|
16
|
+
}),
|
|
17
|
+
handle: async (params) => {
|
|
18
|
+
await resourcePost('UserFollowResource', 'delete', {
|
|
19
|
+
user_id: params.user_id,
|
|
20
|
+
});
|
|
21
|
+
return { success: true };
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=unfollow-user.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unfollow-user.js","sourceRoot":"","sources":["../../src/tools/unfollow-user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,6CAA6C;IAC1D,OAAO,EAAE,2BAA2B;IACpC,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;KACpD,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;KACjE,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,YAAY,CAAC,oBAAoB,EAAE,QAAQ,EAAE;YACjD,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;QAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const updateBoard: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
|
|
3
|
+
board_id: z.ZodString;
|
|
4
|
+
name: z.ZodOptional<z.ZodString>;
|
|
5
|
+
description: z.ZodOptional<z.ZodString>;
|
|
6
|
+
privacy: z.ZodOptional<z.ZodEnum<{
|
|
7
|
+
public: "public";
|
|
8
|
+
secret: "secret";
|
|
9
|
+
}>>;
|
|
10
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
11
|
+
board: z.ZodObject<{
|
|
12
|
+
id: z.ZodString;
|
|
13
|
+
name: z.ZodString;
|
|
14
|
+
description: z.ZodString;
|
|
15
|
+
url: z.ZodString;
|
|
16
|
+
pin_count: z.ZodNumber;
|
|
17
|
+
follower_count: z.ZodNumber;
|
|
18
|
+
section_count: z.ZodNumber;
|
|
19
|
+
privacy: z.ZodString;
|
|
20
|
+
is_collaborative: z.ZodBoolean;
|
|
21
|
+
created_at: z.ZodString;
|
|
22
|
+
image_url: z.ZodString;
|
|
23
|
+
owner_username: z.ZodString;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
}, z.core.$strip>>;
|
|
26
|
+
//# sourceMappingURL=update-board.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-board.d.ts","sourceRoot":"","sources":["../../src/tools/update-board.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;kBA0BtB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { defineTool } from '@opentabs-dev/plugin-sdk';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { resourcePost } from '../pinterest-api.js';
|
|
4
|
+
import { boardSchema, mapBoard } from './schemas.js';
|
|
5
|
+
export const updateBoard = defineTool({
|
|
6
|
+
name: 'update_board',
|
|
7
|
+
displayName: 'Update Board',
|
|
8
|
+
description: 'Update a board name, description, or privacy setting. Only specified fields are changed.',
|
|
9
|
+
summary: 'Update a board',
|
|
10
|
+
icon: 'folder-pen',
|
|
11
|
+
group: 'Boards',
|
|
12
|
+
input: z.object({
|
|
13
|
+
board_id: z.string().describe('Board ID to update'),
|
|
14
|
+
name: z.string().optional().describe('New board name'),
|
|
15
|
+
description: z.string().optional().describe('New board description'),
|
|
16
|
+
privacy: z.enum(['public', 'secret']).optional().describe('New privacy setting'),
|
|
17
|
+
}),
|
|
18
|
+
output: z.object({
|
|
19
|
+
board: boardSchema.describe('The updated board'),
|
|
20
|
+
}),
|
|
21
|
+
handle: async (params) => {
|
|
22
|
+
const options = { board_id: params.board_id };
|
|
23
|
+
if (params.name !== undefined)
|
|
24
|
+
options.name = params.name;
|
|
25
|
+
if (params.description !== undefined)
|
|
26
|
+
options.description = params.description;
|
|
27
|
+
if (params.privacy !== undefined)
|
|
28
|
+
options.privacy = params.privacy;
|
|
29
|
+
const resp = await resourcePost('BoardResource', 'update', options);
|
|
30
|
+
return { board: mapBoard(resp.resource_response.data) };
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=update-board.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-board.js","sourceRoot":"","sources":["../../src/tools/update-board.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGrD,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;IACpC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,0FAA0F;IACvG,OAAO,EAAE,gBAAgB;IACzB,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACnD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACpE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;KACjF,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC;KACjD,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,OAAO,GAA4B,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvE,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAC1D,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QAC/E,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAEnE,MAAM,IAAI,GAAG,MAAM,YAAY,CAAW,eAAe,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE9E,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1D,CAAC;CACF,CAAC,CAAC"}
|