@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.
Files changed (113) hide show
  1. package/README.md +159 -0
  2. package/dist/adapter.iife.js +15290 -0
  3. package/dist/adapter.iife.js.map +7 -0
  4. package/dist/index.d.ts +14 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +76 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/pinterest-api.d.ts +45 -0
  9. package/dist/pinterest-api.d.ts.map +1 -0
  10. package/dist/pinterest-api.js +112 -0
  11. package/dist/pinterest-api.js.map +1 -0
  12. package/dist/tools/create-board-section.d.ts +13 -0
  13. package/dist/tools/create-board-section.d.ts.map +1 -0
  14. package/dist/tools/create-board-section.js +27 -0
  15. package/dist/tools/create-board-section.js.map +1 -0
  16. package/dist/tools/create-board.d.ts +25 -0
  17. package/dist/tools/create-board.d.ts.map +1 -0
  18. package/dist/tools/create-board.js +29 -0
  19. package/dist/tools/create-board.js.map +1 -0
  20. package/dist/tools/create-pin.d.ts +25 -0
  21. package/dist/tools/create-pin.d.ts.map +1 -0
  22. package/dist/tools/create-pin.js +36 -0
  23. package/dist/tools/create-pin.js.map +1 -0
  24. package/dist/tools/delete-board-section.d.ts +7 -0
  25. package/dist/tools/delete-board-section.d.ts.map +1 -0
  26. package/dist/tools/delete-board-section.js +24 -0
  27. package/dist/tools/delete-board-section.js.map +1 -0
  28. package/dist/tools/delete-board.d.ts +7 -0
  29. package/dist/tools/delete-board.d.ts.map +1 -0
  30. package/dist/tools/delete-board.js +24 -0
  31. package/dist/tools/delete-board.js.map +1 -0
  32. package/dist/tools/delete-pin.d.ts +7 -0
  33. package/dist/tools/delete-pin.d.ts.map +1 -0
  34. package/dist/tools/delete-pin.js +24 -0
  35. package/dist/tools/delete-pin.js.map +1 -0
  36. package/dist/tools/follow-user.d.ts +17 -0
  37. package/dist/tools/follow-user.d.ts.map +1 -0
  38. package/dist/tools/follow-user.js +23 -0
  39. package/dist/tools/follow-user.js.map +1 -0
  40. package/dist/tools/get-board-pins.d.ts +24 -0
  41. package/dist/tools/get-board-pins.d.ts.map +1 -0
  42. package/dist/tools/get-board-pins.js +36 -0
  43. package/dist/tools/get-board-pins.js.map +1 -0
  44. package/dist/tools/get-board-sections.d.ts +13 -0
  45. package/dist/tools/get-board-sections.d.ts.map +1 -0
  46. package/dist/tools/get-board-sections.js +26 -0
  47. package/dist/tools/get-board-sections.js.map +1 -0
  48. package/dist/tools/get-current-user.d.ts +18 -0
  49. package/dist/tools/get-current-user.d.ts.map +1 -0
  50. package/dist/tools/get-current-user.js +30 -0
  51. package/dist/tools/get-current-user.js.map +1 -0
  52. package/dist/tools/get-home-feed.d.ts +21 -0
  53. package/dist/tools/get-home-feed.d.ts.map +1 -0
  54. package/dist/tools/get-home-feed.js +33 -0
  55. package/dist/tools/get-home-feed.js.map +1 -0
  56. package/dist/tools/get-notification-counts.d.ts +6 -0
  57. package/dist/tools/get-notification-counts.d.ts.map +1 -0
  58. package/dist/tools/get-notification-counts.js +25 -0
  59. package/dist/tools/get-notification-counts.js.map +1 -0
  60. package/dist/tools/get-pin.d.ts +20 -0
  61. package/dist/tools/get-pin.d.ts.map +1 -0
  62. package/dist/tools/get-pin.js +26 -0
  63. package/dist/tools/get-pin.js.map +1 -0
  64. package/dist/tools/get-related-pins.d.ts +23 -0
  65. package/dist/tools/get-related-pins.d.ts.map +1 -0
  66. package/dist/tools/get-related-pins.js +34 -0
  67. package/dist/tools/get-related-pins.js.map +1 -0
  68. package/dist/tools/get-user-pins.d.ts +23 -0
  69. package/dist/tools/get-user-pins.d.ts.map +1 -0
  70. package/dist/tools/get-user-pins.js +34 -0
  71. package/dist/tools/get-user-pins.js.map +1 -0
  72. package/dist/tools/get-user-profile.d.ts +17 -0
  73. package/dist/tools/get-user-profile.d.ts.map +1 -0
  74. package/dist/tools/get-user-profile.js +26 -0
  75. package/dist/tools/get-user-profile.js.map +1 -0
  76. package/dist/tools/list-boards.d.ts +23 -0
  77. package/dist/tools/list-boards.d.ts.map +1 -0
  78. package/dist/tools/list-boards.js +37 -0
  79. package/dist/tools/list-boards.js.map +1 -0
  80. package/dist/tools/list-followers.d.ts +20 -0
  81. package/dist/tools/list-followers.d.ts.map +1 -0
  82. package/dist/tools/list-followers.js +33 -0
  83. package/dist/tools/list-followers.js.map +1 -0
  84. package/dist/tools/list-following.d.ts +20 -0
  85. package/dist/tools/list-following.d.ts.map +1 -0
  86. package/dist/tools/list-following.js +33 -0
  87. package/dist/tools/list-following.js.map +1 -0
  88. package/dist/tools/save-pin.d.ts +22 -0
  89. package/dist/tools/save-pin.d.ts.map +1 -0
  90. package/dist/tools/save-pin.js +30 -0
  91. package/dist/tools/save-pin.js.map +1 -0
  92. package/dist/tools/schemas.d.ts +194 -0
  93. package/dist/tools/schemas.d.ts.map +1 -0
  94. package/dist/tools/schemas.js +127 -0
  95. package/dist/tools/schemas.js.map +1 -0
  96. package/dist/tools/search-boards.d.ts +23 -0
  97. package/dist/tools/search-boards.d.ts.map +1 -0
  98. package/dist/tools/search-boards.js +35 -0
  99. package/dist/tools/search-boards.js.map +1 -0
  100. package/dist/tools/search-pins.d.ts +23 -0
  101. package/dist/tools/search-pins.d.ts.map +1 -0
  102. package/dist/tools/search-pins.js +35 -0
  103. package/dist/tools/search-pins.js.map +1 -0
  104. package/dist/tools/unfollow-user.d.ts +7 -0
  105. package/dist/tools/unfollow-user.d.ts.map +1 -0
  106. package/dist/tools/unfollow-user.js +24 -0
  107. package/dist/tools/unfollow-user.js.map +1 -0
  108. package/dist/tools/update-board.d.ts +26 -0
  109. package/dist/tools/update-board.d.ts.map +1 -0
  110. package/dist/tools/update-board.js +33 -0
  111. package/dist/tools/update-board.js.map +1 -0
  112. package/dist/tools.json +2133 -0
  113. 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"}