ebay-mcp-remote-edition 1.0.0

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 (129) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +755 -0
  3. package/build/api/account-management/account.js +301 -0
  4. package/build/api/analytics-and-report/analytics.js +102 -0
  5. package/build/api/client-trading.js +96 -0
  6. package/build/api/client.js +173 -0
  7. package/build/api/communication/feedback.js +119 -0
  8. package/build/api/communication/message.js +131 -0
  9. package/build/api/communication/negotiation.js +97 -0
  10. package/build/api/communication/notification.js +373 -0
  11. package/build/api/developer/developer.js +81 -0
  12. package/build/api/index.js +109 -0
  13. package/build/api/listing-management/inventory.js +640 -0
  14. package/build/api/listing-metadata/metadata.js +485 -0
  15. package/build/api/listing-metadata/taxonomy.js +58 -0
  16. package/build/api/marketing-and-promotions/marketing.js +768 -0
  17. package/build/api/marketing-and-promotions/recommendation.js +32 -0
  18. package/build/api/order-management/dispute.js +69 -0
  19. package/build/api/order-management/fulfillment.js +89 -0
  20. package/build/api/other/compliance.js +47 -0
  21. package/build/api/other/edelivery.js +219 -0
  22. package/build/api/other/identity.js +24 -0
  23. package/build/api/other/translation.js +22 -0
  24. package/build/api/other/vero.js +48 -0
  25. package/build/api/trading/trading.js +78 -0
  26. package/build/auth/kv-store.js +40 -0
  27. package/build/auth/multi-user-store.js +120 -0
  28. package/build/auth/oauth-metadata.js +59 -0
  29. package/build/auth/oauth-middleware.js +99 -0
  30. package/build/auth/oauth-types.js +4 -0
  31. package/build/auth/oauth.js +235 -0
  32. package/build/auth/scope-utils.js +304 -0
  33. package/build/auth/token-store.js +46 -0
  34. package/build/auth/token-verifier.js +172 -0
  35. package/build/config/environment.js +297 -0
  36. package/build/index.d.ts +1 -0
  37. package/build/index.js +129 -0
  38. package/build/schemas/account-management/account.js +375 -0
  39. package/build/schemas/analytics/analytics.js +191 -0
  40. package/build/schemas/communication/messages.js +345 -0
  41. package/build/schemas/fulfillment/orders.js +338 -0
  42. package/build/schemas/index.js +68 -0
  43. package/build/schemas/inventory-management/inventory.js +471 -0
  44. package/build/schemas/marketing/marketing.js +1103 -0
  45. package/build/schemas/metadata/metadata.js +618 -0
  46. package/build/schemas/other/other-apis.js +390 -0
  47. package/build/schemas/taxonomy/taxonomy.js +575 -0
  48. package/build/scripts/auto-setup.js +364 -0
  49. package/build/scripts/dev-sync.js +512 -0
  50. package/build/scripts/diagnostics.js +301 -0
  51. package/build/scripts/download-specs.js +116 -0
  52. package/build/scripts/interactive-setup.js +757 -0
  53. package/build/scripts/setup.js +1515 -0
  54. package/build/scripts/update-api-status-doc.js +44 -0
  55. package/build/server-http.d.ts +1 -0
  56. package/build/server-http.js +581 -0
  57. package/build/tools/definitions/account-with-schemas.js +170 -0
  58. package/build/tools/definitions/account.js +428 -0
  59. package/build/tools/definitions/analytics.js +66 -0
  60. package/build/tools/definitions/communication.js +394 -0
  61. package/build/tools/definitions/developer.js +195 -0
  62. package/build/tools/definitions/fulfillment.js +326 -0
  63. package/build/tools/definitions/index.js +41 -0
  64. package/build/tools/definitions/inventory.js +464 -0
  65. package/build/tools/definitions/marketing.js +1486 -0
  66. package/build/tools/definitions/metadata.js +188 -0
  67. package/build/tools/definitions/other.js +309 -0
  68. package/build/tools/definitions/taxonomy.js +64 -0
  69. package/build/tools/definitions/token-management.js +148 -0
  70. package/build/tools/definitions/trading.js +71 -0
  71. package/build/tools/index.js +1200 -0
  72. package/build/tools/schemas.js +667 -0
  73. package/build/tools/tool-definitions.js +3534 -0
  74. package/build/types/application-settings/developerAnalyticsV1BetaOas3.js +5 -0
  75. package/build/types/application-settings/developerClientRegistrationV1Oas3.js +5 -0
  76. package/build/types/application-settings/developerKeyManagementV1Oas3.js +5 -0
  77. package/build/types/ebay-enums.js +1330 -0
  78. package/build/types/ebay.js +123 -0
  79. package/build/types/index.js +10 -0
  80. package/build/types/sell-apps/account-management/sellAccountV1Oas3.js +5 -0
  81. package/build/types/sell-apps/analytics-and-report/sellAnalyticsV1Oas3.js +5 -0
  82. package/build/types/sell-apps/communication/commerceFeedbackV1BetaOas3.js +5 -0
  83. package/build/types/sell-apps/communication/commerceMessageV1Oas3.js +5 -0
  84. package/build/types/sell-apps/communication/commerceNotificationV1Oas3.js +5 -0
  85. package/build/types/sell-apps/communication/sellNegotiationV1Oas3.js +5 -0
  86. package/build/types/sell-apps/listing-management/sellInventoryV1Oas3.js +5 -0
  87. package/build/types/sell-apps/listing-metadata/sellMetadataV1Oas3.js +5 -0
  88. package/build/types/sell-apps/markeitng-and-promotions/sellMarketingV1Oas3.js +5 -0
  89. package/build/types/sell-apps/markeitng-and-promotions/sellRecommendationV1Oas3.js +5 -0
  90. package/build/types/sell-apps/order-management/sellFulfillmentV1Oas3.js +5 -0
  91. package/build/types/sell-apps/other-apis/commerceIdentityV1Oas3.js +5 -0
  92. package/build/types/sell-apps/other-apis/commerceTranslationV1BetaOas3.js +5 -0
  93. package/build/types/sell-apps/other-apis/commerceVeroV1Oas3.js +5 -0
  94. package/build/types/sell-apps/other-apis/sellComplianceV1Oas3.js +5 -0
  95. package/build/types/sell-apps/other-apis/sellEdeliveryInternationalShippingOas3.js +5 -0
  96. package/build/types/sell-apps/other-apis/sellMarketingV1Oas3.js +5 -0
  97. package/build/types/sell-apps/other-apis/sellRecommendationV1Oas3.js +5 -0
  98. package/build/utils/account-management/account.js +831 -0
  99. package/build/utils/api-status-feed.js +83 -0
  100. package/build/utils/communication/feedback.js +216 -0
  101. package/build/utils/communication/message.js +242 -0
  102. package/build/utils/communication/negotiation.js +150 -0
  103. package/build/utils/communication/notification.js +369 -0
  104. package/build/utils/date-converter.js +160 -0
  105. package/build/utils/llm-client-detector.js +758 -0
  106. package/build/utils/logger.js +198 -0
  107. package/build/utils/oauth-helper.js +315 -0
  108. package/build/utils/order-management/dispute.js +369 -0
  109. package/build/utils/order-management/fulfillment.js +205 -0
  110. package/build/utils/other/compliance.js +76 -0
  111. package/build/utils/other/edelivery.js +241 -0
  112. package/build/utils/other/identity.js +13 -0
  113. package/build/utils/other/translation.js +41 -0
  114. package/build/utils/other/vero.js +90 -0
  115. package/build/utils/scope-helper.js +207 -0
  116. package/build/utils/security-checker.js +248 -0
  117. package/build/utils/setup-validator.js +305 -0
  118. package/build/utils/token-utils.js +40 -0
  119. package/build/utils/version.js +56 -0
  120. package/docs/auth/production_scopes.json +111 -0
  121. package/docs/auth/sandbox_scopes.json +142 -0
  122. package/package.json +122 -0
  123. package/public/icons/1024x1024.png +0 -0
  124. package/public/icons/128x128.png +0 -0
  125. package/public/icons/16x16.png +0 -0
  126. package/public/icons/256x256.png +0 -0
  127. package/public/icons/32x32.png +0 -0
  128. package/public/icons/48x48.png +0 -0
  129. package/public/icons/512x512.png +0 -0
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Feedback API - Manage buyer and seller feedback
3
+ * Based on: docs/sell-apps/communication/commerce_feedback_v1_beta_oas3.json
4
+ */
5
+ export class FeedbackApi {
6
+ client;
7
+ basePath = '/commerce/feedback/v1';
8
+ constructor(client) {
9
+ this.client = client;
10
+ }
11
+ /**
12
+ * Get items awaiting feedback
13
+ * Endpoint: GET /awaiting_feedback
14
+ * @throws Error if the request fails
15
+ */
16
+ async getAwaitingFeedback(filter, limit, offset) {
17
+ const params = {};
18
+ if (filter !== undefined) {
19
+ if (typeof filter !== 'string') {
20
+ throw new Error('filter must be a string when provided');
21
+ }
22
+ params.filter = filter;
23
+ }
24
+ if (limit !== undefined) {
25
+ if (typeof limit !== 'number' || limit < 1) {
26
+ throw new Error('limit must be a positive number when provided');
27
+ }
28
+ params.limit = limit;
29
+ }
30
+ if (offset !== undefined) {
31
+ if (typeof offset !== 'number' || offset < 0) {
32
+ throw new Error('offset must be a non-negative number when provided');
33
+ }
34
+ params.offset = offset;
35
+ }
36
+ try {
37
+ return await this.client.get(`${this.basePath}/awaiting_feedback`, params);
38
+ }
39
+ catch (error) {
40
+ throw new Error(`Failed to get awaiting feedback: ${error instanceof Error ? error.message : 'Unknown error'}`);
41
+ }
42
+ }
43
+ /**
44
+ * Get feedback for a transaction
45
+ * Endpoint: GET /feedback
46
+ * @throws Error if required parameters are missing or invalid
47
+ */
48
+ async getFeedback(transactionId) {
49
+ if (!transactionId || typeof transactionId !== 'string') {
50
+ throw new Error('transactionId is required and must be a string');
51
+ }
52
+ try {
53
+ return await this.client.get(`${this.basePath}/feedback`, {
54
+ transaction_id: transactionId,
55
+ });
56
+ }
57
+ catch (error) {
58
+ throw new Error(`Failed to get feedback: ${error instanceof Error ? error.message : 'Unknown error'}`);
59
+ }
60
+ }
61
+ /**
62
+ * Get feedback rating summary
63
+ * Endpoint: GET /feedback_rating_summary
64
+ * @throws Error if the request fails
65
+ */
66
+ async getFeedbackRatingSummary() {
67
+ try {
68
+ return await this.client.get(`${this.basePath}/feedback_rating_summary`);
69
+ }
70
+ catch (error) {
71
+ throw new Error(`Failed to get feedback rating summary: ${error instanceof Error ? error.message : 'Unknown error'}`);
72
+ }
73
+ }
74
+ /**
75
+ * Leave feedback for a buyer
76
+ * Endpoint: POST /feedback
77
+ * @throws Error if required parameters are missing or invalid
78
+ */
79
+ async leaveFeedbackForBuyer(feedbackData) {
80
+ if (!feedbackData || typeof feedbackData !== 'object') {
81
+ throw new Error('feedbackData is required and must be an object');
82
+ }
83
+ try {
84
+ return await this.client.post(`${this.basePath}/feedback`, feedbackData);
85
+ }
86
+ catch (error) {
87
+ throw new Error(`Failed to leave feedback: ${error instanceof Error ? error.message : 'Unknown error'}`);
88
+ }
89
+ }
90
+ /**
91
+ * Respond to feedback
92
+ * Endpoint: POST /respond_to_feedback
93
+ * @throws Error if required parameters are missing or invalid
94
+ */
95
+ async respondToFeedback(feedbackId, responseText) {
96
+ if (!feedbackId || typeof feedbackId !== 'string') {
97
+ throw new Error('feedbackId is required and must be a string');
98
+ }
99
+ if (!responseText || typeof responseText !== 'string') {
100
+ throw new Error('responseText is required and must be a string');
101
+ }
102
+ try {
103
+ return await this.client.post(`${this.basePath}/respond_to_feedback`, {
104
+ feedback_id: feedbackId,
105
+ response_text: responseText,
106
+ });
107
+ }
108
+ catch (error) {
109
+ throw new Error(`Failed to respond to feedback: ${error instanceof Error ? error.message : 'Unknown error'}`);
110
+ }
111
+ }
112
+ /**
113
+ * Get feedback summary
114
+ * @deprecated Use getFeedbackRatingSummary() instead
115
+ */
116
+ async getFeedbackSummary() {
117
+ return await this.getFeedbackRatingSummary();
118
+ }
119
+ }
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Message API - Buyer-seller messaging
3
+ * Based on: docs/sell-apps/communication/commerce_message_v1_oas3.json
4
+ */
5
+ export class MessageApi {
6
+ client;
7
+ basePath = '/commerce/message/v1';
8
+ constructor(client) {
9
+ this.client = client;
10
+ }
11
+ /**
12
+ * Bulk update conversation
13
+ * Endpoint: POST /bulk_update_conversation
14
+ * @throws Error if required parameters are missing or invalid
15
+ */
16
+ async bulkUpdateConversation(updateData) {
17
+ if (!updateData || typeof updateData !== 'object') {
18
+ throw new Error('updateData is required and must be an object');
19
+ }
20
+ try {
21
+ return await this.client.post(`${this.basePath}/bulk_update_conversation`, updateData);
22
+ }
23
+ catch (error) {
24
+ throw new Error(`Failed to bulk update conversation: ${error instanceof Error ? error.message : 'Unknown error'}`);
25
+ }
26
+ }
27
+ /**
28
+ * Get conversations
29
+ * Endpoint: GET /conversation
30
+ * @throws Error if the request fails
31
+ */
32
+ async getConversations(filter, limit, offset) {
33
+ const params = {};
34
+ if (filter !== undefined) {
35
+ if (typeof filter !== 'string') {
36
+ throw new Error('filter must be a string when provided');
37
+ }
38
+ params.filter = filter;
39
+ }
40
+ if (limit !== undefined) {
41
+ if (typeof limit !== 'number' || limit < 1) {
42
+ throw new Error('limit must be a positive number when provided');
43
+ }
44
+ params.limit = limit;
45
+ }
46
+ if (offset !== undefined) {
47
+ if (typeof offset !== 'number' || offset < 0) {
48
+ throw new Error('offset must be a non-negative number when provided');
49
+ }
50
+ params.offset = offset;
51
+ }
52
+ try {
53
+ return await this.client.get(`${this.basePath}/conversation`, params);
54
+ }
55
+ catch (error) {
56
+ throw new Error(`Failed to get conversations: ${error instanceof Error ? error.message : 'Unknown error'}`);
57
+ }
58
+ }
59
+ /**
60
+ * Get a specific conversation
61
+ * Endpoint: GET /conversation/{conversation_id}
62
+ * @throws Error if required parameters are missing or invalid
63
+ */
64
+ async getConversation(conversationId) {
65
+ if (!conversationId || typeof conversationId !== 'string') {
66
+ throw new Error('conversationId is required and must be a string');
67
+ }
68
+ try {
69
+ return await this.client.get(`${this.basePath}/conversation/${conversationId}`);
70
+ }
71
+ catch (error) {
72
+ throw new Error(`Failed to get conversation: ${error instanceof Error ? error.message : 'Unknown error'}`);
73
+ }
74
+ }
75
+ /**
76
+ * Send a message
77
+ * Endpoint: POST /send_message
78
+ * @throws Error if required parameters are missing or invalid
79
+ */
80
+ async sendMessage(messageData) {
81
+ if (!messageData || typeof messageData !== 'object') {
82
+ throw new Error('messageData is required and must be an object');
83
+ }
84
+ try {
85
+ return await this.client.post(`${this.basePath}/send_message`, messageData);
86
+ }
87
+ catch (error) {
88
+ throw new Error(`Failed to send message: ${error instanceof Error ? error.message : 'Unknown error'}`);
89
+ }
90
+ }
91
+ /**
92
+ * Update a conversation
93
+ * Endpoint: POST /update_conversation
94
+ * @throws Error if required parameters are missing or invalid
95
+ */
96
+ async updateConversation(updateData) {
97
+ if (!updateData || typeof updateData !== 'object') {
98
+ throw new Error('updateData is required and must be an object');
99
+ }
100
+ try {
101
+ return await this.client.post(`${this.basePath}/update_conversation`, updateData);
102
+ }
103
+ catch (error) {
104
+ throw new Error(`Failed to update conversation: ${error instanceof Error ? error.message : 'Unknown error'}`);
105
+ }
106
+ }
107
+ /**
108
+ * Search for messages
109
+ * @deprecated Use getConversations() instead
110
+ */
111
+ async searchMessages(filter, limit, offset) {
112
+ return await this.getConversations(filter, limit, offset);
113
+ }
114
+ /**
115
+ * Get a specific message
116
+ * @deprecated Use getConversation() instead
117
+ */
118
+ async getMessage(messageId) {
119
+ return await this.getConversation(messageId);
120
+ }
121
+ /**
122
+ * Reply to a message
123
+ * @deprecated Use sendMessage() instead
124
+ */
125
+ async replyToMessage(messageId, messageContent) {
126
+ return await this.sendMessage({
127
+ conversation_id: messageId,
128
+ message_content: messageContent,
129
+ });
130
+ }
131
+ }
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Negotiation API - Buyer-seller negotiations and offers
3
+ * Based on: docs/sell-apps/communication/sell_negotiation_v1_oas3.json
4
+ */
5
+ export class NegotiationApi {
6
+ client;
7
+ basePath = '/sell/negotiation/v1';
8
+ constructor(client) {
9
+ this.client = client;
10
+ }
11
+ /**
12
+ * Find eligible items for a seller-initiated offer
13
+ * Endpoint: GET /find_eligible_items
14
+ * @throws Error if the request fails
15
+ */
16
+ async findEligibleItems(filter, limit, offset) {
17
+ const params = {};
18
+ if (filter !== undefined) {
19
+ if (typeof filter !== 'string') {
20
+ throw new Error('filter must be a string when provided');
21
+ }
22
+ params.filter = filter;
23
+ }
24
+ if (limit !== undefined) {
25
+ if (typeof limit !== 'number' || limit < 1) {
26
+ throw new Error('limit must be a positive number when provided');
27
+ }
28
+ params.limit = limit;
29
+ }
30
+ if (offset !== undefined) {
31
+ if (typeof offset !== 'number' || offset < 0) {
32
+ throw new Error('offset must be a non-negative number when provided');
33
+ }
34
+ params.offset = offset;
35
+ }
36
+ try {
37
+ return await this.client.get(`${this.basePath}/find_eligible_items`, params);
38
+ }
39
+ catch (error) {
40
+ throw new Error(`Failed to find eligible items: ${error instanceof Error ? error.message : 'Unknown error'}`);
41
+ }
42
+ }
43
+ /**
44
+ * Send offer to interested buyers
45
+ * Endpoint: POST /send_offer_to_interested_buyers
46
+ * @throws Error if required parameters are missing or invalid
47
+ */
48
+ async sendOfferToInterestedBuyers(offerData) {
49
+ if (!offerData || typeof offerData !== 'object') {
50
+ throw new Error('offerData is required and must be an object');
51
+ }
52
+ try {
53
+ return await this.client.post(`${this.basePath}/send_offer_to_interested_buyers`, offerData);
54
+ }
55
+ catch (error) {
56
+ throw new Error(`Failed to send offer to interested buyers: ${error instanceof Error ? error.message : 'Unknown error'}`);
57
+ }
58
+ }
59
+ /**
60
+ * Get offers to buyers (Best Offers)
61
+ * @deprecated This method does not match any endpoint in the OpenAPI spec
62
+ */
63
+ async getOffersToBuyers(filter, limit, offset) {
64
+ const params = {};
65
+ if (filter)
66
+ params.filter = filter;
67
+ if (limit)
68
+ params.limit = limit;
69
+ if (offset)
70
+ params.offset = offset;
71
+ return await this.client.get(`${this.basePath}/offer`, params);
72
+ }
73
+ /**
74
+ * Get offers for listing (alias for getOffersToBuyers)
75
+ * Endpoint: GET /offer
76
+ * @throws Error if the request fails
77
+ */
78
+ async getOffersForListing(filter, limit, offset) {
79
+ return await this.getOffersToBuyers(filter, limit, offset);
80
+ }
81
+ /**
82
+ * Get a specific offer
83
+ * Endpoint: GET /offer/{offerId}
84
+ * @throws Error if required parameters are missing or invalid
85
+ */
86
+ async getOffer(offerId) {
87
+ if (!offerId || typeof offerId !== 'string') {
88
+ throw new Error('offerId is required and must be a string');
89
+ }
90
+ try {
91
+ return await this.client.get(`${this.basePath}/offer/${offerId}`);
92
+ }
93
+ catch (error) {
94
+ throw new Error(`Failed to get offer: ${error instanceof Error ? error.message : 'Unknown error'}`);
95
+ }
96
+ }
97
+ }