@curless/hotel-storefront 0.55.2 → 0.55.3

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.
@@ -1,4 +1,6 @@
1
- const ALL = ['clubmed', 'atour', 'ji', 'ascott', 'shangrila', 'curlessatour'];
1
+ /** The groups `/site` lists on 11-04, in its order. */
2
+ export const SITES = ['clubmed', 'atour', 'shangrila', 'ji', 'ascott'];
3
+ const ALL = SITES;
2
4
  /** The dev backend's search answer, 2026-11-03 (总线程 and 酒店对接 both read it). */
3
5
  export const RECORDED_DEGRADED = {
4
6
  code: 200,
@@ -158,11 +160,194 @@ export const FAKE_ROOMS = {
158
160
  };
159
161
  const json = (body, status = 200) => new Response(JSON.stringify(body), { status, headers: { 'content-type': 'application/json' } });
160
162
  const nightsBetween = (a, b) => Math.max(1, Math.round((Date.parse(`${b}T00:00:00Z`) - Date.parse(`${a}T00:00:00Z`)) / 86_400_000));
163
+ /** The dev backend's `POST /hotels` answers of 2026-11-04 (酒店对接, read-only), word for word. */
164
+ export const RECORDED_1104 = {
165
+ atourShanghai: {
166
+ code: 200,
167
+ data: {
168
+ totalCount: 1,
169
+ queriedProviders: ['atour'],
170
+ successProviders: ['atour'],
171
+ degradedProviders: [],
172
+ hotels: [
173
+ {
174
+ unifiedId: 'atour:shanghai-bund',
175
+ providerCode: 'atour',
176
+ brand: 'ATOUR',
177
+ originalId: 'shanghai-bund',
178
+ name: 'Atour Hotel Shanghai Bund',
179
+ city: 'Shanghai',
180
+ country: 'China',
181
+ address: '',
182
+ latitude: null,
183
+ longitude: null,
184
+ distanceKm: null,
185
+ score: 4.8,
186
+ minPrice: {
187
+ originalCurrency: 'USD',
188
+ originalAmount: '132.0',
189
+ settlementCurrency: 'USD',
190
+ settlementAmount: '132.0',
191
+ feeNotice: null,
192
+ },
193
+ amenities: [
194
+ 'Library lounge',
195
+ 'River view',
196
+ 'Deep-sleep bedding',
197
+ 'All-day café',
198
+ 'Fitness studio',
199
+ ],
200
+ rooms: [],
201
+ extensions: {
202
+ category: 'huadong',
203
+ },
204
+ },
205
+ ],
206
+ executionTimes: {
207
+ atour: 218,
208
+ },
209
+ },
210
+ msg: 'Operation successful',
211
+ },
212
+ ascottSingapore: {
213
+ code: 200,
214
+ data: {
215
+ totalCount: 3,
216
+ queriedProviders: ['ascott'],
217
+ successProviders: ['ascott'],
218
+ degradedProviders: [],
219
+ hotels: [
220
+ {
221
+ unifiedId: 'ascott:lyf-funan-singapore',
222
+ providerCode: 'ascott',
223
+ brand: 'lyf',
224
+ originalId: 'lyf-funan-singapore',
225
+ name: 'lyf Funan Singapore',
226
+ city: 'Singapore',
227
+ country: 'Singapore',
228
+ address: '',
229
+ latitude: null,
230
+ longitude: null,
231
+ distanceKm: null,
232
+ score: 4.8,
233
+ minPrice: {
234
+ originalCurrency: 'SGD',
235
+ originalAmount: '135.89',
236
+ settlementCurrency: 'USD',
237
+ settlementAmount: '101.92',
238
+ feeNotice: null,
239
+ },
240
+ amenities: [
241
+ 'Social kitchen',
242
+ 'Co-working lounge',
243
+ 'Gym',
244
+ 'Self-service laundry',
245
+ 'Above Funan mall',
246
+ ],
247
+ rooms: [],
248
+ extensions: {
249
+ price_per_night_local: '183.45',
250
+ category: 'singapore',
251
+ price_note: 'from SGD 153++ per apartment per night → SGD 183.45 incl. service charge and GST 9% (≈ $135.89) · Advance Purchase',
252
+ },
253
+ },
254
+ {
255
+ unifiedId: 'ascott:citadines-raffles-place-singapore',
256
+ providerCode: 'ascott',
257
+ brand: 'Citadines',
258
+ originalId: 'citadines-raffles-place-singapore',
259
+ name: 'Citadines Raffles Place Singapore',
260
+ city: 'Singapore',
261
+ country: 'Singapore',
262
+ address: '',
263
+ latitude: null,
264
+ longitude: null,
265
+ distanceKm: null,
266
+ score: 4.8,
267
+ minPrice: {
268
+ originalCurrency: 'SGD',
269
+ originalAmount: '207.83',
270
+ settlementCurrency: 'USD',
271
+ settlementAmount: '155.87',
272
+ feeNotice: null,
273
+ },
274
+ amenities: [
275
+ '24-hour gym',
276
+ 'Outdoor pool and jacuzzi',
277
+ 'Fitness park',
278
+ 'Garden BBQ',
279
+ 'Launderette',
280
+ 'Residents’ kitchen',
281
+ 'Shared working space',
282
+ ],
283
+ rooms: [],
284
+ extensions: {
285
+ price_per_night_local: '280.57',
286
+ category: 'singapore',
287
+ price_note: 'from SGD 234++ per apartment per night → SGD 280.57 incl. service charge and GST 9% (≈ $207.83) · Advance Purchase',
288
+ },
289
+ },
290
+ {
291
+ unifiedId: 'ascott:ascott-orchard-singapore',
292
+ providerCode: 'ascott',
293
+ brand: 'Ascott The Residence',
294
+ originalId: 'ascott-orchard-singapore',
295
+ name: 'Ascott Orchard Singapore',
296
+ city: 'Singapore',
297
+ country: 'Singapore',
298
+ address: '',
299
+ latitude: null,
300
+ longitude: null,
301
+ distanceKm: null,
302
+ score: 4.8,
303
+ minPrice: {
304
+ originalCurrency: 'SGD',
305
+ originalAmount: '303.75',
306
+ settlementCurrency: 'USD',
307
+ settlementAmount: '227.81',
308
+ feeNotice: null,
309
+ },
310
+ amenities: [
311
+ 'Fully equipped kitchen in every apartment',
312
+ 'Washer in one- and two-bedroom apartments',
313
+ 'Dual-key layouts for families',
314
+ 'Fendi Casa Bespoke Residences',
315
+ 'Laundry and dry cleaning service',
316
+ 'Walk to Orchard Road',
317
+ ],
318
+ rooms: [],
319
+ extensions: {
320
+ price_per_night_local: '410.06',
321
+ category: 'singapore',
322
+ price_note: 'from SGD 342++ per apartment per night → SGD 410.06 incl. service charge and GST 9% (≈ $303.75) · Advance Purchase',
323
+ },
324
+ },
325
+ ],
326
+ executionTimes: {
327
+ ascott: 143,
328
+ },
329
+ },
330
+ msg: 'Operation successful',
331
+ },
332
+ };
161
333
  export const createOtalessFake = (opts = {}) => {
162
334
  let scene = opts.scene ?? 'data';
163
335
  let down = [];
336
+ let failing = [];
164
337
  let repeat = false;
165
338
  const calls = [];
339
+ const answer = (code, hotels, degraded = false) => json({
340
+ code: 200,
341
+ msg: '操作成功',
342
+ data: {
343
+ totalCount: hotels.length,
344
+ queriedProviders: [code],
345
+ successProviders: degraded ? [] : [code],
346
+ degradedProviders: degraded ? [code] : [],
347
+ executionTimes: { [code]: degraded ? 6 : 420 },
348
+ hotels,
349
+ },
350
+ });
166
351
  const fetchFake = (async (input, init) => {
167
352
  const url = new URL(String(input instanceof Request ? input.url : input));
168
353
  const method = init?.method ?? 'GET';
@@ -175,38 +360,53 @@ export const createOtalessFake = (opts = {}) => {
175
360
  repeat = false;
176
361
  return json({ code: 10014, msg: 'Repeat submit is not allowed' });
177
362
  }
178
- if (url.pathname === '/api/v1/ota/search' && method === 'POST') {
179
- if (scene === 'degraded')
180
- return json(RECORDED_DEGRADED);
181
- const asked = body?.channelCodes?.length
182
- ? body.channelCodes
183
- : ALL;
184
- const failing = scene === 'empty' ? [] : asked.filter((c) => down.includes(c));
185
- const where = String(body?.destination ?? '').toLowerCase();
186
- const hotels = scene === 'empty'
187
- ? []
188
- : FAKE_HOTELS.filter((h) => asked.includes(h.providerCode ?? '') &&
189
- !failing.includes(h.providerCode ?? '') &&
190
- (!where ||
191
- String(h.city).toLowerCase().includes(where) ||
192
- (where === 'shanghai' && h.city === '上海') ||
193
- String(h.name).toLowerCase().includes(where)));
363
+ if (url.pathname === '/api/v1/ota/site' && method === 'GET') {
364
+ // A page, not an R<T> (the document, §0) - and none of its `auth` here.
194
365
  return json({
366
+ total: SITES.length,
195
367
  code: 200,
196
- msg: '操作成功',
197
- data: {
198
- totalCount: hotels.length,
199
- queriedProviders: asked,
200
- successProviders: asked.filter((c) => !failing.includes(c)),
201
- degradedProviders: failing,
202
- executionTimes: Object.fromEntries(asked.map((c) => [c, 200])),
203
- hotels,
204
- },
368
+ msg: 'Query Success',
369
+ rows: SITES.map((host) => ({ host, category: 'integrated', status: 0 })),
205
370
  });
206
371
  }
372
+ // Gone on 11-04, as the dev backend answers it.
373
+ if (url.pathname === '/api/v1/ota/search')
374
+ return json({ code: 404, msg: 'No static resource api/v1/ota/search.' }, 404);
375
+ if ((url.pathname === '/api/v1/ota/hotels' || url.pathname === '/api/v1/ota/list_hotels') &&
376
+ method === 'POST') {
377
+ // ⚠️ THE FIRST CHANNEL ONLY, as the backend does (11-04); atour by default.
378
+ const code = String(body?.channelCodes?.[0] ?? 'atour');
379
+ const where = String(body?.destination ?? '').toLowerCase();
380
+ if (scene === 'real') {
381
+ if (code === 'shangrila')
382
+ return json({ code: 500, msg: 'Internal Server Error' }, 500);
383
+ const rec = code === 'atour' && /shanghai|上海/.test(where)
384
+ ? RECORDED_1104.atourShanghai
385
+ : code === 'ascott' && /singapore|新加坡/.test(where)
386
+ ? RECORDED_1104.ascottSingapore
387
+ : undefined;
388
+ return rec ? json(rec) : answer(code, []);
389
+ }
390
+ if (scene === 'degraded')
391
+ return answer(code, [], true);
392
+ if (failing.includes(code))
393
+ return json({ code: 500, msg: 'Internal Server Error' }, 500);
394
+ if (scene === 'empty' || down.includes(code))
395
+ return answer(code, [], down.includes(code));
396
+ const hotels = FAKE_HOTELS.filter((h) => h.providerCode === code &&
397
+ (!where ||
398
+ String(h.city).toLowerCase().includes(where) ||
399
+ (where === 'shanghai' && h.city === '上海') ||
400
+ String(h.name).toLowerCase().includes(where)));
401
+ return answer(code, hotels);
402
+ }
207
403
  if (url.pathname === '/api/v1/ota/rooms' && method === 'GET') {
208
404
  const id = url.searchParams.get('unifiedHotelId') ?? '';
209
- return json({ code: 200, msg: '操作成功', data: FAKE_ROOMS[id] ?? [] });
405
+ return json({
406
+ code: 200,
407
+ msg: '操作成功',
408
+ data: scene === 'real' ? [] : (FAKE_ROOMS[id] ?? []),
409
+ });
210
410
  }
211
411
  if (url.pathname === '/api/v1/ota/rooms/quote' && method === 'POST') {
212
412
  const room = (FAKE_ROOMS[String(body?.unifiedHotelId)] ?? []).find((r) => r.unifiedRoomId === `${String(body?.unifiedHotelId).split(':')[0]}:${body?.roomId}`);
@@ -231,6 +431,9 @@ export const createOtalessFake = (opts = {}) => {
231
431
  degrade: (codes) => {
232
432
  down = codes;
233
433
  },
434
+ fail: (codes) => {
435
+ failing = codes;
436
+ },
234
437
  refuseNextAsRepeat: () => {
235
438
  repeat = true;
236
439
  },
@@ -1 +1 @@
1
- {"version":3,"file":"fake.js","sourceRoot":"","sources":["../../src/otaless/fake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fake.js","sourceRoot":"","sources":["../../src/otaless/fake.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -29,7 +29,7 @@ export declare const INITIALIZE_PER_MINUTE = 300;
29
29
  * number. Found by reading the boot banner of a container that had just been
30
30
  * deployed (2026-09-22): seventeen tools listed, and "0.7.0" above them.
31
31
  */
32
- export declare const VERSION = "0.55.2";
32
+ export declare const VERSION = "0.55.3";
33
33
  /**
34
34
  * The card's resource URI.
35
35
  *
@@ -38,7 +38,7 @@ export declare const VERSION = "0.55.2";
38
38
  * connector went storefront-v35 → v40 in a single day of UI work for exactly
39
39
  * this reason.
40
40
  */
41
- export declare const CARD_URI = "ui://curless/hotel/booking-v113.html";
41
+ export declare const CARD_URI = "ui://curless/hotel/booking-v114.html";
42
42
  /**
43
43
  * The URI one deployment names its card by: `CARD_URI` with a short hash of
44
44
  * everything a host caches under it - the card itself, and the hosts it may
package/dist/server.js CHANGED
@@ -48,7 +48,7 @@ export const INITIALIZE_PER_MINUTE = 300;
48
48
  * number. Found by reading the boot banner of a container that had just been
49
49
  * deployed (2026-09-22): seventeen tools listed, and "0.7.0" above them.
50
50
  */
51
- export const VERSION = '0.55.2';
51
+ export const VERSION = '0.55.3';
52
52
  /**
53
53
  * The card's resource URI.
54
54
  *
@@ -57,7 +57,7 @@ export const VERSION = '0.55.2';
57
57
  * connector went storefront-v35 → v40 in a single day of UI work for exactly
58
58
  * this reason.
59
59
  */
60
- export const CARD_URI = 'ui://curless/hotel/booking-v113.html';
60
+ export const CARD_URI = 'ui://curless/hotel/booking-v114.html';
61
61
  /** The card as it ships, hashed once - what a host caches under the URI. */
62
62
  const CARD_HTML_SHA = createHash('sha256').update(HOTEL_CARD_HTML).digest('hex');
63
63
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/dist/tools.js CHANGED
@@ -2558,7 +2558,11 @@ const priceWords = (r, noCards) => r.hourly
2558
2558
  * P3-1): read side by side with "incl. taxes and fees", a model told the guest
2559
2559
  * "含税费 … 每晚 ¥1,668". The card says 每晚价不含税 under its prices (0.50.1).
2560
2560
  */
2561
- const nightWords = (noCards) => (noCards ? 'a night before taxes' : 'a night');
2561
+ const nightWords = (noCards, taxesUnsaid) =>
2562
+ // ⚠️ "BEFORE TAXES" ONLY WHERE IT IS SO (0.55.3): a from-price whose taxes the
2563
+ // supplier does not say (`Hotel.fromNightlyTaxes`, the Otaless backend) is
2564
+ // "a night" alone in words too - as the card says it (每晚).
2565
+ noCards && !taxesUnsaid ? 'a night before taxes' : 'a night';
2562
2566
  const LABEL_WORDS = {
2563
2567
  'room-only': 'room only',
2564
2568
  breakfast: 'breakfast',
@@ -3799,7 +3803,7 @@ const listedInWords = (h) => {
3799
3803
  ? h.noRoomsForStay
3800
3804
  : 'no room for those nights'
3801
3805
  : h.fromNightly
3802
- ? `from ${formatMoney(h.fromNightly)} ${nightWords(true)}`
3806
+ ? `from ${formatMoney(h.fromNightly)} ${nightWords(true, h.fromNightlyTaxes === 'unknown')}`
3803
3807
  : '';
3804
3808
  return `- ${withZh(h.name, h.names?.name, true)} (\`${h.id}\`)${where ? ` · ${where}` : ''}${price ? `: ${price}` : ''}`;
3805
3809
  };
@@ -5681,7 +5685,7 @@ const answerTool = async (deps, name, rawArgs, ctx) => {
5681
5685
  about.fenced,
5682
5686
  !stay
5683
5687
  ? h.fromNightly
5684
- ? `From ${formatMoney(h.fromNightly)} ${nightWords(ctx.noCards)}; rooms are priced once there are dates.`
5688
+ ? `From ${formatMoney(h.fromNightly)} ${nightWords(ctx.noCards, h.fromNightlyTaxes === 'unknown')}; rooms are priced once there are dates.`
5685
5689
  : ''
5686
5690
  : rooms.length
5687
5691
  ? [