@curless/hotel-storefront 0.45.1 → 0.46.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.
- package/dist/card.generated.d.ts +1 -1
- package/dist/card.generated.js +2 -2
- package/dist/card.generated.js.map +1 -1
- package/dist/config.d.ts +36 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +8 -0
- package/dist/config.js.map +1 -1
- package/dist/data.d.ts +2 -0
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +281 -19
- package/dist/data.js.map +1 -1
- package/dist/demo-hotels.d.ts +52 -1
- package/dist/demo-hotels.d.ts.map +1 -1
- package/dist/demo-hotels.js +45 -11
- package/dist/demo-hotels.js.map +1 -1
- package/dist/huazhu/backend.d.ts.map +1 -1
- package/dist/huazhu/backend.js +9 -5
- package/dist/huazhu/backend.js.map +1 -1
- package/dist/legal.d.ts.map +1 -1
- package/dist/legal.js +38 -9
- package/dist/legal.js.map +1 -1
- package/dist/lib.d.ts +2 -2
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js +1 -1
- package/dist/lib.js.map +1 -1
- package/dist/room-filters.d.ts +76 -0
- package/dist/room-filters.d.ts.map +1 -0
- package/dist/room-filters.js +191 -0
- package/dist/room-filters.js.map +1 -0
- package/dist/server.d.ts +2 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +8 -4
- package/dist/server.js.map +1 -1
- package/dist/supplier.d.ts +1 -0
- package/dist/supplier.d.ts.map +1 -1
- package/dist/supplier.js +5 -1
- package/dist/supplier.js.map +1 -1
- package/dist/surface.d.ts.map +1 -1
- package/dist/surface.js +5 -1
- package/dist/surface.js.map +1 -1
- package/dist/tools.d.ts +20 -2
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +158 -9
- package/dist/tools.js.map +1 -1
- package/dist/types.d.ts +36 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/vocab.d.ts +19 -0
- package/dist/vocab.d.ts.map +1 -1
- package/dist/vocab.js +48 -2
- package/dist/vocab.js.map +1 -1
- package/package.json +1 -1
package/dist/legal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legal.d.ts","sourceRoot":"","sources":["../src/legal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAqB,MAAM,cAAc,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"legal.d.ts","sourceRoot":"","sources":["../src/legal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAqB,MAAM,cAAc,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAqP/C,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MAC8G,CAAC;AAyC3J,eAAO,MAAM,QAAQ,GACnB,QAAQ,WAAW,EACnB,OAAM,mBAAuC,KAC5C,MAwGA,CAAC;AAEJ,eAAO,MAAM,WAAW,GACtB,QAAQ,WAAW,EACnB,aAAY,MAAM,EAAO,EACzB,OAAM,mBAAuC;AAC7C;;;;;GAKG;AACH,mBAAiB,KAChB,MAqKA,CAAC;AAEJ,eAAO,MAAM,SAAS,GACpB,QAAQ,WAAW,EACnB,OAAM,mBAAuC,KAC5C,MAkFA,CAAC"}
|
package/dist/legal.js
CHANGED
|
@@ -41,6 +41,13 @@ const sourceOf = (c) => c.data.source === 'aggregate'
|
|
|
41
41
|
: 'live'
|
|
42
42
|
: dataSource(c.data);
|
|
43
43
|
const dataSource = (d) => d.source !== 'api' ? 'demo' : d.api?.sandbox ? 'sandbox' : d.api?.test ? 'test' : 'live';
|
|
44
|
+
/**
|
|
45
|
+
* A demonstration whose hotels are invented and whose photographs are stock
|
|
46
|
+
* (`data.invented`): the hotels, their names, rooms and rates are made up, and
|
|
47
|
+
* nothing here belongs to or describes the group's real properties. Only the
|
|
48
|
+
* demonstration file of a group's own connector - a market refuses it at start.
|
|
49
|
+
*/
|
|
50
|
+
const invented = (c) => c.data.source === 'demo' && !!c.data.invented;
|
|
44
51
|
/**
|
|
45
52
|
* A market's groups, and where each one's rooms come from - or none, on a
|
|
46
53
|
* group's own connector.
|
|
@@ -124,7 +131,13 @@ const demoBanner = (config) => config.data.source === 'aggregate'
|
|
|
124
131
|
${esc(config.brand)}'s booking system, not from ${esc(config.brand)}: the hotels, rates, rooms and fees
|
|
125
132
|
were invented for testing, and nothing booked through it is a ${esc(config.brand)} reservation.
|
|
126
133
|
No room is held and no money changes hands.</p>`
|
|
127
|
-
:
|
|
134
|
+
: invented(config)
|
|
135
|
+
? `<p><strong>This is a demonstration.</strong> The hotels shown here are invented: their names,
|
|
136
|
+
rooms, rates, room counts, add-on prices and cancellation fees were all made up for the demo, and
|
|
137
|
+
the photographs are stock photographs that are not of these hotels. Nothing here belongs to or
|
|
138
|
+
describes the real properties of ${esc(config.brand)}. Nothing booked through it reserves a real
|
|
139
|
+
room, and no money changes hands.</p>`
|
|
140
|
+
: `<p><strong>This is a demonstration.</strong> The ${esc(config.brand)} properties named here are real, but
|
|
128
141
|
every rate, room count, add-on price and cancellation fee it answers with was made up for the demo.
|
|
129
142
|
Nothing booked through it reserves a real room, and no money changes hands.</p>`;
|
|
130
143
|
/**
|
|
@@ -204,7 +217,13 @@ const marksNotice = (config) => config.data.source === 'aggregate'
|
|
|
204
217
|
${esc(config.brand)}, and come from its own distribution system. This connector is operated by
|
|
205
218
|
${esc(config.legal.operator ?? 'Curless')}, which sells ${esc(config.brand)}'s rooms as a distributor;
|
|
206
219
|
it is not ${esc(config.brand)}.</p>`
|
|
207
|
-
:
|
|
220
|
+
: invented(config)
|
|
221
|
+
? `<h2>Names and pictures</h2>
|
|
222
|
+
<p>The hotels shown here, their names, rooms and rates are invented, and the photographs are stock
|
|
223
|
+
photographs that are not of these hotels. Nothing here belongs to or describes the real properties of
|
|
224
|
+
${esc(config.brand)}. This connector is operated by ${esc(config.legal.operator ?? 'Curless')} and is not
|
|
225
|
+
${esc(config.brand)}, not affiliated with it, and not endorsed by it.</p>`
|
|
226
|
+
: `<h2>Names and pictures</h2>
|
|
208
227
|
<p>${esc(config.brand)}, the names of its properties and the photographs shown on the card belong to
|
|
209
228
|
${esc(config.brand)}. They are used here to demonstrate a booking connector against the group's real
|
|
210
229
|
property list. This connector is operated by ${esc(config.legal.operator ?? 'Curless')} and is not
|
|
@@ -231,7 +250,9 @@ export const docsPage = (config, caps = FULL_CAPABILITIES) => shell('What this c
|
|
|
231
250
|
</ul>
|
|
232
251
|
${footer(config)}`
|
|
233
252
|
: `<h1>${esc(config.brand)} ${esc(config.naming?.nounPlural ?? 'hotels')}</h1>
|
|
234
|
-
<p>An MCP connector that lets an AI assistant look up ${
|
|
253
|
+
<p>An MCP connector that lets an AI assistant look up ${invented(config)
|
|
254
|
+
? 'the invented hotels of this demonstration'
|
|
255
|
+
: `${esc(config.brand)} properties`}, price a stay on
|
|
235
256
|
given nights, put ${caps.extras ? 'rooms and add-ons' : 'rooms'} into a trip, and ${sourceOf(config) === 'test'
|
|
236
257
|
? 'book those rooms in its own test system, for testing - a test booking holds no room for anyone'
|
|
237
258
|
: sourceOf(config) === 'sandbox'
|
|
@@ -259,7 +280,11 @@ export const docsPage = (config, caps = FULL_CAPABILITIES) => shell('What this c
|
|
|
259
280
|
? `Request a demonstration booking: a confirmation code is issued, but ${esc(config.brand)} does not receive it and no room is held.`
|
|
260
281
|
: 'Request a booking: the rooms are held and a confirmation code is issued.'}</li>
|
|
261
282
|
<li>Show what cancelling would cost before anything is cancelled, then cancel.</li>
|
|
262
|
-
${caps.policies === false
|
|
283
|
+
${caps.policies === false
|
|
284
|
+
? ''
|
|
285
|
+
: invented(config)
|
|
286
|
+
? "<li>Answer from the policies written for this demonstration's invented hotels.</li>"
|
|
287
|
+
: "<li>Answer from the property's own published policies.</li>"}
|
|
263
288
|
</ul>
|
|
264
289
|
<h2>What it will not do</h2>
|
|
265
290
|
<ul>
|
|
@@ -401,7 +426,9 @@ sourceOf(config) !== 'demo' || groupsOf(config).some((g) => g.source !== 'demo')
|
|
|
401
426
|
? 'stock photographs - not pictures of these hotels, which are invented -'
|
|
402
427
|
: sourceOf(config) === 'test'
|
|
403
428
|
? `the photographs ${esc(config.brand)}'s test system has for its test hotels,`
|
|
404
|
-
:
|
|
429
|
+
: invented(config)
|
|
430
|
+
? 'stock photographs - not pictures of these hotels, which are invented -'
|
|
431
|
+
: "the hotels' own photographs,"} loaded straight from ${imageHosts
|
|
405
432
|
.map((h) => `<code>${esc(h.replace(/^https?:\/\//, ''))}</code>`)
|
|
406
433
|
.join(', ')}. As with any picture on the web, that host sees the address of the device the card
|
|
407
434
|
is open on when it loads one. Nothing else is sent to it.</p>`
|
|
@@ -410,7 +437,7 @@ sourceOf(config) !== 'demo' || groupsOf(config).some((g) => g.source !== 'demo')
|
|
|
410
437
|
<p>They reach this connector only when you type them into the booking form or say them in the
|
|
411
438
|
conversation. The assistant is told not to fill them in from an account or profile, and the
|
|
412
439
|
connector has no way to read either.</p>
|
|
413
|
-
${config.legal.brandContact && config.data.source !== 'aggregate'
|
|
440
|
+
${config.legal.brandContact && config.data.source !== 'aggregate' && !invented(config)
|
|
414
441
|
? `<h2>The hotel group</h2><p>Questions about a real booking go to ${esc(config.brand)} at
|
|
415
442
|
<a href="mailto:${esc(config.legal.brandContact)}">${esc(config.legal.brandContact)}</a>.</p>`
|
|
416
443
|
: ''}
|
|
@@ -432,9 +459,11 @@ export const termsPage = (config, caps = FULL_CAPABILITIES) => shell('Terms', co
|
|
|
432
459
|
? 'The hotels, rates and availability it shows come from a simulated booking system, for testing, and do not reserve anything.'
|
|
433
460
|
: sourceOf(config) === 'live'
|
|
434
461
|
? `The rooms, rates and policies come from ${esc(config.brand)}; the booking is between you and them.`
|
|
435
|
-
:
|
|
436
|
-
|
|
437
|
-
|
|
462
|
+
: invented(config)
|
|
463
|
+
? 'The hotels, rates, availability, fees, descriptions and policies it shows were invented for this demonstration and do not reserve anything.'
|
|
464
|
+
: // Said as the fence around a policy says it - written for the demo,
|
|
465
|
+
// not the hotel's own words (2026-10-05 audit, P3).
|
|
466
|
+
'The rates, availability, fees, descriptions and policies it shows were written for this demonstration and do not reserve anything.'}</p>
|
|
438
467
|
<h2>Bookings</h2>
|
|
439
468
|
${config.data.source === 'aggregate'
|
|
440
469
|
? `<p>A booking is made with the group the ${esc(config.naming?.noun ?? 'hotel')} belongs to, one group at a time, under that group's terms; this connector takes no payment.</p>
|
package/dist/legal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legal.js","sourceRoot":"","sources":["../src/legal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"legal.js","sourceRoot":"","sources":["../src/legal.ts"],"names":[],"mappings":"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"}
|
package/dist/lib.d.ts
CHANGED
|
@@ -15,13 +15,13 @@
|
|
|
15
15
|
export { loadHotelData, parseHotelData } from './data.js';
|
|
16
16
|
export { loadConfig, buildServer, widgetMeta, imageDomainsOf, CARD_URI, cardUriFor, CARD_MIME, VERSION, } from './server.js';
|
|
17
17
|
export { createDemoHotels } from './demo-hotels.js';
|
|
18
|
-
export { toolNames } from './config.js';
|
|
18
|
+
export { toolNames, DEMO_CAPABILITY_KEYS } from './config.js';
|
|
19
19
|
export { buildTools, withheldTools } from './tools.js';
|
|
20
20
|
export { INSTRUCTS, listingProblems } from './listing.js';
|
|
21
21
|
export { resolveBrand, DEMO_NOTE } from './vocab.js';
|
|
22
22
|
export { FULL_CAPABILITIES, MAX_PAGE } from './backend.js';
|
|
23
23
|
export type { BackendCapabilities, HotelBackend, PaymentReturn, SupplierInfo, UnionPayRefusal, UnionPayStep, } from './backend.js';
|
|
24
|
-
export type { ApiSource, HotelConfig, ToolNames } from './config.js';
|
|
24
|
+
export type { ApiSource, DemoCapabilities, HotelConfig, ToolNames } from './config.js';
|
|
25
25
|
export { HUAZHU_CAPABILITIES, createHuazhuHotels } from './huazhu/backend.js';
|
|
26
26
|
export { checkHuazhu } from './huazhu/check.js';
|
|
27
27
|
export { HuazhuClient, HuazhuRefusal, HuazhuUnreachable } from './huazhu/client.js';
|
package/dist/lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EACL,UAAU,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,QAAQ,EACR,UAAU,EACV,SAAS,EACT,OAAO,GACR,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EACL,UAAU,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,QAAQ,EACR,UAAU,EACV,SAAS,EACT,OAAO,GACR,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC3D,YAAY,EACV,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,eAAe,EACf,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEvF,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9E,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC5D,YAAY,EACV,OAAO,EACP,aAAa,EACb,UAAU,EACV,KAAK,EACL,KAAK,EACL,WAAW,EACX,WAAW,EACX,QAAQ,EACR,MAAM,EACN,KAAK,EACL,WAAW,EACX,WAAW,EACX,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,QAAQ,GACT,MAAM,YAAY,CAAC"}
|
package/dist/lib.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
export { loadHotelData, parseHotelData } from './data.js';
|
|
16
16
|
export { loadConfig, buildServer, widgetMeta, imageDomainsOf, CARD_URI, cardUriFor, CARD_MIME, VERSION, } from './server.js';
|
|
17
17
|
export { createDemoHotels } from './demo-hotels.js';
|
|
18
|
-
export { toolNames } from './config.js';
|
|
18
|
+
export { toolNames, DEMO_CAPABILITY_KEYS } from './config.js';
|
|
19
19
|
// What a deployment offers, for a brand repository checking its own config.
|
|
20
20
|
export { buildTools, withheldTools } from './tools.js';
|
|
21
21
|
// The directories' attestation about tool descriptions, run on a real config.
|
package/dist/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EACL,UAAU,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,QAAQ,EACR,UAAU,EACV,SAAS,EACT,OAAO,GACR,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EACL,UAAU,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,QAAQ,EACR,UAAU,EACV,SAAS,EACT,OAAO,GACR,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC9D,4EAA4E;AAC5E,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvD,8EAA8E;AAC9E,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAU3D,qEAAqE;AACrE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { Room } from './types.js';
|
|
2
|
+
/** The bed a guest asks for: a large bed for two, or two beds. */
|
|
3
|
+
export type BedFilter = 'king' | 'twin';
|
|
4
|
+
/** The four ways a room can be narrowed, as the card's chips and `roomFilters` name them. */
|
|
5
|
+
export type RoomFilterKey = 'breakfast' | 'king' | 'twin' | 'freeCancellation';
|
|
6
|
+
/** In the order a chip row shows them. */
|
|
7
|
+
export declare const ROOM_FILTER_KEYS: readonly RoomFilterKey[];
|
|
8
|
+
/** What a call asked for - all of it must hold (AND). */
|
|
9
|
+
export type RoomTerms = {
|
|
10
|
+
bed?: BedFilter;
|
|
11
|
+
breakfast?: true;
|
|
12
|
+
freeCancellation?: true;
|
|
13
|
+
};
|
|
14
|
+
/** What is true of one room, for the card to draw and to filter by without re-deriving. */
|
|
15
|
+
export type RoomFacets = Record<RoomFilterKey, boolean>;
|
|
16
|
+
/** One chip a hotel's rooms offer, with how many rooms (rates) it keeps. */
|
|
17
|
+
export type RoomFilterOption = {
|
|
18
|
+
key: RoomFilterKey;
|
|
19
|
+
count: number;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Which beds a room has: from `bedTypes` where they say a king or a twin,
|
|
23
|
+
* otherwise from what `beds` says in words ("1 king", "1 king or 2 twins",
|
|
24
|
+
* "2 twins or 1 king", "1 queen", "1 king and 2 singles", 大床 / 双床,
|
|
25
|
+
* 「2张1.2米单人床」), and last from the room type's NAME where neither says a
|
|
26
|
+
* bed: Huazhu's test environment sends no `bedTypes` and no `beds`, but a type
|
|
27
|
+
* called 「豪华大床房」 is a king room (2026-10-23). The order is the order of trust.
|
|
28
|
+
*/
|
|
29
|
+
export declare const bedKindsOf: (room: Pick<Room, "beds" | "bedTypes"> & Partial<Pick<Room, "name" | "names" | "roomType">>) => {
|
|
30
|
+
king: boolean;
|
|
31
|
+
twin: boolean;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Whether the room's rate includes breakfast. The meal, where a backend gives
|
|
35
|
+
* one, is what the rate includes (`MealPlan`); then its labels; then the plain
|
|
36
|
+
* flag. Room only is no.
|
|
37
|
+
*/
|
|
38
|
+
export declare const breakfastOf: (room: Pick<Room, "breakfast" | "meal" | "labels">) => boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Whether the rate can be cancelled for nothing NOW: refundable, with a free
|
|
41
|
+
* window that has not closed. Where the window has closed, `refundable` stays
|
|
42
|
+
* true and `freeCancellationUntil` is gone - "refundable" alone is a rate that
|
|
43
|
+
* once had a free window (the demo's own search and Huazhu's read it the same
|
|
44
|
+
* way). A room by the hour has no cancellation terms to speak of.
|
|
45
|
+
*/
|
|
46
|
+
export declare const freeCancellationOf: (room: Pick<Room, "refundable" | "freeCancellationUntil" | "hourly">) => boolean;
|
|
47
|
+
/** Everything a card needs to know about one room to filter it. */
|
|
48
|
+
export declare const facetsOf: (room: Room) => RoomFacets;
|
|
49
|
+
/** The terms a call asked for, or undefined when it asked for none. Only `true` narrows. */
|
|
50
|
+
export declare const roomTermsOf: (args: Record<string, unknown>) => RoomTerms | undefined;
|
|
51
|
+
/** The terms as the chip keys they switch on - the order a chip row shows them. */
|
|
52
|
+
export declare const activeKeysOf: (terms: RoomTerms | undefined) => RoomFilterKey[];
|
|
53
|
+
/** Whether a room has everything the terms ask for. */
|
|
54
|
+
export declare const matchesTerms: (room: Room, terms: RoomTerms | undefined) => boolean;
|
|
55
|
+
/**
|
|
56
|
+
* The chips a hotel's rooms offer: only a kind at least one room has, each with
|
|
57
|
+
* how many rooms (rates) it keeps on its own, in the order a chip row shows
|
|
58
|
+
* them.
|
|
59
|
+
*/
|
|
60
|
+
export declare const optionsOf: (rooms: Room[]) => RoomFilterOption[];
|
|
61
|
+
/** The terms in words, for a sentence: "king bed, breakfast included, free cancellation". */
|
|
62
|
+
export declare const termWords: (terms: RoomTerms) => string;
|
|
63
|
+
/** One chip in words, for a sentence. */
|
|
64
|
+
export declare const keyWords: (key: RoomFilterKey) => string;
|
|
65
|
+
/**
|
|
66
|
+
* A hotel's rooms by room type, in the order the types first appear: a group
|
|
67
|
+
* that sells several rates on one type (Huazhu's 房型 × 房价码) shares a
|
|
68
|
+
* `roomType`; one whose every room is its own type (Shangri-La's) does not,
|
|
69
|
+
* and each is a type of its own.
|
|
70
|
+
*/
|
|
71
|
+
export declare const byRoomType: <R extends Pick<Room, "id" | "name" | "roomType">>(rooms: R[]) => {
|
|
72
|
+
id: string;
|
|
73
|
+
name: string;
|
|
74
|
+
rooms: R[];
|
|
75
|
+
}[];
|
|
76
|
+
//# sourceMappingURL=room-filters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"room-filters.d.ts","sourceRoot":"","sources":["../src/room-filters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,YAAY,CAAC;AAYhD,kEAAkE;AAClE,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAExC,6FAA6F;AAC7F,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,kBAAkB,CAAC;AAE/E,0CAA0C;AAC1C,eAAO,MAAM,gBAAgB,EAAE,SAAS,aAAa,EAKpD,CAAC;AAEF,yDAAyD;AACzD,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,gBAAgB,CAAC,EAAE,IAAI,CAAC;CACzB,CAAC;AAEF,2FAA2F;AAC3F,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AAExD,4EAA4E;AAC5E,MAAM,MAAM,gBAAgB,GAAG;IAAE,GAAG,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAiErE;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,GACrB,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC,CAAC,KACzF;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAkBhC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC,KAAG,OAM/E,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,IAAI,CAAC,IAAI,EAAE,YAAY,GAAG,uBAAuB,GAAG,QAAQ,CAAC,KAClE,OAA0E,CAAC;AAE9E,mEAAmE;AACnE,eAAO,MAAM,QAAQ,GAAI,MAAM,IAAI,KAAG,UAQrC,CAAC;AAEF,4FAA4F;AAC5F,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,SAAS,GAAG,SAOvE,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,YAAY,GAAI,OAAO,SAAS,GAAG,SAAS,KAAG,aAAa,EAKtE,CAAC;AAEJ,uDAAuD;AACvD,eAAO,MAAM,YAAY,GAAI,MAAM,IAAI,EAAE,OAAO,SAAS,GAAG,SAAS,KAAG,OAQvE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,IAAI,EAAE,KAAG,gBAAgB,EAKzD,CAAC;AAEF,6FAA6F;AAC7F,eAAO,MAAM,SAAS,GAAI,OAAO,SAAS,KAAG,MAO9B,CAAC;AAEhB,yCAAyC;AACzC,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,KAAG,MAG3C,CAAC;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC,EACzE,OAAO,CAAC,EAAE,KACT;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,EAAE,CAAA;CAAE,EAS1C,CAAC"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/** In the order a chip row shows them. */
|
|
2
|
+
export const ROOM_FILTER_KEYS = [
|
|
3
|
+
'breakfast',
|
|
4
|
+
'king',
|
|
5
|
+
'twin',
|
|
6
|
+
'freeCancellation',
|
|
7
|
+
];
|
|
8
|
+
/**
|
|
9
|
+
* Two ways of reading a bed in words. A QUEEN COUNTS WITH THE KING: "king" is
|
|
10
|
+
* the large-bed filter - one big bed for two, which is what a guest who says
|
|
11
|
+
* 大床 / "a king" wants and what a hotel that lists "1 queen" sells. A DOUBLE
|
|
12
|
+
* is the same bed.
|
|
13
|
+
*/
|
|
14
|
+
const LARGE = /\b(?:king|queen|double)\b|大床|双人床/i;
|
|
15
|
+
const TWIN = /\btwins?\b|双床/i;
|
|
16
|
+
/** "2 singles" - the digits before the word. */
|
|
17
|
+
const SINGLES = /(\d+)\s*(?:x\s*)?singles?\b/gi;
|
|
18
|
+
/**
|
|
19
|
+
* 「2张1.2米单人床」 / 「两张单人床」 - the count before 张, then the word. The gap
|
|
20
|
+
* may not cross another 张, so "1张1.8米大床 + 2张1.2米单人床" counts the two
|
|
21
|
+
* beside the king, not one run from the first 张 to the last bed.
|
|
22
|
+
*/
|
|
23
|
+
const SINGLES_ZH = /(\d+|两|二)\s*张[^张]*?单人床/g;
|
|
24
|
+
const singlesIn = (text) => [...text.matchAll(SINGLES)].reduce((n, m) => n + Number(m[1]), 0) +
|
|
25
|
+
[...text.matchAll(SINGLES_ZH)].reduce((n, m) => n + (Number(m[1]) || 2), 0);
|
|
26
|
+
/**
|
|
27
|
+
* The beds in a text. A "1 king or 2 twins" room is sold either way, so the
|
|
28
|
+
* alternatives (split on "or" and "/") are read one by one and a room matches
|
|
29
|
+
* every kind any of them has. Within one alternative the beds are all there at
|
|
30
|
+
* once - "1 king and 2 singles" is a king room with two singles beside it, not
|
|
31
|
+
* a twin - so singles make twin beds only where there is no large bed with them.
|
|
32
|
+
*/
|
|
33
|
+
const bedsInText = (text) => {
|
|
34
|
+
let king = false;
|
|
35
|
+
let twin = false;
|
|
36
|
+
for (const part of text.split(/\bor\b|\/|或/i)) {
|
|
37
|
+
const large = LARGE.test(part);
|
|
38
|
+
if (large)
|
|
39
|
+
king = true;
|
|
40
|
+
if (TWIN.test(part) || (!large && singlesIn(part) >= 2))
|
|
41
|
+
twin = true;
|
|
42
|
+
}
|
|
43
|
+
return { king, twin };
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* The same split, for a room type's NAME: only the words a name says a bed in -
|
|
47
|
+
* 大床 / 双床, "king" / "twin" - and none of the looser ones (a "queen", a
|
|
48
|
+
* "double", singles) that a `beds` line reads. In Chinese hotel naming 大床房 /
|
|
49
|
+
* 双床房 is the trade convention, so it is trustworthy; a name without them
|
|
50
|
+
* (家庭房, 榻榻米房, 备用房) says no bed and stays neither.
|
|
51
|
+
*/
|
|
52
|
+
const bedsInName = (text) => {
|
|
53
|
+
let king = false;
|
|
54
|
+
let twin = false;
|
|
55
|
+
for (const part of text.split(/\bor\b|\/|或/i)) {
|
|
56
|
+
if (/\bking\b|大床/i.test(part))
|
|
57
|
+
king = true;
|
|
58
|
+
if (TWIN.test(part))
|
|
59
|
+
twin = true;
|
|
60
|
+
}
|
|
61
|
+
return { king, twin };
|
|
62
|
+
};
|
|
63
|
+
/** The beds in a room's codes: a king, a twin, or two singles that are not beside a king. */
|
|
64
|
+
const bedsInCodes = (types) => {
|
|
65
|
+
const king = types.some((b) => b.kind === 'king');
|
|
66
|
+
const singles = types.filter((b) => b.kind === 'single').length;
|
|
67
|
+
return { king, twin: types.some((b) => b.kind === 'twin') || (!king && singles >= 2) };
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Which beds a room has: from `bedTypes` where they say a king or a twin,
|
|
71
|
+
* otherwise from what `beds` says in words ("1 king", "1 king or 2 twins",
|
|
72
|
+
* "2 twins or 1 king", "1 queen", "1 king and 2 singles", 大床 / 双床,
|
|
73
|
+
* 「2张1.2米单人床」), and last from the room type's NAME where neither says a
|
|
74
|
+
* bed: Huazhu's test environment sends no `bedTypes` and no `beds`, but a type
|
|
75
|
+
* called 「豪华大床房」 is a king room (2026-10-23). The order is the order of trust.
|
|
76
|
+
*/
|
|
77
|
+
export const bedKindsOf = (room) => {
|
|
78
|
+
const coded = room.bedTypes?.length ? bedsInCodes(room.bedTypes) : undefined;
|
|
79
|
+
if (coded && (coded.king || coded.twin))
|
|
80
|
+
return coded;
|
|
81
|
+
const worded = room.beds ? bedsInText(room.beds) : undefined;
|
|
82
|
+
if (worded && (worded.king || worded.twin))
|
|
83
|
+
return worded;
|
|
84
|
+
// The type's name, else the room's own - a rate's suffix ("· 门市价含早") is not the type's.
|
|
85
|
+
const names = room.roomType
|
|
86
|
+
? [room.roomType.name, room.roomType.names?.zh]
|
|
87
|
+
: [room.name, room.names?.zh];
|
|
88
|
+
let king = false;
|
|
89
|
+
let twin = false;
|
|
90
|
+
for (const name of names) {
|
|
91
|
+
if (!name)
|
|
92
|
+
continue;
|
|
93
|
+
const named = bedsInName(name);
|
|
94
|
+
king ||= named.king;
|
|
95
|
+
twin ||= named.twin;
|
|
96
|
+
}
|
|
97
|
+
return { king, twin };
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Whether the room's rate includes breakfast. The meal, where a backend gives
|
|
101
|
+
* one, is what the rate includes (`MealPlan`); then its labels; then the plain
|
|
102
|
+
* flag. Room only is no.
|
|
103
|
+
*/
|
|
104
|
+
export const breakfastOf = (room) => {
|
|
105
|
+
if (room.meal)
|
|
106
|
+
return room.meal.plan !== 'none';
|
|
107
|
+
const labels = room.labels ?? [];
|
|
108
|
+
if (labels.some((l) => l.startsWith('breakfast')))
|
|
109
|
+
return true;
|
|
110
|
+
if (labels.includes('room-only'))
|
|
111
|
+
return false;
|
|
112
|
+
return !!room.breakfast;
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Whether the rate can be cancelled for nothing NOW: refundable, with a free
|
|
116
|
+
* window that has not closed. Where the window has closed, `refundable` stays
|
|
117
|
+
* true and `freeCancellationUntil` is gone - "refundable" alone is a rate that
|
|
118
|
+
* once had a free window (the demo's own search and Huazhu's read it the same
|
|
119
|
+
* way). A room by the hour has no cancellation terms to speak of.
|
|
120
|
+
*/
|
|
121
|
+
export const freeCancellationOf = (room) => !room.hourly && room.refundable && !!room.freeCancellationUntil;
|
|
122
|
+
/** Everything a card needs to know about one room to filter it. */
|
|
123
|
+
export const facetsOf = (room) => {
|
|
124
|
+
const beds = bedKindsOf(room);
|
|
125
|
+
return {
|
|
126
|
+
breakfast: breakfastOf(room),
|
|
127
|
+
king: beds.king,
|
|
128
|
+
twin: beds.twin,
|
|
129
|
+
freeCancellation: freeCancellationOf(room),
|
|
130
|
+
};
|
|
131
|
+
};
|
|
132
|
+
/** The terms a call asked for, or undefined when it asked for none. Only `true` narrows. */
|
|
133
|
+
export const roomTermsOf = (args) => {
|
|
134
|
+
const terms = {
|
|
135
|
+
...(args.bed === 'king' || args.bed === 'twin' ? { bed: args.bed } : {}),
|
|
136
|
+
...(args.breakfast === true ? { breakfast: true } : {}),
|
|
137
|
+
...(args.freeCancellation === true ? { freeCancellation: true } : {}),
|
|
138
|
+
};
|
|
139
|
+
return Object.keys(terms).length ? terms : undefined;
|
|
140
|
+
};
|
|
141
|
+
/** The terms as the chip keys they switch on - the order a chip row shows them. */
|
|
142
|
+
export const activeKeysOf = (terms) => ROOM_FILTER_KEYS.filter((k) => k === 'king' || k === 'twin'
|
|
143
|
+
? terms?.bed === k
|
|
144
|
+
: !!terms?.[k]);
|
|
145
|
+
/** Whether a room has everything the terms ask for. */
|
|
146
|
+
export const matchesTerms = (room, terms) => {
|
|
147
|
+
if (!terms)
|
|
148
|
+
return true;
|
|
149
|
+
const f = facetsOf(room);
|
|
150
|
+
return ((!terms.bed || f[terms.bed]) &&
|
|
151
|
+
(!terms.breakfast || f.breakfast) &&
|
|
152
|
+
(!terms.freeCancellation || f.freeCancellation));
|
|
153
|
+
};
|
|
154
|
+
/**
|
|
155
|
+
* The chips a hotel's rooms offer: only a kind at least one room has, each with
|
|
156
|
+
* how many rooms (rates) it keeps on its own, in the order a chip row shows
|
|
157
|
+
* them.
|
|
158
|
+
*/
|
|
159
|
+
export const optionsOf = (rooms) => {
|
|
160
|
+
const all = rooms.map(facetsOf);
|
|
161
|
+
return ROOM_FILTER_KEYS.map((key) => ({ key, count: all.filter((f) => f[key]).length })).filter((o) => o.count > 0);
|
|
162
|
+
};
|
|
163
|
+
/** The terms in words, for a sentence: "king bed, breakfast included, free cancellation". */
|
|
164
|
+
export const termWords = (terms) => [
|
|
165
|
+
terms.bed === 'king' ? 'king bed' : terms.bed === 'twin' ? 'twin beds' : '',
|
|
166
|
+
terms.breakfast ? 'breakfast included' : '',
|
|
167
|
+
terms.freeCancellation ? 'free cancellation' : '',
|
|
168
|
+
]
|
|
169
|
+
.filter(Boolean)
|
|
170
|
+
.join(', ');
|
|
171
|
+
/** One chip in words, for a sentence. */
|
|
172
|
+
export const keyWords = (key) => termWords(key === 'king' ? { bed: 'king' } : key === 'twin' ? { bed: 'twin' } : { [key]: true });
|
|
173
|
+
/**
|
|
174
|
+
* A hotel's rooms by room type, in the order the types first appear: a group
|
|
175
|
+
* that sells several rates on one type (Huazhu's 房型 × 房价码) shares a
|
|
176
|
+
* `roomType`; one whose every room is its own type (Shangri-La's) does not,
|
|
177
|
+
* and each is a type of its own.
|
|
178
|
+
*/
|
|
179
|
+
export const byRoomType = (rooms) => {
|
|
180
|
+
const types = new Map();
|
|
181
|
+
for (const r of rooms) {
|
|
182
|
+
const id = r.roomType?.id ?? r.id;
|
|
183
|
+
const type = types.get(id);
|
|
184
|
+
if (type)
|
|
185
|
+
type.rooms.push(r);
|
|
186
|
+
else
|
|
187
|
+
types.set(id, { id, name: r.roomType?.name ?? r.name, rooms: [r] });
|
|
188
|
+
}
|
|
189
|
+
return [...types.values()];
|
|
190
|
+
};
|
|
191
|
+
//# sourceMappingURL=room-filters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"room-filters.js","sourceRoot":"","sources":["../src/room-filters.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ export declare const INITIALIZE_PER_MINUTE = 300;
|
|
|
28
28
|
* number. Found by reading the boot banner of a container that had just been
|
|
29
29
|
* deployed (2026-09-22): seventeen tools listed, and "0.7.0" above them.
|
|
30
30
|
*/
|
|
31
|
-
export declare const VERSION = "0.
|
|
31
|
+
export declare const VERSION = "0.46.0";
|
|
32
32
|
/**
|
|
33
33
|
* The card's resource URI.
|
|
34
34
|
*
|
|
@@ -37,7 +37,7 @@ export declare const VERSION = "0.45.1";
|
|
|
37
37
|
* connector went storefront-v35 → v40 in a single day of UI work for exactly
|
|
38
38
|
* this reason.
|
|
39
39
|
*/
|
|
40
|
-
export declare const CARD_URI = "ui://curless/hotel/booking-
|
|
40
|
+
export declare const CARD_URI = "ui://curless/hotel/booking-v87.html";
|
|
41
41
|
/**
|
|
42
42
|
* The URI one deployment names its card by: `CARD_URI` with a short hash of
|
|
43
43
|
* everything a host caches under it - the card itself, and the hosts it may
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAYA,OAAO,EAAgB,IAAI,EAAE,MAAM,MAAM,CAAC;AAK1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,QAAQ,EAQd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAW,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -18,7 +18,7 @@ import { buildInstructions, listTools, tripToolNames } from './surface.js';
|
|
|
18
18
|
import { buildOutputSchemas, buildTools, handleTool, oneHotelListing, outputSchemasFor, tripGone, withheldTools, } from './tools.js';
|
|
19
19
|
import { TripIds } from './trip-ids.js';
|
|
20
20
|
import { TripStore, tripKey } from './trip.js';
|
|
21
|
-
import { resolveBrand } from './vocab.js';
|
|
21
|
+
import { checkDemoData, resolveBrand } from './vocab.js';
|
|
22
22
|
// The connector itself: one config in, one HTTP app out.
|
|
23
23
|
//
|
|
24
24
|
// Everything interesting is elsewhere - the rooms in a HotelBackend, the
|
|
@@ -47,7 +47,7 @@ export const INITIALIZE_PER_MINUTE = 300;
|
|
|
47
47
|
* number. Found by reading the boot banner of a container that had just been
|
|
48
48
|
* deployed (2026-09-22): seventeen tools listed, and "0.7.0" above them.
|
|
49
49
|
*/
|
|
50
|
-
export const VERSION = '0.
|
|
50
|
+
export const VERSION = '0.46.0';
|
|
51
51
|
/**
|
|
52
52
|
* The card's resource URI.
|
|
53
53
|
*
|
|
@@ -56,7 +56,7 @@ export const VERSION = '0.45.1';
|
|
|
56
56
|
* connector went storefront-v35 → v40 in a single day of UI work for exactly
|
|
57
57
|
* this reason.
|
|
58
58
|
*/
|
|
59
|
-
export const CARD_URI = 'ui://curless/hotel/booking-
|
|
59
|
+
export const CARD_URI = 'ui://curless/hotel/booking-v87.html';
|
|
60
60
|
/** The card as it ships, hashed once - what a host caches under the URI. */
|
|
61
61
|
const CARD_HTML_SHA = createHash('sha256').update(HOTEL_CARD_HTML).digest('hex');
|
|
62
62
|
/**
|
|
@@ -766,6 +766,10 @@ export const clientIp = (header) => {
|
|
|
766
766
|
/** Read a brand's config from disk. The path is the one `data.file` resolves against. */
|
|
767
767
|
export const loadConfig = (path) => {
|
|
768
768
|
const configPath = resolve(path);
|
|
769
|
-
|
|
769
|
+
const config = JSON.parse(readFileSync(configPath, 'utf8'));
|
|
770
|
+
// The demonstration's own switches (`data.invented`, `data.capabilities`)
|
|
771
|
+
// are refused here, at start, not found out by a tool that is missing.
|
|
772
|
+
checkDemoData(config.data);
|
|
773
|
+
return { config, configPath };
|
|
770
774
|
};
|
|
771
775
|
//# sourceMappingURL=server.js.map
|