@opentabs-dev/opentabs-plugin-fiverr 0.0.109

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 (49) hide show
  1. package/README.md +58 -0
  2. package/dist/adapter.iife.js +15641 -0
  3. package/dist/adapter.iife.js.map +7 -0
  4. package/dist/fiverr-api.d.ts +23 -0
  5. package/dist/fiverr-api.d.ts.map +1 -0
  6. package/dist/fiverr-api.js +106 -0
  7. package/dist/fiverr-api.js.map +1 -0
  8. package/dist/index.d.ts +14 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +38 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/tools/draft-message.d.ts +12 -0
  13. package/dist/tools/draft-message.d.ts.map +1 -0
  14. package/dist/tools/draft-message.js +37 -0
  15. package/dist/tools/draft-message.js.map +1 -0
  16. package/dist/tools/get-conversation.d.ts +22 -0
  17. package/dist/tools/get-conversation.d.ts.map +1 -0
  18. package/dist/tools/get-conversation.js +28 -0
  19. package/dist/tools/get-conversation.js.map +1 -0
  20. package/dist/tools/get-current-page-context.d.ts +12 -0
  21. package/dist/tools/get-current-page-context.d.ts.map +1 -0
  22. package/dist/tools/get-current-page-context.js +39 -0
  23. package/dist/tools/get-current-page-context.js.map +1 -0
  24. package/dist/tools/get-gig-details.d.ts +41 -0
  25. package/dist/tools/get-gig-details.d.ts.map +1 -0
  26. package/dist/tools/get-gig-details.js +34 -0
  27. package/dist/tools/get-gig-details.js.map +1 -0
  28. package/dist/tools/get-seller-profile.d.ts +20 -0
  29. package/dist/tools/get-seller-profile.d.ts.map +1 -0
  30. package/dist/tools/get-seller-profile.js +27 -0
  31. package/dist/tools/get-seller-profile.js.map +1 -0
  32. package/dist/tools/list-conversations.d.ts +16 -0
  33. package/dist/tools/list-conversations.d.ts.map +1 -0
  34. package/dist/tools/list-conversations.js +24 -0
  35. package/dist/tools/list-conversations.js.map +1 -0
  36. package/dist/tools/schemas.d.ts +355 -0
  37. package/dist/tools/schemas.d.ts.map +1 -0
  38. package/dist/tools/schemas.js +223 -0
  39. package/dist/tools/schemas.js.map +1 -0
  40. package/dist/tools/search-gigs.d.ts +26 -0
  41. package/dist/tools/search-gigs.d.ts.map +1 -0
  42. package/dist/tools/search-gigs.js +42 -0
  43. package/dist/tools/search-gigs.js.map +1 -0
  44. package/dist/tools/send-message.d.ts +9 -0
  45. package/dist/tools/send-message.d.ts.map +1 -0
  46. package/dist/tools/send-message.js +31 -0
  47. package/dist/tools/send-message.js.map +1 -0
  48. package/dist/tools.json +819 -0
  49. package/package.json +67 -0
@@ -0,0 +1,819 @@
1
+ {
2
+ "sdkVersion": "0.0.111",
3
+ "iconSvg": "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"#1DBF73\" d=\"M23.004 15.588a.995.995 0 1 0 .002-1.99.995.995 0 0 0-.002 1.99zm-.996-3.705h-.85c-.546 0-.84.41-.84 1.092v2.466h-1.61v-3.558h-.684c-.547 0-.84.41-.84 1.092v2.466h-1.61v-4.874h1.61v.74c.264-.574.626-.74 1.163-.74h1.972v.74c.264-.574.625-.74 1.162-.74h.527v1.316zm-6.786 1.501h-3.359c.088.546.43.858 1.006.858.43 0 .732-.175.83-.487l1.425.4c-.351.848-1.22 1.364-2.255 1.364-1.748 0-2.549-1.355-2.549-2.515 0-1.14.703-2.505 2.45-2.505 1.856 0 2.471 1.384 2.471 2.408 0 .224-.01.37-.02.477zm-1.562-.945c-.04-.42-.342-.81-.889-.81-.508 0-.81.225-.908.81h1.797zM7.508 15.44h1.416l1.767-4.874h-1.62l-.86 2.837-.878-2.837H5.72l1.787 4.874zm-6.6 0H2.51v-3.558h1.524v3.558h1.591v-4.874H2.51v-.302c0-.332.235-.536.606-.536h.918V8.412H2.85c-1.162 0-1.943.712-1.943 1.755v.4H0v1.316h.908v3.558z\"/></svg>",
4
+ "iconInactiveSvg": "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"#999999\" d=\"M23.004 15.588a.995.995 0 1 0 .002-1.99.995.995 0 0 0-.002 1.99zm-.996-3.705h-.85c-.546 0-.84.41-.84 1.092v2.466h-1.61v-3.558h-.684c-.547 0-.84.41-.84 1.092v2.466h-1.61v-4.874h1.61v.74c.264-.574.626-.74 1.163-.74h1.972v.74c.264-.574.625-.74 1.162-.74h.527v1.316zm-6.786 1.501h-3.359c.088.546.43.858 1.006.858.43 0 .732-.175.83-.487l1.425.4c-.351.848-1.22 1.364-2.255 1.364-1.748 0-2.549-1.355-2.549-2.515 0-1.14.703-2.505 2.45-2.505 1.856 0 2.471 1.384 2.471 2.408 0 .224-.01.37-.02.477zm-1.562-.945c-.04-.42-.342-.81-.889-.81-.508 0-.81.225-.908.81h1.797zM7.508 15.44h1.416l1.767-4.874h-1.62l-.86 2.837-.878-2.837H5.72l1.787 4.874zm-6.6 0H2.51v-3.558h1.524v3.558h1.591v-4.874H2.51v-.302c0-.332.235-.536.606-.536h.918V8.412H2.85c-1.162 0-1.943.712-1.943 1.755v.4H0v1.316h.908v3.558z\"/></svg>",
5
+ "iconDarkSvg": "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"#1DBF73\" d=\"M23.004 15.588a.995.995 0 1 0 .002-1.99.995.995 0 0 0-.002 1.99zm-.996-3.705h-.85c-.546 0-.84.41-.84 1.092v2.466h-1.61v-3.558h-.684c-.547 0-.84.41-.84 1.092v2.466h-1.61v-4.874h1.61v.74c.264-.574.626-.74 1.163-.74h1.972v.74c.264-.574.625-.74 1.162-.74h.527v1.316zm-6.786 1.501h-3.359c.088.546.43.858 1.006.858.43 0 .732-.175.83-.487l1.425.4c-.351.848-1.22 1.364-2.255 1.364-1.748 0-2.549-1.355-2.549-2.515 0-1.14.703-2.505 2.45-2.505 1.856 0 2.471 1.384 2.471 2.408 0 .224-.01.37-.02.477zm-1.562-.945c-.04-.42-.342-.81-.889-.81-.508 0-.81.225-.908.81h1.797zM7.508 15.44h1.416l1.767-4.874h-1.62l-.86 2.837-.878-2.837H5.72l1.787 4.874zm-6.6 0H2.51v-3.558h1.524v3.558h1.591v-4.874H2.51v-.302c0-.332.235-.536.606-.536h.918V8.412H2.85c-1.162 0-1.943.712-1.943 1.755v.4H0v1.316h.908v3.558z\"/></svg>",
6
+ "iconDarkInactiveSvg": "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"#999999\" d=\"M23.004 15.588a.995.995 0 1 0 .002-1.99.995.995 0 0 0-.002 1.99zm-.996-3.705h-.85c-.546 0-.84.41-.84 1.092v2.466h-1.61v-3.558h-.684c-.547 0-.84.41-.84 1.092v2.466h-1.61v-4.874h1.61v.74c.264-.574.626-.74 1.163-.74h1.972v.74c.264-.574.625-.74 1.162-.74h.527v1.316zm-6.786 1.501h-3.359c.088.546.43.858 1.006.858.43 0 .732-.175.83-.487l1.425.4c-.351.848-1.22 1.364-2.255 1.364-1.748 0-2.549-1.355-2.549-2.515 0-1.14.703-2.505 2.45-2.505 1.856 0 2.471 1.384 2.471 2.408 0 .224-.01.37-.02.477zm-1.562-.945c-.04-.42-.342-.81-.889-.81-.508 0-.81.225-.908.81h1.797zM7.508 15.44h1.416l1.767-4.874h-1.62l-.86 2.837-.878-2.837H5.72l1.787 4.874zm-6.6 0H2.51v-3.558h1.524v3.558h1.591v-4.874H2.51v-.302c0-.332.235-.536.606-.536h.918V8.412H2.85c-1.162 0-1.943.712-1.943 1.755v.4H0v1.316h.908v3.558z\"/></svg>",
7
+ "tools": [
8
+ {
9
+ "name": "get_current_page_context",
10
+ "displayName": "Get Current Page Context",
11
+ "description": "Get the logged-in Fiverr account identity and the page currently open in the browser tab. Returns the username, numeric user ID, account currency/country/locale, Pro status, and the current page URL and title. Use this to confirm who is logged in and what they are looking at before taking further actions. Reads page state only — makes no network request.",
12
+ "summary": "Identify the logged-in user and current page",
13
+ "icon": "user",
14
+ "group": "Account",
15
+ "input_schema": {
16
+ "type": "object",
17
+ "properties": {},
18
+ "additionalProperties": false
19
+ },
20
+ "output_schema": {
21
+ "type": "object",
22
+ "properties": {
23
+ "username": {
24
+ "type": "string",
25
+ "description": "Logged-in user’s Fiverr username"
26
+ },
27
+ "user_id": {
28
+ "type": "number",
29
+ "description": "Logged-in user’s numeric ID"
30
+ },
31
+ "currency": {
32
+ "type": "string",
33
+ "description": "Account currency (ISO code, e.g., \"USD\")"
34
+ },
35
+ "country_code": {
36
+ "type": "string",
37
+ "description": "Account country code (e.g., \"US\")"
38
+ },
39
+ "locale": {
40
+ "type": "string",
41
+ "description": "Account locale (e.g., \"en-US\")"
42
+ },
43
+ "is_pro": {
44
+ "type": "boolean",
45
+ "description": "Whether the account is a Fiverr Pro account"
46
+ },
47
+ "current_url": {
48
+ "type": "string",
49
+ "description": "URL of the currently open page"
50
+ },
51
+ "page_title": {
52
+ "type": "string",
53
+ "description": "Title of the currently open page"
54
+ }
55
+ },
56
+ "required": [
57
+ "username",
58
+ "user_id",
59
+ "currency",
60
+ "country_code",
61
+ "locale",
62
+ "is_pro",
63
+ "current_url",
64
+ "page_title"
65
+ ],
66
+ "additionalProperties": false
67
+ }
68
+ },
69
+ {
70
+ "name": "search_gigs",
71
+ "displayName": "Search Gigs",
72
+ "description": "Search Fiverr for gigs (services) matching a query. Returns a ranked page of gigs with title, seller, level, rating, starting price, and a link to each gig page. Use the `page` parameter to paginate. Pass a gig URL from a result to `get_gig_details` for full information. Reads Fiverr’s server-rendered search page — the most reliable source given Fiverr’s bot protection.",
73
+ "summary": "Search Fiverr gigs by keyword",
74
+ "icon": "search",
75
+ "group": "Gigs",
76
+ "input_schema": {
77
+ "type": "object",
78
+ "properties": {
79
+ "query": {
80
+ "type": "string",
81
+ "minLength": 1,
82
+ "description": "Search keywords (e.g., \"logo design\", \"wordpress developer\")"
83
+ },
84
+ "page": {
85
+ "description": "Page number for pagination (default 1)",
86
+ "type": "integer",
87
+ "minimum": 1,
88
+ "maximum": 9007199254740991
89
+ }
90
+ },
91
+ "required": [
92
+ "query"
93
+ ],
94
+ "additionalProperties": false
95
+ },
96
+ "output_schema": {
97
+ "type": "object",
98
+ "properties": {
99
+ "gigs": {
100
+ "type": "array",
101
+ "items": {
102
+ "type": "object",
103
+ "properties": {
104
+ "gig_id": {
105
+ "type": "number",
106
+ "description": "Numeric gig ID"
107
+ },
108
+ "title": {
109
+ "type": "string",
110
+ "description": "Gig title"
111
+ },
112
+ "url": {
113
+ "type": "string",
114
+ "description": "Absolute URL to the gig page"
115
+ },
116
+ "seller_name": {
117
+ "type": "string",
118
+ "description": "Seller username"
119
+ },
120
+ "seller_display_name": {
121
+ "type": "string",
122
+ "description": "Seller display name"
123
+ },
124
+ "seller_level": {
125
+ "type": "string",
126
+ "description": "Seller level (e.g., \"level_one\", \"level_two\", \"top_rated_seller\", or empty)"
127
+ },
128
+ "seller_country": {
129
+ "type": "string",
130
+ "description": "Seller country name"
131
+ },
132
+ "is_pro": {
133
+ "type": "boolean",
134
+ "description": "Whether the seller is a Fiverr Pro seller"
135
+ },
136
+ "rating": {
137
+ "type": "number",
138
+ "description": "Average buyer review rating (0–5)"
139
+ },
140
+ "ratings_count": {
141
+ "type": "number",
142
+ "description": "Number of buyer reviews"
143
+ },
144
+ "price": {
145
+ "type": "number",
146
+ "description": "Starting (\"from\") price in the smallest currency unit (e.g., cents; 4000 means $40.00)"
147
+ },
148
+ "currency": {
149
+ "type": "string",
150
+ "description": "ISO currency code for the price (e.g., \"USD\")"
151
+ },
152
+ "num_packages": {
153
+ "type": "number",
154
+ "description": "Number of packages offered"
155
+ },
156
+ "image": {
157
+ "type": "string",
158
+ "description": "Primary gig image URL, empty if none"
159
+ }
160
+ },
161
+ "required": [
162
+ "gig_id",
163
+ "title",
164
+ "url",
165
+ "seller_name",
166
+ "seller_display_name",
167
+ "seller_level",
168
+ "seller_country",
169
+ "is_pro",
170
+ "rating",
171
+ "ratings_count",
172
+ "price",
173
+ "currency",
174
+ "num_packages",
175
+ "image"
176
+ ],
177
+ "additionalProperties": false
178
+ },
179
+ "description": "Gigs on this page of results"
180
+ },
181
+ "total_found": {
182
+ "type": "number",
183
+ "description": "Total number of gigs matching the query"
184
+ },
185
+ "has_more": {
186
+ "type": "boolean",
187
+ "description": "Whether more result pages are available"
188
+ },
189
+ "page": {
190
+ "type": "number",
191
+ "description": "The page number returned"
192
+ }
193
+ },
194
+ "required": [
195
+ "gigs",
196
+ "total_found",
197
+ "has_more",
198
+ "page"
199
+ ],
200
+ "additionalProperties": false
201
+ }
202
+ },
203
+ {
204
+ "name": "get_gig_details",
205
+ "displayName": "Get Gig Details",
206
+ "description": "Get full details for a single Fiverr gig: title, description, category, packages (with prices, delivery times, revisions, and features), rating, orders in queue, seller summary, and recent reviews. Pass the gig path from a `search_gigs` result (e.g., \"/username/gig-slug\"). Reads the gig’s server-rendered page.",
207
+ "summary": "Get full details for a gig",
208
+ "icon": "package",
209
+ "group": "Gigs",
210
+ "input_schema": {
211
+ "type": "object",
212
+ "properties": {
213
+ "gig_url": {
214
+ "type": "string",
215
+ "minLength": 1,
216
+ "description": "Gig page path or full URL (e.g., \"/username/do-something-great\" or the absolute URL)"
217
+ }
218
+ },
219
+ "required": [
220
+ "gig_url"
221
+ ],
222
+ "additionalProperties": false
223
+ },
224
+ "output_schema": {
225
+ "type": "object",
226
+ "properties": {
227
+ "gig": {
228
+ "type": "object",
229
+ "properties": {
230
+ "gig_id": {
231
+ "type": "number",
232
+ "description": "Numeric gig ID"
233
+ },
234
+ "title": {
235
+ "type": "string",
236
+ "description": "Gig title"
237
+ },
238
+ "status": {
239
+ "type": "string",
240
+ "description": "Gig status (e.g., \"approved\")"
241
+ },
242
+ "category": {
243
+ "type": "string",
244
+ "description": "Category name"
245
+ },
246
+ "subcategory": {
247
+ "type": "string",
248
+ "description": "Subcategory name"
249
+ },
250
+ "is_pro": {
251
+ "type": "boolean",
252
+ "description": "Whether this is a Fiverr Pro gig"
253
+ },
254
+ "description": {
255
+ "type": "string",
256
+ "description": "Full gig description (plain text)"
257
+ },
258
+ "rating": {
259
+ "type": "number",
260
+ "description": "Average rating (0–5)"
261
+ },
262
+ "ratings_count": {
263
+ "type": "number",
264
+ "description": "Number of ratings"
265
+ },
266
+ "orders_in_queue": {
267
+ "type": "number",
268
+ "description": "Number of orders currently in the seller queue"
269
+ },
270
+ "seller_name": {
271
+ "type": "string",
272
+ "description": "Seller username"
273
+ },
274
+ "seller_one_liner": {
275
+ "type": "string",
276
+ "description": "Seller tagline"
277
+ },
278
+ "seller_country": {
279
+ "type": "string",
280
+ "description": "Seller country code"
281
+ },
282
+ "seller_member_since": {
283
+ "type": "string",
284
+ "description": "Seller join date as returned by Fiverr"
285
+ },
286
+ "seller_response_time": {
287
+ "type": "string",
288
+ "description": "Seller average response time label"
289
+ },
290
+ "packages": {
291
+ "type": "array",
292
+ "items": {
293
+ "type": "object",
294
+ "properties": {
295
+ "id": {
296
+ "type": "number",
297
+ "description": "Package ID"
298
+ },
299
+ "title": {
300
+ "type": "string",
301
+ "description": "Package title (e.g., \"Basic\", \"Standard\", \"Premium\")"
302
+ },
303
+ "description": {
304
+ "type": "string",
305
+ "description": "Package description"
306
+ },
307
+ "price": {
308
+ "type": "number",
309
+ "description": "Package price in the smallest currency unit (e.g., cents — 4000 means $40.00)"
310
+ },
311
+ "duration": {
312
+ "type": "number",
313
+ "description": "Delivery time in hours"
314
+ },
315
+ "revisions": {
316
+ "type": "number",
317
+ "description": "Number of revisions included (-1 means unlimited)"
318
+ },
319
+ "extra_fast": {
320
+ "type": "boolean",
321
+ "description": "Whether an extra-fast delivery option is offered"
322
+ },
323
+ "features": {
324
+ "type": "array",
325
+ "items": {
326
+ "type": "string"
327
+ },
328
+ "description": "Included feature labels"
329
+ }
330
+ },
331
+ "required": [
332
+ "id",
333
+ "title",
334
+ "description",
335
+ "price",
336
+ "duration",
337
+ "revisions",
338
+ "extra_fast",
339
+ "features"
340
+ ],
341
+ "additionalProperties": false
342
+ },
343
+ "description": "Offered packages"
344
+ },
345
+ "reviews": {
346
+ "type": "array",
347
+ "items": {
348
+ "type": "object",
349
+ "properties": {
350
+ "id": {
351
+ "type": "string",
352
+ "description": "Review ID"
353
+ },
354
+ "reviewer": {
355
+ "type": "string",
356
+ "description": "Reviewer username"
357
+ },
358
+ "reviewer_country": {
359
+ "type": "string",
360
+ "description": "Reviewer country name"
361
+ },
362
+ "rating": {
363
+ "type": "number",
364
+ "description": "Review score (0–5)"
365
+ },
366
+ "comment": {
367
+ "type": "string",
368
+ "description": "Review text"
369
+ },
370
+ "created_at": {
371
+ "type": "string",
372
+ "description": "Review creation timestamp (ISO 8601 or epoch ms as returned by Fiverr)"
373
+ }
374
+ },
375
+ "required": [
376
+ "id",
377
+ "reviewer",
378
+ "reviewer_country",
379
+ "rating",
380
+ "comment",
381
+ "created_at"
382
+ ],
383
+ "additionalProperties": false
384
+ },
385
+ "description": "Recent reviews (subset returned by the page)"
386
+ }
387
+ },
388
+ "required": [
389
+ "gig_id",
390
+ "title",
391
+ "status",
392
+ "category",
393
+ "subcategory",
394
+ "is_pro",
395
+ "description",
396
+ "rating",
397
+ "ratings_count",
398
+ "orders_in_queue",
399
+ "seller_name",
400
+ "seller_one_liner",
401
+ "seller_country",
402
+ "seller_member_since",
403
+ "seller_response_time",
404
+ "packages",
405
+ "reviews"
406
+ ],
407
+ "additionalProperties": false
408
+ }
409
+ },
410
+ "required": [
411
+ "gig"
412
+ ],
413
+ "additionalProperties": false
414
+ }
415
+ },
416
+ {
417
+ "name": "get_seller_profile",
418
+ "displayName": "Get Seller Profile",
419
+ "description": "Get a Fiverr seller’s public profile: display name, level, Pro status, country, join date, bio, overall rating, review count, and the gigs listed on their profile. Pass the seller’s username (the first path segment of a gig URL, or the value of `seller_name` from a search result).",
420
+ "summary": "Get a seller’s public profile",
421
+ "icon": "user-round",
422
+ "group": "Sellers",
423
+ "input_schema": {
424
+ "type": "object",
425
+ "properties": {
426
+ "username": {
427
+ "type": "string",
428
+ "minLength": 1,
429
+ "description": "Seller username (e.g., \"janedoe\")"
430
+ }
431
+ },
432
+ "required": [
433
+ "username"
434
+ ],
435
+ "additionalProperties": false
436
+ },
437
+ "output_schema": {
438
+ "type": "object",
439
+ "properties": {
440
+ "seller": {
441
+ "type": "object",
442
+ "properties": {
443
+ "username": {
444
+ "type": "string",
445
+ "description": "Seller username"
446
+ },
447
+ "display_name": {
448
+ "type": "string",
449
+ "description": "Seller display name"
450
+ },
451
+ "joined_at": {
452
+ "type": "string",
453
+ "description": "Account join date as returned by Fiverr"
454
+ },
455
+ "is_pro": {
456
+ "type": "boolean",
457
+ "description": "Whether the seller is a Fiverr Pro seller"
458
+ },
459
+ "is_verified": {
460
+ "type": "boolean",
461
+ "description": "Whether the seller’s identity is verified"
462
+ },
463
+ "level": {
464
+ "type": "string",
465
+ "description": "Seller level (e.g., \"LEVEL_ONE\", \"LEVEL_TWO\", \"TOP_RATED_SELLER\", or empty)"
466
+ },
467
+ "country": {
468
+ "type": "string",
469
+ "description": "Seller country name"
470
+ },
471
+ "one_liner": {
472
+ "type": "string",
473
+ "description": "Seller tagline / one-line title"
474
+ },
475
+ "description": {
476
+ "type": "string",
477
+ "description": "Seller profile description / bio"
478
+ },
479
+ "rating": {
480
+ "type": "number",
481
+ "description": "Overall seller rating (0–5)"
482
+ },
483
+ "ratings_count": {
484
+ "type": "number",
485
+ "description": "Total number of seller reviews"
486
+ },
487
+ "approved_gigs_count": {
488
+ "type": "number",
489
+ "description": "Number of active (approved) gigs the seller offers"
490
+ }
491
+ },
492
+ "required": [
493
+ "username",
494
+ "display_name",
495
+ "joined_at",
496
+ "is_pro",
497
+ "is_verified",
498
+ "level",
499
+ "country",
500
+ "one_liner",
501
+ "description",
502
+ "rating",
503
+ "ratings_count",
504
+ "approved_gigs_count"
505
+ ],
506
+ "additionalProperties": false
507
+ }
508
+ },
509
+ "required": [
510
+ "seller"
511
+ ],
512
+ "additionalProperties": false
513
+ }
514
+ },
515
+ {
516
+ "name": "list_conversations",
517
+ "displayName": "List Conversations",
518
+ "description": "List the logged-in user’s Fiverr inbox conversations, most recent first. Each entry includes the other participant’s username, unread count, a preview of the latest message, and the timestamp. Pass a username from a result to `get_conversation` to read the full thread.",
519
+ "summary": "List Fiverr inbox conversations",
520
+ "icon": "messages-square",
521
+ "group": "Messages",
522
+ "input_schema": {
523
+ "type": "object",
524
+ "properties": {},
525
+ "additionalProperties": false
526
+ },
527
+ "output_schema": {
528
+ "type": "object",
529
+ "properties": {
530
+ "conversations": {
531
+ "type": "array",
532
+ "items": {
533
+ "type": "object",
534
+ "properties": {
535
+ "username": {
536
+ "type": "string",
537
+ "description": "The other participant’s username"
538
+ },
539
+ "display_name": {
540
+ "type": "string",
541
+ "description": "The other participant’s display name"
542
+ },
543
+ "user_id": {
544
+ "type": "number",
545
+ "description": "The other participant’s numeric user ID"
546
+ },
547
+ "conversation_id": {
548
+ "type": "string",
549
+ "description": "Conversation ID, used to reference the thread"
550
+ },
551
+ "unread_count": {
552
+ "type": "number",
553
+ "description": "Number of unread messages in this conversation"
554
+ },
555
+ "excerpt": {
556
+ "type": "string",
557
+ "description": "Preview of the most recent message"
558
+ },
559
+ "recent_message_date": {
560
+ "type": "string",
561
+ "description": "Timestamp of the most recent message (epoch ms as returned by Fiverr)"
562
+ },
563
+ "online": {
564
+ "type": "boolean",
565
+ "description": "Whether the participant is currently online"
566
+ },
567
+ "archived": {
568
+ "type": "boolean",
569
+ "description": "Whether the conversation is archived"
570
+ },
571
+ "starred": {
572
+ "type": "boolean",
573
+ "description": "Whether the conversation is starred"
574
+ }
575
+ },
576
+ "required": [
577
+ "username",
578
+ "display_name",
579
+ "user_id",
580
+ "conversation_id",
581
+ "unread_count",
582
+ "excerpt",
583
+ "recent_message_date",
584
+ "online",
585
+ "archived",
586
+ "starred"
587
+ ],
588
+ "additionalProperties": false
589
+ },
590
+ "description": "Inbox conversations, most recent first"
591
+ }
592
+ },
593
+ "required": [
594
+ "conversations"
595
+ ],
596
+ "additionalProperties": false
597
+ }
598
+ },
599
+ {
600
+ "name": "get_conversation",
601
+ "displayName": "Get Conversation",
602
+ "description": "Read the full message thread of a Fiverr conversation with a specific user. Returns messages (oldest first) with sender, recipient, text, timestamp, and attachment count, plus the unread count and whether the oldest page has been reached. Pass the other participant’s username, as returned by `list_conversations`.",
603
+ "summary": "Read a conversation thread",
604
+ "icon": "message-square-text",
605
+ "group": "Messages",
606
+ "input_schema": {
607
+ "type": "object",
608
+ "properties": {
609
+ "username": {
610
+ "type": "string",
611
+ "minLength": 1,
612
+ "description": "The other participant’s username (from `list_conversations`)"
613
+ }
614
+ },
615
+ "required": [
616
+ "username"
617
+ ],
618
+ "additionalProperties": false
619
+ },
620
+ "output_schema": {
621
+ "type": "object",
622
+ "properties": {
623
+ "conversation": {
624
+ "type": "object",
625
+ "properties": {
626
+ "username": {
627
+ "type": "string",
628
+ "description": "The other participant’s username"
629
+ },
630
+ "display_name": {
631
+ "type": "string",
632
+ "description": "The other participant’s display name"
633
+ },
634
+ "conversation_id": {
635
+ "type": "string",
636
+ "description": "Conversation ID"
637
+ },
638
+ "unread_count": {
639
+ "type": "number",
640
+ "description": "Number of unread messages"
641
+ },
642
+ "last_page": {
643
+ "type": "boolean",
644
+ "description": "True if these are the oldest messages (no earlier page exists)"
645
+ },
646
+ "messages": {
647
+ "type": "array",
648
+ "items": {
649
+ "type": "object",
650
+ "properties": {
651
+ "id": {
652
+ "type": "string",
653
+ "description": "Message ID"
654
+ },
655
+ "sender": {
656
+ "type": "string",
657
+ "description": "Sender username"
658
+ },
659
+ "recipient": {
660
+ "type": "string",
661
+ "description": "Recipient username"
662
+ },
663
+ "body": {
664
+ "type": "string",
665
+ "description": "Message text (plain text)"
666
+ },
667
+ "created_at": {
668
+ "type": "string",
669
+ "description": "Send timestamp (epoch ms as returned by Fiverr)"
670
+ },
671
+ "type": {
672
+ "type": "string",
673
+ "description": "Message type (e.g., \"text\")"
674
+ },
675
+ "attachment_count": {
676
+ "type": "number",
677
+ "description": "Number of attachments on the message"
678
+ }
679
+ },
680
+ "required": [
681
+ "id",
682
+ "sender",
683
+ "recipient",
684
+ "body",
685
+ "created_at",
686
+ "type",
687
+ "attachment_count"
688
+ ],
689
+ "additionalProperties": false
690
+ },
691
+ "description": "Messages in the conversation, oldest first"
692
+ }
693
+ },
694
+ "required": [
695
+ "username",
696
+ "display_name",
697
+ "conversation_id",
698
+ "unread_count",
699
+ "last_page",
700
+ "messages"
701
+ ],
702
+ "additionalProperties": false
703
+ }
704
+ },
705
+ "required": [
706
+ "conversation"
707
+ ],
708
+ "additionalProperties": false
709
+ }
710
+ },
711
+ {
712
+ "name": "draft_message",
713
+ "displayName": "Draft Message",
714
+ "description": "Prepare a Fiverr message to a recipient without sending it. Validates the recipient and body and returns a structured preview (sender, recipient, body, character count). Use this to compose and confirm a message before calling `send_message`. Makes no network request and sends nothing.",
715
+ "summary": "Compose a message preview without sending",
716
+ "icon": "pencil",
717
+ "group": "Messages",
718
+ "input_schema": {
719
+ "type": "object",
720
+ "properties": {
721
+ "recipient_username": {
722
+ "type": "string",
723
+ "minLength": 1,
724
+ "description": "Username of the person the message would be sent to"
725
+ },
726
+ "body": {
727
+ "type": "string",
728
+ "minLength": 1,
729
+ "description": "Message text to compose"
730
+ }
731
+ },
732
+ "required": [
733
+ "recipient_username",
734
+ "body"
735
+ ],
736
+ "additionalProperties": false
737
+ },
738
+ "output_schema": {
739
+ "type": "object",
740
+ "properties": {
741
+ "from": {
742
+ "type": "string",
743
+ "description": "Logged-in user’s username (the sender)"
744
+ },
745
+ "recipient_username": {
746
+ "type": "string",
747
+ "description": "Recipient username"
748
+ },
749
+ "body": {
750
+ "type": "string",
751
+ "description": "Composed message text"
752
+ },
753
+ "char_count": {
754
+ "type": "number",
755
+ "description": "Number of characters in the body"
756
+ },
757
+ "ready_to_send": {
758
+ "type": "boolean",
759
+ "description": "True when the draft is valid and ready to pass to send_message"
760
+ }
761
+ },
762
+ "required": [
763
+ "from",
764
+ "recipient_username",
765
+ "body",
766
+ "char_count",
767
+ "ready_to_send"
768
+ ],
769
+ "additionalProperties": false
770
+ }
771
+ },
772
+ {
773
+ "name": "send_message",
774
+ "displayName": "Send Message",
775
+ "description": "Send a message to another Fiverr user’s inbox. Provide the recipient username and the message text. This is a write action — it delivers a real message immediately. Compose with `draft_message` first to review the content before sending. Note: if a Fiverr AI assistant currently manages the conversation, the first manual message takes over the thread from the assistant.",
776
+ "summary": "Send a message to a Fiverr user",
777
+ "icon": "send",
778
+ "group": "Messages",
779
+ "input_schema": {
780
+ "type": "object",
781
+ "properties": {
782
+ "recipient_username": {
783
+ "type": "string",
784
+ "minLength": 1,
785
+ "description": "Username of the recipient"
786
+ },
787
+ "body": {
788
+ "type": "string",
789
+ "minLength": 1,
790
+ "description": "Message text to send"
791
+ }
792
+ },
793
+ "required": [
794
+ "recipient_username",
795
+ "body"
796
+ ],
797
+ "additionalProperties": false
798
+ },
799
+ "output_schema": {
800
+ "type": "object",
801
+ "properties": {
802
+ "success": {
803
+ "type": "boolean",
804
+ "description": "True when Fiverr returned an ID for the created message"
805
+ },
806
+ "message_id": {
807
+ "type": "string",
808
+ "description": "ID of the created message, empty if the API did not return one"
809
+ }
810
+ },
811
+ "required": [
812
+ "success",
813
+ "message_id"
814
+ ],
815
+ "additionalProperties": false
816
+ }
817
+ }
818
+ ]
819
+ }