@tomaspavlin/rohlik-mcp 2.0.0 → 3.1.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 (55) hide show
  1. package/README.md +207 -3
  2. package/dist/index.js +17 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/locale.d.ts +3 -0
  5. package/dist/locale.d.ts.map +1 -0
  6. package/dist/locale.js +27 -0
  7. package/dist/locale.js.map +1 -0
  8. package/dist/rohlik-api.d.ts +10 -0
  9. package/dist/rohlik-api.d.ts.map +1 -1
  10. package/dist/rohlik-api.js +146 -11
  11. package/dist/rohlik-api.js.map +1 -1
  12. package/dist/tools/account-data.d.ts.map +1 -1
  13. package/dist/tools/account-data.js +2 -1
  14. package/dist/tools/account-data.js.map +1 -1
  15. package/dist/tools/cart-management.d.ts.map +1 -1
  16. package/dist/tools/cart-management.js +3 -2
  17. package/dist/tools/cart-management.js.map +1 -1
  18. package/dist/tools/delivery-info.d.ts.map +1 -1
  19. package/dist/tools/delivery-info.js +3 -2
  20. package/dist/tools/delivery-info.js.map +1 -1
  21. package/dist/tools/delivery-slots.d.ts.map +1 -1
  22. package/dist/tools/delivery-slots.js +2 -1
  23. package/dist/tools/delivery-slots.js.map +1 -1
  24. package/dist/tools/discounted-items.d.ts +36 -0
  25. package/dist/tools/discounted-items.d.ts.map +1 -0
  26. package/dist/tools/discounted-items.js +69 -0
  27. package/dist/tools/discounted-items.js.map +1 -0
  28. package/dist/tools/frequent-items.d.ts +34 -0
  29. package/dist/tools/frequent-items.d.ts.map +1 -0
  30. package/dist/tools/frequent-items.js +184 -0
  31. package/dist/tools/frequent-items.js.map +1 -0
  32. package/dist/tools/meal-suggestions.d.ts +36 -0
  33. package/dist/tools/meal-suggestions.d.ts.map +1 -0
  34. package/dist/tools/meal-suggestions.js +243 -0
  35. package/dist/tools/meal-suggestions.js.map +1 -0
  36. package/dist/tools/order-detail.d.ts +28 -0
  37. package/dist/tools/order-detail.d.ts.map +1 -0
  38. package/dist/tools/order-detail.js +79 -0
  39. package/dist/tools/order-detail.js.map +1 -0
  40. package/dist/tools/order-history.d.ts.map +1 -1
  41. package/dist/tools/order-history.js +2 -1
  42. package/dist/tools/order-history.js.map +1 -1
  43. package/dist/tools/premium-info.d.ts.map +1 -1
  44. package/dist/tools/premium-info.js +4 -3
  45. package/dist/tools/premium-info.js.map +1 -1
  46. package/dist/tools/shopping-scenarios.d.ts +15 -0
  47. package/dist/tools/shopping-scenarios.d.ts.map +1 -0
  48. package/dist/tools/shopping-scenarios.js +143 -0
  49. package/dist/tools/shopping-scenarios.js.map +1 -0
  50. package/dist/tools/upcoming-orders.d.ts.map +1 -1
  51. package/dist/tools/upcoming-orders.js +2 -1
  52. package/dist/tools/upcoming-orders.js.map +1 -1
  53. package/dist/types.d.ts +22 -0
  54. package/dist/types.d.ts.map +1 -1
  55. package/package.json +8 -3
package/README.md CHANGED
@@ -1,7 +1,10 @@
1
- # Rohlik MCP Server
1
+ # <img src="https://www.rohlik.cz/favicon/cz/favicon.ico" alt="Rohlik" width="30" height="30"> Rohlik MCP Server
2
2
 
3
3
  **Enhance your favourite LLM with capabilities to buy groceries.**
4
4
 
5
+ > [!WARNING]
6
+ > This MCP server is made for study purposes with use of reverse engineered Rohlik API. It is for personal use only.
7
+
5
8
  This is a Model Context Protocol (MCP) server that enables AI assistants to interact with the Rohlik Group's online grocery delivery services across multiple countries. This server provides tools for searching products, managing shopping carts, and accessing account info.
6
9
 
7
10
  **Supported Services:**
@@ -14,15 +17,33 @@ This is a Model Context Protocol (MCP) server that enables AI assistants to inte
14
17
  - 🇪🇸 **[Sezamo.es](https://www.sezamo.es)** - Spain (planned)
15
18
 
16
19
  Example LLM prompts that work very well with the Rohlik MCP:
20
+
21
+ **🛒 Regular Shopping:**
17
22
  - *Add ingredients for apple pie to the cart. Only gluten-free and budget-friendly.*
18
23
  - *Or actually, instead of apple pie I want to make pumpkin pie. Change the ingredients.*
19
24
  - *What are the items in my cart?*
20
25
  - *Add the items in the attached shopping list photo to the cart.*
21
26
  - *Add the bread I marked as favorite in Rohlik to my cart.*
27
+
28
+ **🤖 Smart Shopping:**
29
+ - *"Add breakfast items I typically order"*
30
+ - *"Show me lunch suggestions for this week"*
31
+ - *"What do I usually buy for dinner?"*
32
+ - *"I need snacks - suggest what I normally order"*
33
+ - *"Show my top 20 most purchased items"*
34
+ - *"What can I do with Rohlik MCP?"*
35
+
36
+ **💰 Deals & Discounts:**
37
+ - *What's on sale this week?*
38
+
39
+ **📅 Planning:**
22
40
  - *What are the cheapest delivery slots for tomorrow?*
41
+ - *When is my next delivery?*
42
+ - *Show my last 5 orders*
23
43
 
24
- > [!WARNING]
25
- > This MCP server is made by reverse engineering the APIs used by Rohlik Group's websites. Use at your own discretion.
44
+ ## 📚 Documentation
45
+
46
+ **New to Rohlik MCP?** Check out our [Complete Guide for Newcomers](./docs/README.md)!
26
47
 
27
48
  ## Usage
28
49
 
@@ -73,9 +94,18 @@ If `ROHLIK_BASE_URL` is not specified, it defaults to the Czech version.
73
94
  - `remove_from_cart` - Remove items from your shopping cart
74
95
  - `get_shopping_list` - Retrieve shopping lists by ID
75
96
 
97
+ ### 🤖 Smart Shopping
98
+ - `get_meal_suggestions` - Get personalized suggestions for breakfast, lunch, dinner, snacks, baking, drinks, or healthy eating based on your order history
99
+ - `get_frequent_items` - Analyze order history to find most frequently purchased items (overall + per category)
100
+ - `get_shopping_scenarios` - Interactive guide showing what you can do with the MCP
101
+
102
+ ### Deals & Discounts
103
+ - `get_discounted_items` - Browse currently discounted items (cenové trháky), optionally filtered by food category, with sorting and pagination
104
+
76
105
  ### Getting info
77
106
  - `get_account_data` - Get comprehensive account information including delivery details, orders, announcements, cart, and premium status
78
107
  - `get_order_history` - View your past delivered orders with details
108
+ - `get_order_detail` - Get detailed information about a specific order including all products
79
109
  - `get_upcoming_orders` - See your scheduled upcoming orders
80
110
  - `get_delivery_info` - Get current delivery information and fees
81
111
  - `get_delivery_slots` - View available delivery time slots for your address
@@ -98,9 +128,36 @@ npm run build
98
128
  - `npm start` - Launch the production server
99
129
  - `npm run dev` - Start development mode with watch
100
130
  - `npm run inspect` - Test with MCP Inspector
131
+ - `npm test` - Run unit tests
132
+ - `npm run test:watch` - Run tests in watch mode
133
+ - `npm run test:coverage` - Generate test coverage report
101
134
 
102
135
  ## Testing
103
136
 
137
+ ### Unit Tests
138
+
139
+ The project includes unit tests for smart shopping data transformation logic:
140
+
141
+ ```bash
142
+ # Run all tests
143
+ npm test
144
+
145
+ # Run tests in watch mode (development)
146
+ npm run test:watch
147
+
148
+ # Generate coverage report
149
+ npm run test:coverage
150
+ ```
151
+
152
+ **What's tested:**
153
+ - Frequency analysis algorithms (`get_frequent_items`)
154
+ - Meal suggestion filtering and ranking (`get_meal_suggestions`)
155
+ - Price averaging and calculations
156
+ - Category filtering and grouping
157
+ - Edge cases (empty data, missing fields, etc.)
158
+
159
+ See [tests/README.md](./tests/README.md) for detailed testing documentation.
160
+
104
161
  ### Testing with Claude Desktop
105
162
 
106
163
  Add this to configuration:
@@ -121,6 +178,29 @@ Add this to configuration:
121
178
  }
122
179
  ```
123
180
 
181
+ ### Debug Mode
182
+
183
+ If you're experiencing authentication issues, enable debug mode to see detailed logs:
184
+
185
+ ```json
186
+ {
187
+ "mcpServers": {
188
+ "rohlik-local": {
189
+ "command": "node",
190
+ "args": ["/path/to/rohlik-mcp/dist/index.js"],
191
+ "env": {
192
+ "ROHLIK_USERNAME": "your-email@example.com",
193
+ "ROHLIK_PASSWORD": "your-password",
194
+ "ROHLIK_BASE_URL": "https://www.rohlik.cz",
195
+ "ROHLIK_DEBUG": "true"
196
+ }
197
+ }
198
+ }
199
+ }
200
+ ```
201
+
202
+ Debug logs will appear in `~/Library/Logs/Claude/mcp-server-rohlik-local.log` (macOS) or `%APPDATA%/Claude/logs/mcp-server-rohlik-local.log` (Windows).
203
+
124
204
  ### Testing with MCP Inspector
125
205
 
126
206
  You can test the MCP server using the official MCP Inspector (https://modelcontextprotocol.io/legacy/tools/inspector):
@@ -131,6 +211,130 @@ npm run inspect
131
211
 
132
212
  In the Inspector, set the ROHLIK_USERNAME and ROHLIK_PASSWORD envs.
133
213
 
214
+ ### API Validation Tool
215
+
216
+ To validate that all Rohlik API endpoints are working correctly and diagnose authentication issues:
217
+
218
+ ```bash
219
+ npm run validate-api
220
+ ```
221
+
222
+ This will:
223
+ - Test all 11 API endpoints used by the MCP server
224
+ - Show detailed HTTP request/response logs in the console
225
+ - Generate a JSON report: `tests/validation-results.json`
226
+ - Generate a beautiful HTML report: `tests/validation-report.html`
227
+
228
+ The validator automatically loads credentials from your Claude Desktop config or environment variables. Open the HTML report in your browser for an easy-to-read summary of all tests.
229
+
230
+ ## Troubleshooting
231
+
232
+ ### Common Issues
233
+
234
+ #### Claude Desktop does not see the MCP server (on Windows)
235
+
236
+ For your config file, instead of `%APPDATA%/Claude/claude_desktop_config.json` use `C:\Users\[YOUR WINDOWS USER]\AppData\Local\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json`
237
+
238
+ #### "Login failed" Error
239
+
240
+ **Possible causes:**
241
+ 1. Wrong username/password in configuration
242
+ 2. Rohlik API changed or is temporarily unavailable
243
+ 3. Network connectivity issues
244
+
245
+ **Solutions:**
246
+ 1. Verify credentials in your `claude_desktop_config.json`
247
+ 2. Enable debug mode: `"ROHLIK_DEBUG": "true"` in env section
248
+ 3. Check logs: `~/Library/Logs/Claude/mcp-server-rohlik*.log` (macOS) or `%APPDATA%\Claude\logs\mcp-server-rohlik*.log` (Windows)
249
+ 4. Run API validator: `npm run validate-api` to test all endpoints
250
+
251
+ #### "No order history found"
252
+
253
+ **Cause:** Your account has no past orders, or orders are not accessible
254
+
255
+ **Solution:** Ensure you have at least one completed order on Rohlik before using smart shopping features (`get_meal_suggestions`, `get_frequent_items`)
256
+
257
+ #### Slow response times
258
+
259
+ **Causes:**
260
+ - Analyzing too many orders (smart shopping features)
261
+ - Network latency to Rohlik servers
262
+ - API rate limiting
263
+
264
+ **Solutions:**
265
+ - For smart shopping: reduce number of orders analyzed (try 10 instead of default 20)
266
+ - Use fewer requests or add delays between bulk operations
267
+ - Check your network connection
268
+
269
+ #### Products not found or search returns no results
270
+
271
+ **Causes:**
272
+ - Product out of stock or discontinued
273
+ - Product ID changed in Rohlik system
274
+ - Spelling mistake in search query
275
+
276
+ **Solutions:**
277
+ - Search by partial name instead of full product name
278
+ - Try alternative spellings or broader search terms
279
+ - Verify product exists on Rohlik website directly
280
+
281
+ #### Server fails with `spawn npx ENOENT`
282
+
283
+ Under Claude Desktop, fails with:
284
+ ```shell
285
+ spawn npx ENOENT
286
+ Server disconnected. Transport closed unexpectedly.
287
+ ```
288
+
289
+ **Solutions:**
290
+ - Change config to use absolute path to npx as /Users/adam/.local/share/mise/installs/node/22.14.0/bin/npx)
291
+ - See more info: https://github.com/tomaspavlin/rohlik-mcp/issues/6
292
+
293
+ ### Enabling Debug Mode
294
+
295
+ Add `ROHLIK_DEBUG` to your configuration to see detailed logs:
296
+
297
+ ```json
298
+ {
299
+ "mcpServers": {
300
+ "rohlik-local": {
301
+ "command": "node",
302
+ "args": ["/path/to/rohlik-mcp/dist/index.js"],
303
+ "env": {
304
+ "ROHLIK_USERNAME": "your-email@example.com",
305
+ "ROHLIK_PASSWORD": "your-password",
306
+ "ROHLIK_BASE_URL": "https://www.rohlik.cz",
307
+ "ROHLIK_DEBUG": "true"
308
+ }
309
+ }
310
+ }
311
+ }
312
+ ```
313
+
314
+ **View logs:**
315
+ ```bash
316
+ # macOS
317
+ tail -f ~/Library/Logs/Claude/mcp-server-rohlik-local.log
318
+
319
+ # Windows
320
+ type %APPDATA%\Claude\logs\mcp-server-rohlik-local.log
321
+ ```
322
+
323
+ ### Using the API Validation Tool
324
+
325
+ If you encounter authentication or API issues, run the validator:
326
+
327
+ ```bash
328
+ npm run validate-api
329
+ ```
330
+
331
+ This will:
332
+ - Test all 11 API endpoints used by the MCP
333
+ - Show detailed HTTP request/response information
334
+ - Generate `validation-results.json` with test results
335
+ - Create `validation-report.html` for easy viewing in browser
336
+ - Help identify which specific endpoints are failing
337
+
134
338
  ### Publishing as NPM package
135
339
 
136
340
  1. Update version in package.json
package/dist/index.js CHANGED
@@ -13,6 +13,11 @@ import { createPremiumInfoTool } from "./tools/premium-info.js";
13
13
  import { createDeliverySlotsTool } from "./tools/delivery-slots.js";
14
14
  import { createAnnouncementsTool } from "./tools/announcements.js";
15
15
  import { createReusableBagsTool } from "./tools/reusable-bags.js";
16
+ import { createOrderDetailTool } from "./tools/order-detail.js";
17
+ import { createFrequentItemsTool } from "./tools/frequent-items.js";
18
+ import { createMealSuggestionsTool } from "./tools/meal-suggestions.js";
19
+ import { createShoppingScenariosTool } from "./tools/shopping-scenarios.js";
20
+ import { createDiscountedItemsTool } from "./tools/discounted-items.js";
16
21
  const server = new McpServer({
17
22
  name: "rohlik-mcp",
18
23
  version: "1.0.0",
@@ -45,6 +50,11 @@ const premiumInfo = createPremiumInfoTool(createRohlikAPI);
45
50
  const deliverySlots = createDeliverySlotsTool(createRohlikAPI);
46
51
  const announcements = createAnnouncementsTool(createRohlikAPI);
47
52
  const reusableBags = createReusableBagsTool(createRohlikAPI);
53
+ const orderDetail = createOrderDetailTool(createRohlikAPI);
54
+ const frequentItems = createFrequentItemsTool(createRohlikAPI);
55
+ const mealSuggestions = createMealSuggestionsTool(createRohlikAPI);
56
+ const shoppingScenarios = createShoppingScenariosTool();
57
+ const discountedItems = createDiscountedItemsTool(createRohlikAPI);
48
58
  // Core functionality
49
59
  server.registerTool(searchProducts.name, searchProducts.definition, searchProducts.handler);
50
60
  server.registerTool(cartTools.addToCart.name, cartTools.addToCart.definition, cartTools.addToCart.handler);
@@ -54,6 +64,7 @@ server.registerTool(shoppingLists.name, shoppingLists.definition, shoppingLists.
54
64
  server.registerTool(accountData.name, accountData.definition, accountData.handler);
55
65
  // Order management
56
66
  server.registerTool(orderHistory.name, orderHistory.definition, orderHistory.handler);
67
+ server.registerTool(orderDetail.name, orderDetail.definition, orderDetail.handler);
57
68
  server.registerTool(upcomingOrders.name, upcomingOrders.definition, upcomingOrders.handler);
58
69
  // Delivery management
59
70
  server.registerTool(deliveryInfo.name, deliveryInfo.definition, deliveryInfo.handler);
@@ -62,6 +73,12 @@ server.registerTool(deliverySlots.name, deliverySlots.definition, deliverySlots.
62
73
  server.registerTool(premiumInfo.name, premiumInfo.definition, premiumInfo.handler);
63
74
  server.registerTool(announcements.name, announcements.definition, announcements.handler);
64
75
  server.registerTool(reusableBags.name, reusableBags.definition, reusableBags.handler);
76
+ // Smart shopping features
77
+ server.registerTool(frequentItems.name, frequentItems.definition, frequentItems.handler);
78
+ server.registerTool(mealSuggestions.name, mealSuggestions.definition, mealSuggestions.handler);
79
+ server.registerTool(shoppingScenarios.name, shoppingScenarios.definition, shoppingScenarios.handler);
80
+ // Deals & discounts
81
+ server.registerTool(discountedItems.name, discountedItems.definition, discountedItems.handler);
65
82
  async function main() {
66
83
  const transport = new StdioServerTransport();
67
84
  await server.connect(transport);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function getAcceptLanguage(): string;
2
+ export declare function getCurrency(): string;
3
+ //# sourceMappingURL=locale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../src/locale.ts"],"names":[],"mappings":"AAsBA,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C;AAED,wBAAgB,WAAW,IAAI,MAAM,CAGpC"}
package/dist/locale.js ADDED
@@ -0,0 +1,27 @@
1
+ const BASE_URL = process.env.ROHLIK_BASE_URL || 'https://www.rohlik.cz';
2
+ const LOCALE_MAP = {
3
+ 'rohlik.cz': 'cs-CZ,cs;q=0.9,en;q=0.8',
4
+ 'knuspr.de': 'de-DE,de;q=0.9,en;q=0.8',
5
+ 'gurkerl.at': 'de-AT,de;q=0.9,en;q=0.8',
6
+ 'kifli.hu': 'hu-HU,hu;q=0.9,en;q=0.8',
7
+ 'sezamo.ro': 'ro-RO,ro;q=0.9,en;q=0.8'
8
+ };
9
+ const CURRENCY_MAP = {
10
+ 'rohlik.cz': 'CZK',
11
+ 'knuspr.de': 'EUR',
12
+ 'gurkerl.at': 'EUR',
13
+ 'kifli.hu': 'HUF',
14
+ 'sezamo.ro': 'RON'
15
+ };
16
+ function getDomain() {
17
+ return Object.keys(LOCALE_MAP).find(d => BASE_URL.includes(d));
18
+ }
19
+ export function getAcceptLanguage() {
20
+ const domain = getDomain();
21
+ return domain ? LOCALE_MAP[domain] : 'en;q=0.9';
22
+ }
23
+ export function getCurrency() {
24
+ const domain = getDomain();
25
+ return domain ? CURRENCY_MAP[domain] : 'CZK';
26
+ }
27
+ //# sourceMappingURL=locale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale.js","sourceRoot":"","sources":["../src/locale.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,uBAAuB,CAAC;AAExE,MAAM,UAAU,GAA2B;IACzC,WAAW,EAAE,yBAAyB;IACtC,WAAW,EAAE,yBAAyB;IACtC,YAAY,EAAE,yBAAyB;IACvC,UAAU,EAAE,yBAAyB;IACrC,WAAW,EAAE,yBAAyB;CACvC,CAAC;AAEF,MAAM,YAAY,GAA2B;IAC3C,WAAW,EAAE,KAAK;IAClB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,KAAK;CACnB,CAAC;AAEF,SAAS,SAAS;IAChB,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/C,CAAC"}
@@ -8,7 +8,10 @@ export declare class RohlikAPI {
8
8
  private userId?;
9
9
  private addressId?;
10
10
  private sessionCookies;
11
+ private lastRequestTime;
12
+ private readonly minRequestInterval;
11
13
  constructor(credentials: RohlikCredentials);
14
+ private rateLimit;
12
15
  private makeRequest;
13
16
  login(): Promise<void>;
14
17
  logout(): Promise<void>;
@@ -28,5 +31,12 @@ export declare class RohlikAPI {
28
31
  getDeliverySlots(): Promise<any>;
29
32
  getAnnouncements(): Promise<any>;
30
33
  getReusableBagsInfo(): Promise<any>;
34
+ getSalesCategories(): Promise<{
35
+ id: number;
36
+ name: string;
37
+ slug: string;
38
+ }[]>;
39
+ getDiscountedProducts(categoryId?: number | null, page?: number, size?: number, sort?: string): Promise<any[]>;
40
+ getOrderDetail(orderId: string): Promise<any>;
31
41
  }
32
42
  //# sourceMappingURL=rohlik-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rohlik-api.d.ts","sourceRoot":"","sources":["../src/rohlik-api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAqB,WAAW,EAAE,MAAM,YAAY,CAAC;AAInH,qBAAa,cAAe,SAAQ,KAAK;IACH,MAAM,CAAC,EAAE,MAAM;gBAAvC,OAAO,EAAE,MAAM,EAAS,MAAM,CAAC,EAAE,MAAM,YAAA;CAIpD;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAc;gBAExB,WAAW,EAAE,iBAAiB;YAI5B,WAAW;IA6BnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAOvB,cAAc,CAClB,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,MAAW,EAClB,aAAa,GAAE,OAAe,GAC7B,OAAO,CAAC,YAAY,EAAE,CAAC;IA0CpB,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAiCjD,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;IA0BtC,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBtD,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC;IAgBnF,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;IA0EtC,eAAe,CAAC,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAWjD,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC;IAW/B,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC;IAWjC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC;IAW9B,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC;IAehC,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC;IAWhC,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC;CAU1C"}
1
+ {"version":3,"file":"rohlik-api.d.ts","sourceRoot":"","sources":["../src/rohlik-api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAqB,WAAW,EAAE,MAAM,YAAY,CAAC;AAKnH,qBAAa,cAAe,SAAQ,KAAK;IACH,MAAM,CAAC,EAAE,MAAM;gBAAvC,OAAO,EAAE,MAAM,EAAS,MAAM,CAAC,EAAE,MAAM,YAAA;CAIpD;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAe;gBAEtC,WAAW,EAAE,iBAAiB;YAI5B,SAAS;YAYT,WAAW;IA0CnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4EtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAOvB,cAAc,CAClB,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,MAAW,EAClB,aAAa,GAAE,OAAe,GAC7B,OAAO,CAAC,YAAY,EAAE,CAAC;IA0CpB,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAiCjD,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;IA0BtC,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBtD,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC;IAgBnF,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;IA0EtC,eAAe,CAAC,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAWjD,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC;IAW/B,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC;IAWjC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC;IAW9B,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC;IAehC,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC;IAWhC,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC;IAWnC,kBAAkB,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAiC3E,qBAAqB,CACzB,UAAU,GAAE,MAAM,GAAG,IAAW,EAChC,IAAI,GAAE,MAAU,EAChB,IAAI,GAAE,MAAW,EACjB,IAAI,GAAE,MAAsB,GAC3B,OAAO,CAAC,GAAG,EAAE,CAAC;IA0CX,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CAUpD"}
@@ -1,4 +1,5 @@
1
1
  import fetch from 'node-fetch';
2
+ import { getAcceptLanguage } from './locale.js';
2
3
  const BASE_URL = process.env.ROHLIK_BASE_URL || 'https://www.rohlik.cz';
3
4
  export class RohlikAPIError extends Error {
4
5
  status;
@@ -13,13 +14,36 @@ export class RohlikAPI {
13
14
  userId;
14
15
  addressId;
15
16
  sessionCookies = '';
17
+ lastRequestTime = 0;
18
+ minRequestInterval = 100; // Minimum 100ms between requests
16
19
  constructor(credentials) {
17
20
  this.credentials = credentials;
18
21
  }
22
+ async rateLimit() {
23
+ const now = Date.now();
24
+ const timeSinceLastRequest = now - this.lastRequestTime;
25
+ if (timeSinceLastRequest < this.minRequestInterval) {
26
+ const delay = this.minRequestInterval - timeSinceLastRequest;
27
+ await new Promise(resolve => setTimeout(resolve, delay));
28
+ }
29
+ this.lastRequestTime = Date.now();
30
+ }
19
31
  async makeRequest(url, options = {}) {
32
+ // Apply rate limiting to prevent HTTP 429 errors
33
+ await this.rateLimit();
20
34
  const headers = {
35
+ 'Accept': 'application/json, text/plain, */*',
36
+ 'Accept-Language': getAcceptLanguage(),
21
37
  'Content-Type': 'application/json',
22
- 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36',
38
+ 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36',
39
+ 'Referer': BASE_URL,
40
+ 'Origin': BASE_URL,
41
+ 'sec-ch-ua': '"Google Chrome";v="119", "Chromium";v="119", "Not?A_Brand";v="24"',
42
+ 'sec-ch-ua-mobile': '?0',
43
+ 'sec-ch-ua-platform': '"macOS"',
44
+ 'sec-fetch-dest': 'empty',
45
+ 'sec-fetch-mode': 'cors',
46
+ 'sec-fetch-site': 'same-origin',
23
47
  ...(this.sessionCookies && { Cookie: this.sessionCookies }),
24
48
  ...(options.headers || {})
25
49
  };
@@ -43,18 +67,60 @@ export class RohlikAPI {
43
67
  password: this.credentials.password,
44
68
  name: ''
45
69
  };
46
- const response = await this.makeRequest('/services/frontend-service/login', {
47
- method: 'POST',
48
- body: JSON.stringify(loginData)
49
- });
50
- if (response.status !== 200) {
51
- if (response.status === 401) {
52
- throw new RohlikAPIError('Invalid credentials', 401);
70
+ const debug = process.env.ROHLIK_DEBUG === 'true';
71
+ try {
72
+ const response = await this.makeRequest('/services/frontend-service/login', {
73
+ method: 'POST',
74
+ body: JSON.stringify(loginData)
75
+ });
76
+ if (debug) {
77
+ console.error('[ROHLIK_DEBUG] Login response:', JSON.stringify(response, null, 2));
78
+ }
79
+ // Check for various error response formats
80
+ // Accept both 200 (OK) and 202 (Accepted) as successful responses
81
+ const isSuccess = response.status === 200 || response.status === 202 || response.status === undefined;
82
+ if (!isSuccess) {
83
+ if (response.status === 401 || response.status === 403) {
84
+ throw new RohlikAPIError('Invalid credentials - please check your username and password', response.status);
85
+ }
86
+ // Try to extract error message from various possible locations
87
+ const responseAny = response;
88
+ const errorMessage = response.messages?.[0]?.content ||
89
+ responseAny.message ||
90
+ responseAny.error ||
91
+ `Login failed with status ${response.status}`;
92
+ if (debug) {
93
+ console.error('[ROHLIK_DEBUG] Login failed:', errorMessage);
94
+ }
95
+ throw new RohlikAPIError(`Login failed: ${errorMessage}`, response.status);
96
+ }
97
+ // Verify we have user data
98
+ if (!response.data?.user?.id) {
99
+ if (debug) {
100
+ console.error('[ROHLIK_DEBUG] No user ID in response. Full response:', JSON.stringify(response, null, 2));
101
+ }
102
+ throw new RohlikAPIError('Login succeeded but no user data received. Please check credentials and try again.');
103
+ }
104
+ this.userId = response.data.user.id;
105
+ this.addressId = response.data?.address?.id;
106
+ if (debug) {
107
+ console.error(`[ROHLIK_DEBUG] Login successful. User ID: ${this.userId}, Address ID: ${this.addressId}`);
53
108
  }
54
- throw new RohlikAPIError(`Login failed: ${response.messages?.[0]?.content || 'Unknown error'}`);
55
109
  }
56
- this.userId = response.data?.user?.id;
57
- this.addressId = response.data?.address?.id;
110
+ catch (error) {
111
+ if (error instanceof RohlikAPIError) {
112
+ throw error;
113
+ }
114
+ // Log the full error for debugging
115
+ if (debug) {
116
+ console.error('[ROHLIK_DEBUG] Login error:', error);
117
+ }
118
+ // Handle network or other errors
119
+ if (error instanceof Error) {
120
+ throw new RohlikAPIError(`Login failed: ${error.message}`);
121
+ }
122
+ throw new RohlikAPIError('Login failed: Unknown error occurred');
123
+ }
58
124
  }
59
125
  async logout() {
60
126
  await this.makeRequest('/services/frontend-service/logout', {
@@ -325,5 +391,74 @@ export class RohlikAPI {
325
391
  await this.logout();
326
392
  }
327
393
  }
394
+ async getSalesCategories() {
395
+ await this.login();
396
+ try {
397
+ // Get subcategory IDs
398
+ const subResponse = await this.makeRequest('/api/v1/categories/sales/subcategories');
399
+ const subData = subResponse;
400
+ const categoryIds = subData.categoryIds || [];
401
+ if (categoryIds.length === 0) {
402
+ return [];
403
+ }
404
+ // Get category names
405
+ const params = new URLSearchParams();
406
+ for (const id of categoryIds) {
407
+ params.append('categories', String(id));
408
+ }
409
+ params.append('type', 'favorite-sales');
410
+ const catResponse = await this.makeRequest(`/api/v1/categories?${params}`);
411
+ const categories = Array.isArray(catResponse) ? catResponse : [];
412
+ return categories.map((c) => ({
413
+ id: c.categoryId,
414
+ name: c.name,
415
+ slug: c.slug
416
+ }));
417
+ }
418
+ finally {
419
+ await this.logout();
420
+ }
421
+ }
422
+ async getDiscountedProducts(categoryId = null, page = 0, size = 14, sort = 'recommended') {
423
+ await this.login();
424
+ try {
425
+ // Step 1: Get product IDs for the sales category
426
+ const categoryPath = categoryId ? `/${categoryId}` : '';
427
+ const listParams = new URLSearchParams({
428
+ page: String(page),
429
+ size: String(size),
430
+ sort,
431
+ filter: '',
432
+ excludeProductIds: ''
433
+ });
434
+ const listResponse = await this.makeRequest(`/api/v1/categories/sales${categoryPath}/products?${listParams}`);
435
+ const data = listResponse;
436
+ const productIds = data.productIds || [];
437
+ if (productIds.length === 0) {
438
+ return [];
439
+ }
440
+ // Step 2: Get product card details
441
+ const cardParams = new URLSearchParams();
442
+ for (const id of productIds) {
443
+ cardParams.append('products', String(id));
444
+ }
445
+ cardParams.append('categoryType', 'sales');
446
+ const cardResponse = await this.makeRequest(`/api/v1/products/card?${cardParams}`);
447
+ return Array.isArray(cardResponse) ? cardResponse : [];
448
+ }
449
+ finally {
450
+ await this.logout();
451
+ }
452
+ }
453
+ async getOrderDetail(orderId) {
454
+ await this.login();
455
+ try {
456
+ const response = await this.makeRequest(`/api/v3/orders/${orderId}`);
457
+ return response.data || response;
458
+ }
459
+ finally {
460
+ await this.logout();
461
+ }
462
+ }
328
463
  }
329
464
  //# sourceMappingURL=rohlik-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rohlik-api.js","sourceRoot":"","sources":["../src/rohlik-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rohlik-api.js","sourceRoot":"","sources":["../src/rohlik-api.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"account-data.d.ts","sourceRoot":"","sources":["../../src/tools/account-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,wBAAgB,qBAAqB,CAAC,eAAe,EAAE,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;EA4FrE"}
1
+ {"version":3,"file":"account-data.d.ts","sourceRoot":"","sources":["../../src/tools/account-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,wBAAgB,qBAAqB,CAAC,eAAe,EAAE,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;EA4FrE"}