@curless/hotel-storefront 0.27.5 → 0.27.7
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/README.md +18 -8
- package/dist/fence.d.ts +12 -1
- package/dist/fence.d.ts.map +1 -1
- package/dist/fence.js +0 -0
- package/dist/fence.js.map +1 -1
- package/dist/huazhu/backend.d.ts +9 -0
- package/dist/huazhu/backend.d.ts.map +1 -1
- package/dist/huazhu/backend.js +18 -2
- package/dist/huazhu/backend.js.map +1 -1
- package/dist/huazhu/cancel-policy.d.ts.map +1 -1
- package/dist/huazhu/cancel-policy.js +3 -1
- package/dist/huazhu/cancel-policy.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/legal.js +1 -1
- package/dist/legal.js.map +1 -1
- package/dist/money.d.ts +2 -0
- package/dist/money.d.ts.map +1 -1
- package/dist/money.js +43 -6
- package/dist/money.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +9 -1
- package/dist/server.js.map +1 -1
- package/dist/sessions.d.ts.map +1 -1
- package/dist/sessions.js +3 -2
- package/dist/sessions.js.map +1 -1
- package/dist/surface.d.ts +2 -0
- package/dist/surface.d.ts.map +1 -1
- package/dist/surface.js +10 -1
- package/dist/surface.js.map +1 -1
- package/dist/tools.d.ts +4 -4
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +21 -8
- package/dist/tools.js.map +1 -1
- package/dist/trip-ids.js +1 -1
- package/dist/trip-ids.js.map +1 -1
- package/package.json +10 -11
- package/dist/__tests__/__fixtures__/huazhu-fake.d.ts +0 -2
- package/dist/__tests__/__fixtures__/huazhu-fake.d.ts.map +0 -1
- package/dist/__tests__/__fixtures__/huazhu-fake.js +0 -3
- package/dist/__tests__/__fixtures__/huazhu-fake.js.map +0 -1
- package/dist/__tests__/__helpers__/sessions.d.ts +0 -10
- package/dist/__tests__/__helpers__/sessions.d.ts.map +0 -1
- package/dist/__tests__/__helpers__/sessions.js +0 -40
- package/dist/__tests__/__helpers__/sessions.js.map +0 -1
- package/dist/__tests__/audit-p0.test.d.ts +0 -2
- package/dist/__tests__/audit-p0.test.d.ts.map +0 -1
- package/dist/__tests__/audit-p0.test.js +0 -274
- package/dist/__tests__/audit-p0.test.js.map +0 -1
- package/dist/__tests__/audit-p2.test.d.ts +0 -2
- package/dist/__tests__/audit-p2.test.d.ts.map +0 -1
- package/dist/__tests__/audit-p2.test.js +0 -98
- package/dist/__tests__/audit-p2.test.js.map +0 -1
- package/dist/__tests__/card-contract.test.d.ts +0 -2
- package/dist/__tests__/card-contract.test.d.ts.map +0 -1
- package/dist/__tests__/card-contract.test.js +0 -282
- package/dist/__tests__/card-contract.test.js.map +0 -1
- package/dist/__tests__/data.test.d.ts +0 -2
- package/dist/__tests__/data.test.d.ts.map +0 -1
- package/dist/__tests__/data.test.js +0 -210
- package/dist/__tests__/data.test.js.map +0 -1
- package/dist/__tests__/dates.test.d.ts +0 -2
- package/dist/__tests__/dates.test.d.ts.map +0 -1
- package/dist/__tests__/dates.test.js +0 -107
- package/dist/__tests__/dates.test.js.map +0 -1
- package/dist/__tests__/demo-hotels.test.d.ts +0 -2
- package/dist/__tests__/demo-hotels.test.d.ts.map +0 -1
- package/dist/__tests__/demo-hotels.test.js +0 -765
- package/dist/__tests__/demo-hotels.test.js.map +0 -1
- package/dist/__tests__/huazhu-audit.test.d.ts +0 -2
- package/dist/__tests__/huazhu-audit.test.d.ts.map +0 -1
- package/dist/__tests__/huazhu-audit.test.js +0 -234
- package/dist/__tests__/huazhu-audit.test.js.map +0 -1
- package/dist/__tests__/huazhu-backend.test.d.ts +0 -2
- package/dist/__tests__/huazhu-backend.test.d.ts.map +0 -1
- package/dist/__tests__/huazhu-backend.test.js +0 -1326
- package/dist/__tests__/huazhu-backend.test.js.map +0 -1
- package/dist/__tests__/huazhu-cancel-policy.test.d.ts +0 -2
- package/dist/__tests__/huazhu-cancel-policy.test.d.ts.map +0 -1
- package/dist/__tests__/huazhu-cancel-policy.test.js +0 -82
- package/dist/__tests__/huazhu-cancel-policy.test.js.map +0 -1
- package/dist/__tests__/huazhu-sandbox.test.d.ts +0 -2
- package/dist/__tests__/huazhu-sandbox.test.d.ts.map +0 -1
- package/dist/__tests__/huazhu-sandbox.test.js +0 -195
- package/dist/__tests__/huazhu-sandbox.test.js.map +0 -1
- package/dist/__tests__/huazhu-sellable.test.d.ts +0 -2
- package/dist/__tests__/huazhu-sellable.test.d.ts.map +0 -1
- package/dist/__tests__/huazhu-sellable.test.js +0 -192
- package/dist/__tests__/huazhu-sellable.test.js.map +0 -1
- package/dist/__tests__/present.test.d.ts +0 -2
- package/dist/__tests__/present.test.d.ts.map +0 -1
- package/dist/__tests__/present.test.js +0 -367
- package/dist/__tests__/present.test.js.map +0 -1
- package/dist/__tests__/prose.test.d.ts +0 -2
- package/dist/__tests__/prose.test.d.ts.map +0 -1
- package/dist/__tests__/prose.test.js +0 -171
- package/dist/__tests__/prose.test.js.map +0 -1
- package/dist/__tests__/server.test.d.ts +0 -2
- package/dist/__tests__/server.test.d.ts.map +0 -1
- package/dist/__tests__/server.test.js +0 -557
- package/dist/__tests__/server.test.js.map +0 -1
- package/dist/__tests__/state.test.d.ts +0 -2
- package/dist/__tests__/state.test.d.ts.map +0 -1
- package/dist/__tests__/state.test.js +0 -204
- package/dist/__tests__/state.test.js.map +0 -1
- package/dist/__tests__/tool-descriptions.test.d.ts +0 -2
- package/dist/__tests__/tool-descriptions.test.d.ts.map +0 -1
- package/dist/__tests__/tool-descriptions.test.js +0 -220
- package/dist/__tests__/tool-descriptions.test.js.map +0 -1
- package/dist/__tests__/tools.test.d.ts +0 -2
- package/dist/__tests__/tools.test.d.ts.map +0 -1
- package/dist/__tests__/tools.test.js +0 -1598
- package/dist/__tests__/tools.test.js.map +0 -1
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
// Every sentence this connector hands the model, held to one rule.
|
|
2
|
-
//
|
|
3
|
-
// ⚠️ THE MODEL'S ANSWER IS NOT ALWAYS A CARD. The same `text` is drawn beside
|
|
4
|
-
// a card in one host, read out by a voice assistant in another, and printed
|
|
5
|
-
// into a terminal in a third. "Tap one to see rooms" is an instruction a guest
|
|
6
|
-
// with no card cannot follow, and "the 20 below" names a position that does not
|
|
7
|
-
// exist in speech. Both shipped (2026-09-21) - `list_hotels` ended every
|
|
8
|
-
// unnarrowed answer with one or the other.
|
|
9
|
-
//
|
|
10
|
-
// ⚠️ AND A CARD REFLOWS. Even where there IS a card, it is four columns on a
|
|
11
|
-
// laptop and one on a phone, and it re-sorts when the guest changes the order:
|
|
12
|
-
// "the second one" is a different hotel by the time the guest reads the
|
|
13
|
-
// sentence. commerce-agents states this as a rule for the same reason, and
|
|
14
|
-
// every price-bearing sentence here names the hotel or the date instead.
|
|
15
|
-
//
|
|
16
|
-
// The card's OWN copy is exempt and is not read here: a button inside the card
|
|
17
|
-
// may say "Tap" because tapping it is what the card is for.
|
|
18
|
-
import { fileURLToPath } from 'node:url';
|
|
19
|
-
import { describe, expect, it } from 'vitest';
|
|
20
|
-
import { loadHotelData } from '../data.js';
|
|
21
|
-
import { createDemoHotels } from '../demo-hotels.js';
|
|
22
|
-
import { MemberStore } from '../members.js';
|
|
23
|
-
import { handleTool } from '../tools.js';
|
|
24
|
-
import { TripStore } from '../trip.js';
|
|
25
|
-
import { resolveBrand } from '../vocab.js';
|
|
26
|
-
const DATA = loadHotelData(fileURLToPath(new URL('./__fixtures__/brand.json', import.meta.url)));
|
|
27
|
-
const CONFIG = {
|
|
28
|
-
id: 'shangrila',
|
|
29
|
-
brand: 'Shangri-La',
|
|
30
|
-
server: { name: 'shangrila-hotels', title: 'Shangri-La Hotels (demo)' },
|
|
31
|
-
naming: { prefix: 'shangrila', noun: 'hotel', nounPlural: 'hotels' },
|
|
32
|
-
data: { source: 'demo', file: 'data/hotels.json' },
|
|
33
|
-
payment: { mode: 'none' },
|
|
34
|
-
urls: { appUrl: 'https://hotels.curless.ai/shangrila' },
|
|
35
|
-
legal: {},
|
|
36
|
-
};
|
|
37
|
-
const brand = resolveBrand(CONFIG);
|
|
38
|
-
const t = brand.tools;
|
|
39
|
-
const STAY = { checkIn: '2026-10-19', checkOut: '2026-10-21', guests: 2 };
|
|
40
|
-
const clock = Date.parse('2026-10-01T02:00:00Z');
|
|
41
|
-
/** A device the guest may not have, or an instruction they cannot follow. */
|
|
42
|
-
const DEVICE = /\b(tap|tapping|click|clicking|swipe|scroll|hover|press the button)\b/i;
|
|
43
|
-
/**
|
|
44
|
-
* A position that is only a position in one layout, at one width, in one order.
|
|
45
|
-
*
|
|
46
|
-
* ⚠️ "ABOVE" AND "BELOW" CANNOT BE BANNED OUTRIGHT. Island Shangri-La is "the
|
|
47
|
-
* group's Hong Kong flagship above Pacific Place" - the hotel's own words about
|
|
48
|
-
* where the building is, which travel through this connector as the merchant
|
|
49
|
-
* wrote them. A blunt /above|below/ fails on the description of a hotel that
|
|
50
|
-
* sits over a shopping centre (tried, 2026-09-22). So what is matched is the
|
|
51
|
-
* DEIXIS - a position handed to the reader as a way to identify something -
|
|
52
|
-
* rather than the two words.
|
|
53
|
-
*/
|
|
54
|
-
const POSITION = new RegExp([
|
|
55
|
-
// "the 20 below", "the ones above", "see below", "those listed above"
|
|
56
|
-
/\b(?:see|shown|listed|those|these|the ones?|the \d+)\s+(?:above|below)\b/.source,
|
|
57
|
-
// "…and 3 more below." - a sentence that ends by pointing at a layout
|
|
58
|
-
/\b(?:above|below)\s*[.,;]/.source,
|
|
59
|
-
/\bon the (?:left|right)\b/.source,
|
|
60
|
-
/\b(?:top|bottom) of the list\b/.source,
|
|
61
|
-
// "the second one", "the last column"
|
|
62
|
-
/\bthe (?:first|second|third|fourth|fifth|last) (?:one|item|card|column|option|hotel|room|result|entry)\b/
|
|
63
|
-
.source,
|
|
64
|
-
].join('|'), 'i');
|
|
65
|
-
const run = async () => {
|
|
66
|
-
const deps = {
|
|
67
|
-
backend: createDemoHotels({ data: DATA, now: () => clock, rng: () => 0.5 }),
|
|
68
|
-
trips: new TripStore(() => clock),
|
|
69
|
-
members: new MemberStore(() => clock),
|
|
70
|
-
tools: t,
|
|
71
|
-
vocab: brand.vocab,
|
|
72
|
-
};
|
|
73
|
-
const ctx = { session: 'prose' };
|
|
74
|
-
const out = [];
|
|
75
|
-
const call = async (name, args = {}) => {
|
|
76
|
-
const res = await handleTool(deps, name, args, ctx);
|
|
77
|
-
out.push({ name, args, text: res.text });
|
|
78
|
-
return res;
|
|
79
|
-
};
|
|
80
|
-
// Every shape an answer comes in, including the ones that only appear when
|
|
81
|
-
// something is refused - those are the sentences a guest reads most closely.
|
|
82
|
-
await call(t.listHotels, {});
|
|
83
|
-
await call(t.listHotels, { city: 'Hong Kong' });
|
|
84
|
-
await call(t.listHotels, { limit: 2 });
|
|
85
|
-
await call(t.listHotels, { sort: 'price-low' });
|
|
86
|
-
await call(t.listHotels, { city: 'Hong Kong', sort: 'price-low' });
|
|
87
|
-
await call(t.listHotels, { city: 'Hong Kong', maxNightly: 3000 });
|
|
88
|
-
await call(t.listHotels, { city: 'Hong Kong', maxNightly: 500 });
|
|
89
|
-
await call(t.listHotels, { city: 'Tokyo' });
|
|
90
|
-
await call(t.listHotels, { city: 'Hong Kong', query: 'rooftop helipad' });
|
|
91
|
-
await call(t.listHotels, { query: 'reykjavik' });
|
|
92
|
-
await call(t.getHotel, { hotel: 'hong-kong-island' });
|
|
93
|
-
await call(t.getHotel, { hotel: 'hong-kong-island', ...STAY });
|
|
94
|
-
await call(t.getHotel, { hotel: 'hong-kong-island', ...STAY, rooms: 2 });
|
|
95
|
-
await call(t.getHotel, { hotel: 'hong-kong-island', ...STAY, guests: 6 });
|
|
96
|
-
await call(t.getHotel, {
|
|
97
|
-
hotel: 'hong-kong-island',
|
|
98
|
-
checkIn: '2026-10-23',
|
|
99
|
-
checkOut: '2026-10-25',
|
|
100
|
-
});
|
|
101
|
-
await call(t.getHotel, { hotel: 'atlantis' });
|
|
102
|
-
await call(t.listExtras, { hotel: 'hong-kong-island', ...STAY });
|
|
103
|
-
await call(t.compare, {
|
|
104
|
-
hotels: ['hong-kong-island', 'hong-kong-kerry'],
|
|
105
|
-
...STAY,
|
|
106
|
-
});
|
|
107
|
-
await call(t.viewTrip, {});
|
|
108
|
-
await call(t.requestBooking, {});
|
|
109
|
-
await call(t.addToTrip, { hotel: 'hong-kong-island', room: 'deluxe-harbour' });
|
|
110
|
-
await call(t.addToTrip, { hotel: 'hong-kong-island', room: 'deluxe-harbour', ...STAY, rooms: 2 });
|
|
111
|
-
await call(t.addToTrip, { hotel: 'hong-kong-island', extra: 'airport-transfer' });
|
|
112
|
-
await call(t.viewTrip, {});
|
|
113
|
-
await call(t.itinerary, { days: [{ hotel: 'hong-kong-island', note: 'Arrive' }], ...STAY });
|
|
114
|
-
const booked = await call(t.requestBooking, {
|
|
115
|
-
name: 'Robin Ruan',
|
|
116
|
-
email: 'robin@example.com',
|
|
117
|
-
requests: ['king-bed', 'twin-beds', 'accessible-room', 'early-check-in'],
|
|
118
|
-
arrivingAt: '23:40',
|
|
119
|
-
notes: 'Travelling with a cello.',
|
|
120
|
-
});
|
|
121
|
-
const code = booked.structured.booking.confirmationCode;
|
|
122
|
-
await call(t.listBookings, {});
|
|
123
|
-
await call(t.previewChange, { booking: code, checkIn: '2026-10-26', checkOut: '2026-10-29' });
|
|
124
|
-
await call(t.changeBooking, {
|
|
125
|
-
booking: code,
|
|
126
|
-
checkIn: '2026-10-26',
|
|
127
|
-
checkOut: '2026-10-29',
|
|
128
|
-
confirmed: true,
|
|
129
|
-
});
|
|
130
|
-
await call(t.previewCancellation, { booking: code });
|
|
131
|
-
await call(t.cancelBooking, { booking: code, confirmed: true });
|
|
132
|
-
await call(t.previewCancellation, { booking: 'SL-NOPE00' });
|
|
133
|
-
await call(t.policies, { hotel: 'hong-kong-island' });
|
|
134
|
-
await call(t.policies, { hotel: 'hong-kong-island', topic: 'cancellation' });
|
|
135
|
-
await call(t.signIn, { number: 'SLC-4471-8820', surname: 'Ruan' });
|
|
136
|
-
await call(t.getHotel, { hotel: 'hong-kong-island', ...STAY });
|
|
137
|
-
await call(t.signOut, {});
|
|
138
|
-
await call(t.clearTrip, {});
|
|
139
|
-
return out;
|
|
140
|
-
};
|
|
141
|
-
describe('every sentence the model is handed', () => {
|
|
142
|
-
it('tells nobody to tap, click or swipe anything', async () => {
|
|
143
|
-
for (const { name, args, text } of await run()) {
|
|
144
|
-
expect(text.match(DEVICE)?.[0], `${name} ${JSON.stringify(args)}: ${text}`).toBeUndefined();
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
it('names no position in a layout that has not been drawn yet', async () => {
|
|
148
|
-
for (const { name, args, text } of await run()) {
|
|
149
|
-
expect(text.match(POSITION)?.[0], `${name} ${JSON.stringify(args)}: ${text}`).toBeUndefined();
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
// A sentence with a price in it is the one a guest acts on, so it says WHICH
|
|
153
|
-
// thing costs that - by name, or by date.
|
|
154
|
-
it('never leaves a price without something named beside it', async () => {
|
|
155
|
-
for (const { name, args, text } of await run()) {
|
|
156
|
-
for (const line of text.split('\n')) {
|
|
157
|
-
if (!/[A-Z]{0,2}[$¥£€]|HK\$|CN¥/.test(line))
|
|
158
|
-
continue;
|
|
159
|
-
expect(/[A-Z][\w'-]+|\d{4}-\d{2}-\d{2}|room|night|stay|total|Total|ceiling/.test(line), `${name} ${JSON.stringify(args)}: ${line}`).toBe(true);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
});
|
|
163
|
-
it('answers something for every one of them', async () => {
|
|
164
|
-
const answers = await run();
|
|
165
|
-
expect(answers.length).toBeGreaterThan(30);
|
|
166
|
-
for (const { name, args, text } of answers) {
|
|
167
|
-
expect(text.trim(), `${name} ${JSON.stringify(args)} answered with nothing`).not.toBe('');
|
|
168
|
-
}
|
|
169
|
-
});
|
|
170
|
-
});
|
|
171
|
-
//# sourceMappingURL=prose.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prose.test.js","sourceRoot":"","sources":["../../src/__tests__/prose.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/server.test.ts"],"names":[],"mappings":""}
|