@curless/hotel-storefront 0.1.0 → 0.2.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/__tests__/card-contract.test.js +13 -0
- package/dist/__tests__/card-contract.test.js.map +1 -1
- package/dist/__tests__/data.test.js +28 -3
- package/dist/__tests__/data.test.js.map +1 -1
- package/dist/__tests__/demo-hotels.test.js +25 -11
- package/dist/__tests__/demo-hotels.test.js.map +1 -1
- package/dist/__tests__/present.test.d.ts +2 -0
- package/dist/__tests__/present.test.d.ts.map +1 -0
- package/dist/__tests__/present.test.js +140 -0
- package/dist/__tests__/present.test.js.map +1 -0
- package/dist/__tests__/server.test.js +63 -4
- package/dist/__tests__/server.test.js.map +1 -1
- package/dist/__tests__/tools.test.js +129 -0
- package/dist/__tests__/tools.test.js.map +1 -1
- package/dist/backend.d.ts +30 -6
- package/dist/backend.d.ts.map +1 -1
- 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 +11 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +7 -0
- package/dist/config.js.map +1 -1
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +88 -13
- package/dist/data.js.map +1 -1
- package/dist/demo-hotels.d.ts +24 -1
- package/dist/demo-hotels.d.ts.map +1 -1
- package/dist/demo-hotels.js +136 -13
- package/dist/demo-hotels.js.map +1 -1
- package/dist/fence.d.ts +9 -3
- package/dist/fence.d.ts.map +1 -1
- package/dist/fence.js +0 -0
- package/dist/fence.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/members.d.ts +14 -0
- package/dist/members.d.ts.map +1 -0
- package/dist/members.js +56 -0
- package/dist/members.js.map +1 -0
- package/dist/present.d.ts +129 -0
- package/dist/present.d.ts.map +1 -0
- package/dist/present.js +188 -0
- package/dist/present.js.map +1 -0
- package/dist/server.d.ts +27 -10
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +27 -7
- package/dist/server.js.map +1 -1
- package/dist/surface.d.ts.map +1 -1
- package/dist/surface.js +27 -2
- package/dist/surface.js.map +1 -1
- package/dist/tools.d.ts +174 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +464 -50
- package/dist/tools.js.map +1 -1
- package/dist/types.d.ts +57 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/vocab.d.ts +1 -1
- package/dist/vocab.d.ts.map +1 -1
- package/dist/vocab.js +1 -1
- package/dist/vocab.js.map +1 -1
- package/package.json +11 -9
package/dist/server.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Hono } from 'hono';
|
|
2
2
|
import type { HotelConfig } from './config.js';
|
|
3
|
+
import { MemberStore } from './members.js';
|
|
3
4
|
import { type ToolDeps } from './tools.js';
|
|
4
5
|
import { TripIds } from './trip-ids.js';
|
|
5
6
|
import { TripStore } from './trip.js';
|
|
6
7
|
import { type ResolvedBrand } from './vocab.js';
|
|
7
8
|
export declare const PROTOCOL_VERSION = "2025-06-18";
|
|
8
|
-
export declare const VERSION = "0.
|
|
9
|
+
export declare const VERSION = "0.2.0";
|
|
9
10
|
/**
|
|
10
11
|
* The card's resource URI.
|
|
11
12
|
*
|
|
@@ -14,7 +15,7 @@ export declare const VERSION = "0.1.0";
|
|
|
14
15
|
* connector went storefront-v35 → v40 in a single day of UI work for exactly
|
|
15
16
|
* this reason.
|
|
16
17
|
*/
|
|
17
|
-
export declare const CARD_URI = "ui://curless/hotel/booking-
|
|
18
|
+
export declare const CARD_URI = "ui://curless/hotel/booking-v12.html";
|
|
18
19
|
/**
|
|
19
20
|
* ⚠️ `text/html;profile=mcp-app`, not `text/html+skybridge`. The MIME is how a
|
|
20
21
|
* host recognises this resource as a card at all; the plausible near-miss made
|
|
@@ -30,10 +31,10 @@ export declare const CARD_MIME = "text/html;profile=mcp-app";
|
|
|
30
31
|
*/
|
|
31
32
|
export declare const UI_META: {
|
|
32
33
|
readonly ui: {
|
|
33
|
-
readonly resourceUri: "ui://curless/hotel/booking-
|
|
34
|
+
readonly resourceUri: "ui://curless/hotel/booking-v12.html";
|
|
34
35
|
};
|
|
35
|
-
readonly 'ui/resourceUri': "ui://curless/hotel/booking-
|
|
36
|
-
readonly 'openai/outputTemplate': "ui://curless/hotel/booking-
|
|
36
|
+
readonly 'ui/resourceUri': "ui://curless/hotel/booking-v12.html";
|
|
37
|
+
readonly 'openai/outputTemplate': "ui://curless/hotel/booking-v12.html";
|
|
37
38
|
readonly 'openai/widgetAccessible': true;
|
|
38
39
|
};
|
|
39
40
|
/**
|
|
@@ -42,22 +43,24 @@ export declare const UI_META: {
|
|
|
42
43
|
* An MCP App runs in a sandboxed iframe and the spec is explicit: resource
|
|
43
44
|
* domains "empty or omitted → no network resources". The shopping connector
|
|
44
45
|
* lost three rounds of "the pictures still aren't showing" to this, having set
|
|
45
|
-
* only ChatGPT's key.
|
|
46
|
-
*
|
|
46
|
+
* only ChatGPT's key. The card draws its own plate when a hotel has no picture,
|
|
47
|
+
* so a missing host here is not an error anywhere - it is ninety-six tiles of
|
|
48
|
+
* coloured initials and no clue why. Derived from the data, hotels and rooms
|
|
49
|
+
* alike, by imageDomainsOf() below.
|
|
47
50
|
*/
|
|
48
51
|
export declare const widgetMeta: (imageDomains: string[]) => {
|
|
49
52
|
ui: {
|
|
50
53
|
csp: {
|
|
51
54
|
resourceDomains: string[];
|
|
52
55
|
};
|
|
53
|
-
resourceUri: "ui://curless/hotel/booking-
|
|
56
|
+
resourceUri: "ui://curless/hotel/booking-v12.html";
|
|
54
57
|
};
|
|
55
58
|
'openai/widgetCSP': {
|
|
56
59
|
connect_domains: never[];
|
|
57
60
|
resource_domains: string[];
|
|
58
61
|
};
|
|
59
|
-
'ui/resourceUri': "ui://curless/hotel/booking-
|
|
60
|
-
'openai/outputTemplate': "ui://curless/hotel/booking-
|
|
62
|
+
'ui/resourceUri': "ui://curless/hotel/booking-v12.html";
|
|
63
|
+
'openai/outputTemplate': "ui://curless/hotel/booking-v12.html";
|
|
61
64
|
'openai/widgetAccessible': true;
|
|
62
65
|
};
|
|
63
66
|
/** The trip snapshot that rides beside every answer, for the card's header. */
|
|
@@ -67,6 +70,7 @@ export type BuiltServer = {
|
|
|
67
70
|
brand: ResolvedBrand;
|
|
68
71
|
deps: ToolDeps;
|
|
69
72
|
trips: TripStore;
|
|
73
|
+
members: MemberStore;
|
|
70
74
|
tripIds: TripIds;
|
|
71
75
|
};
|
|
72
76
|
export type ServerOptions = {
|
|
@@ -77,6 +81,19 @@ export type ServerOptions = {
|
|
|
77
81
|
now?: () => number;
|
|
78
82
|
};
|
|
79
83
|
export declare const buildServer: (opts: ServerOptions) => BuiltServer;
|
|
84
|
+
/**
|
|
85
|
+
* Every origin the card will try to load a picture from.
|
|
86
|
+
*
|
|
87
|
+
* Rooms have photographs too, and a room photograph served from a host the
|
|
88
|
+
* hotel's own is not would be blocked by a CSP built from the hotels alone -
|
|
89
|
+
* one blank thumbnail per room, with nothing in any log to say why.
|
|
90
|
+
*/
|
|
91
|
+
export declare const imageDomainsOf: (hotels: {
|
|
92
|
+
imageUrl?: string;
|
|
93
|
+
rooms: {
|
|
94
|
+
imageUrl?: string;
|
|
95
|
+
}[];
|
|
96
|
+
}[]) => string[];
|
|
80
97
|
/** Read a brand's config from disk. The path is the one `data.file` resolves against. */
|
|
81
98
|
export declare const loadConfig: (path: string) => {
|
|
82
99
|
config: HotelConfig;
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,IAAI,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,IAAI,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,KAAK,QAAQ,EAA8C,MAAM,YAAY,CAAC;AACvF,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAW,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,YAAY,CAAC;AAS9D,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAC7C,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,wCAAwC,CAAC;AAC9D;;;;;GAKG;AACH,eAAO,MAAM,SAAS,8BAA8B,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,OAAO;;;;;;;CAKV,CAAC;AAEX;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,GAAI,cAAc,MAAM,EAAE;;;;;;;;;;;;;;CAI/C,CAAC;AAEH,+EAA+E;AAC/E,eAAO,MAAM,aAAa,iBAAiB,CAAC;AAE5C,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,IAAI,CAAC;IACV,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,MAAM,aAAa,KAAG,WAoOjD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GACzB,QAAQ;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,EAAE,KAC9D,MAAM,EAIR,CAAC;AAWF,yFAAyF;AACzF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAGlF,CAAC"}
|
package/dist/server.js
CHANGED
|
@@ -6,6 +6,7 @@ import { HOTEL_CARD_HTML } from './card.generated.js';
|
|
|
6
6
|
import { loadHotelData } from './data.js';
|
|
7
7
|
import { createDemoHotels } from './demo-hotels.js';
|
|
8
8
|
import { docsPage, privacyPage, termsPage } from './legal.js';
|
|
9
|
+
import { MemberStore } from './members.js';
|
|
9
10
|
import { buildInstructions, listTools, tripToolNames } from './surface.js';
|
|
10
11
|
import { buildOutputSchemas, buildTools, handleTool } from './tools.js';
|
|
11
12
|
import { TripIds } from './trip-ids.js';
|
|
@@ -18,7 +19,7 @@ import { resolveBrand } from './vocab.js';
|
|
|
18
19
|
// that a host actually talks to, and the few protocol facts that were each
|
|
19
20
|
// learned by getting them wrong somewhere else in this repo.
|
|
20
21
|
export const PROTOCOL_VERSION = '2025-06-18';
|
|
21
|
-
export const VERSION = '0.
|
|
22
|
+
export const VERSION = '0.2.0';
|
|
22
23
|
/**
|
|
23
24
|
* The card's resource URI.
|
|
24
25
|
*
|
|
@@ -27,7 +28,7 @@ export const VERSION = '0.1.0';
|
|
|
27
28
|
* connector went storefront-v35 → v40 in a single day of UI work for exactly
|
|
28
29
|
* this reason.
|
|
29
30
|
*/
|
|
30
|
-
export const CARD_URI = 'ui://curless/hotel/booking-
|
|
31
|
+
export const CARD_URI = 'ui://curless/hotel/booking-v12.html';
|
|
31
32
|
/**
|
|
32
33
|
* ⚠️ `text/html;profile=mcp-app`, not `text/html+skybridge`. The MIME is how a
|
|
33
34
|
* host recognises this resource as a card at all; the plausible near-miss made
|
|
@@ -53,8 +54,10 @@ export const UI_META = {
|
|
|
53
54
|
* An MCP App runs in a sandboxed iframe and the spec is explicit: resource
|
|
54
55
|
* domains "empty or omitted → no network resources". The shopping connector
|
|
55
56
|
* lost three rounds of "the pictures still aren't showing" to this, having set
|
|
56
|
-
* only ChatGPT's key.
|
|
57
|
-
*
|
|
57
|
+
* only ChatGPT's key. The card draws its own plate when a hotel has no picture,
|
|
58
|
+
* so a missing host here is not an error anywhere - it is ninety-six tiles of
|
|
59
|
+
* coloured initials and no clue why. Derived from the data, hotels and rooms
|
|
60
|
+
* alike, by imageDomainsOf() below.
|
|
58
61
|
*/
|
|
59
62
|
export const widgetMeta = (imageDomains) => ({
|
|
60
63
|
...UI_META,
|
|
@@ -74,13 +77,19 @@ export const buildServer = (opts) => {
|
|
|
74
77
|
throw new Error(`hotel-storefront ${VERSION} only implements data.source "demo"; the group's own API is the next step`);
|
|
75
78
|
}
|
|
76
79
|
const data = loadHotelData(config.data.file ?? 'data/hotels.json', opts.configPath);
|
|
77
|
-
const backend = createDemoHotels({
|
|
80
|
+
const backend = createDemoHotels({
|
|
81
|
+
data,
|
|
82
|
+
now,
|
|
83
|
+
...(config.data.holdMinutes ? { holdMs: config.data.holdMinutes * 60_000 } : {}),
|
|
84
|
+
});
|
|
78
85
|
const trips = new TripStore(now);
|
|
86
|
+
const members = new MemberStore(now);
|
|
79
87
|
const tripIds = new TripIds(now);
|
|
80
88
|
const publicUrl = (opts.publicUrl ?? config.urls.publicUrl ?? config.urls.appUrl).replace(/\/$/, '');
|
|
81
89
|
const deps = {
|
|
82
90
|
backend,
|
|
83
91
|
trips,
|
|
92
|
+
members,
|
|
84
93
|
tools: brand.tools,
|
|
85
94
|
vocab: brand.vocab,
|
|
86
95
|
websiteUrl: config.server.websiteUrl,
|
|
@@ -93,7 +102,7 @@ export const buildServer = (opts) => {
|
|
|
93
102
|
// booking card over "can I bring a dog" puts a storefront in front of someone
|
|
94
103
|
// who asked a question.
|
|
95
104
|
const CARDLESS = new Set([brand.tools.policies]);
|
|
96
|
-
const imageDomains =
|
|
105
|
+
const imageDomains = imageDomainsOf(data.hotels);
|
|
97
106
|
const META = widgetMeta(imageDomains);
|
|
98
107
|
const app = new Hono();
|
|
99
108
|
const file = (name) => {
|
|
@@ -144,6 +153,7 @@ export const buildServer = (opts) => {
|
|
|
144
153
|
hotels: data.hotels.length,
|
|
145
154
|
demo: brand.vocab.demo,
|
|
146
155
|
trips: trips.size,
|
|
156
|
+
signedIn: members.size,
|
|
147
157
|
}));
|
|
148
158
|
app.get('/', (c) => c.redirect('./docs', 302));
|
|
149
159
|
app.get('/mcp', (c) => c.json({ name: config.server.name, transport: 'streamable-http', version: VERSION }));
|
|
@@ -255,8 +265,18 @@ export const buildServer = (opts) => {
|
|
|
255
265
|
}
|
|
256
266
|
return fail(c, id, -32601, `unknown method: ${method}`);
|
|
257
267
|
});
|
|
258
|
-
return { app, brand, deps, trips, tripIds };
|
|
268
|
+
return { app, brand, deps, trips, members, tripIds };
|
|
259
269
|
};
|
|
270
|
+
/**
|
|
271
|
+
* Every origin the card will try to load a picture from.
|
|
272
|
+
*
|
|
273
|
+
* Rooms have photographs too, and a room photograph served from a host the
|
|
274
|
+
* hotel's own is not would be blocked by a CSP built from the hotels alone -
|
|
275
|
+
* one blank thumbnail per room, with nothing in any log to say why.
|
|
276
|
+
*/
|
|
277
|
+
export const imageDomainsOf = (hotels) => [
|
|
278
|
+
...new Set(hotels.flatMap((h) => [...hostOf(h.imageUrl), ...h.rooms.flatMap((r) => hostOf(r.imageUrl))])),
|
|
279
|
+
];
|
|
260
280
|
const hostOf = (url) => {
|
|
261
281
|
if (!url)
|
|
262
282
|
return [];
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/surface.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../src/surface.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAY3D;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,aAAa,KAAG,
|
|
1
|
+
{"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../src/surface.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAY3D;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,aAAa,KAAG,MA0DxD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,EACzE,OAAO,SAAS,CAAC,EAAE,EACnB,eAAe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,SAAS,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClD,YAAW,WAAW,CAAC,MAAM,CAAa;;;;;;;;;;;;;;;KAexC,CAAC;AAEL;;;;;GAKG;AACH,eAAO,MAAM,UAAU;;;CAGb,CAAC;AAEX,6DAA6D;AAC7D,eAAO,MAAM,aAAa,GAAI,OAAO,aAAa,KAAG,WAAW,CAAC,MAAM,CAWnE,CAAC"}
|
package/dist/surface.js
CHANGED
|
@@ -31,14 +31,20 @@ export const buildInstructions = (brand) => {
|
|
|
31
31
|
`⚠️ ${DEMO_NOTE} Say so the first time you quote a price, and never imply a room can actually be occupied.`,
|
|
32
32
|
]
|
|
33
33
|
: []),
|
|
34
|
-
|
|
34
|
+
// ⚠️ "ONCE AND STOP" USED TO BE ABSOLUTE, and it silently outranked the two
|
|
35
|
+
// judgment cards: asked "compare the Hong Kong ones" and "plan me four
|
|
36
|
+
// days", the model listed the hotels and stopped, exactly as told
|
|
37
|
+
// (2026-09-18, both cases). Same shape as the contradiction the shopping
|
|
38
|
+
// connector shipped on 2026-09-17 - one rule written twice, differently.
|
|
39
|
+
// The carve-out is named here rather than hoped for.
|
|
40
|
+
`FIRST TURN: call ${t.listHotels} ONCE and stop - with the guest's own words as \`query\`, or the city as \`city\`, when they have said where they are going, and with nothing when they have not. Do not interview them first, do not recommend, and do not describe the ${v.nounPlural} in prose; they are on the screen. Say at most one short line. THE ONE EXCEPTION: when the guest has asked you to compare, to recommend, or to plan days out, look up what you need and then draw it with ${t.compare} or ${t.itinerary} in the same turn.`,
|
|
35
41
|
// ⚠️ A CITY IS NOT A HOTEL. The single most useful thing in the reference
|
|
36
42
|
// demo, and the easiest to lose: four Hong Kong properties under three
|
|
37
43
|
// brands, and an assistant that "helpfully" picks one has made the guest's
|
|
38
44
|
// choice for them.
|
|
39
45
|
`A city usually has several ${v.nounPlural}. Show all of them and let the guest choose - do not pick one for them, and do not drop the ones you would not have chosen.`,
|
|
40
46
|
// ⚠️ DATES ARE NOT YOURS TO GUESS.
|
|
41
|
-
`A room has no price until the nights are known. When the guest has not said their dates, ask - do not assume tonight, this weekend, or the dates of anything else in the conversation. ${t.getHotel} without dates returns the ${v.noun} and no rooms, which is the
|
|
47
|
+
`A room has no price until the nights are known. When the guest has not said their dates, ask - do not assume tonight, this weekend, or the dates of anything else in the conversation. ${t.getHotel} without dates returns the ${v.noun} and no rooms; the card then fills in tonight and tomorrow so the guest sees rooms straight away, with those dates on screen above them and editable. So ask which nights they mean rather than treating what is on the card as their trip.`,
|
|
42
48
|
`${t.getHotel} with \`checkIn\` and \`checkOut\` gives the room types for those nights: nightly rate, the stay total including taxes and fees, whether it can be cancelled free and until when, and how many are left. Quote the stay total when comparing - a nightly rate hides the weekend and the tax.`,
|
|
43
49
|
`The card keeps a trip: room nights plus add-ons. ${t.addToTrip} and ${t.viewTrip} change and read it from the chat, and ${t.listExtras} shows what a ${v.noun} offers beside the room. To take a line out, set its \`rooms\` or \`quantity\` to 0; ${t.clearTrip} empties all of it, and only when the guest asks. To know what is in the trip, call ${t.viewTrip} rather than repeating it from memory - the guest may have changed it on the card.`,
|
|
44
50
|
...(v.hints.hotel ? [v.hints.hotel] : []),
|
|
@@ -46,9 +52,25 @@ export const buildInstructions = (brand) => {
|
|
|
46
52
|
takesPayment
|
|
47
53
|
? `${t.requestBooking} holds the rooms; payment follows. Do not describe a held booking as paid.`
|
|
48
54
|
: `${t.requestBooking} asks ${v.brand} to hold the rooms for a named guest and returns a confirmation code and the moment the hold lapses. IT TAKES NO MONEY AND COLLECTS NO CARD. Report it as requested and held, never as booked-and-paid, and tell the guest when the hold lapses and that a card is presented at check-in. Never ask for a card number, and never put one into any field - if the guest offers card details, tell them this connector does not take them.`,
|
|
55
|
+
// ⚠️ THE SAME RULE AS THE EMAIL, AND FOR THE SAME REASON. A membership
|
|
56
|
+
// number is the guest's to give; filled in from an account or a profile it
|
|
57
|
+
// would hand somebody else's tier and point balance to whoever is typing.
|
|
58
|
+
`${v.brand} loyalty members get a lower rate. ${t.signIn} takes a membership number and the SURNAME on it - both from the guest, in this conversation, never from an account or a profile you know from elsewhere. There is no password: this connector has nowhere to put one, so if a guest offers one, tell them it is not needed and do not repeat it back. ${t.signOut} ends it. A rate shown as a member rate is always the discount the tier actually carries, and the public rate is shown beside it.`,
|
|
49
59
|
`${t.requestBooking} needs the guest's own name and email. Ask for them - do not use a name or email you know from anywhere else, such as their account or profile, unless they have typed it in this conversation.`,
|
|
50
60
|
// ⚠️ PREVIEW, THEN CANCEL. The tool enforces this; the instruction is why.
|
|
51
61
|
`Before cancelling anything: ${t.previewCancellation} says what it would cost, what comes back, and the rule behind it. Show the guest that and get a yes before calling ${t.cancelBooking} with \`confirmed\` - it returns the preview and cancels nothing without it. A guest who says "cancel it" has not yet seen the fee.`,
|
|
62
|
+
// ⚠️ THE DIVISION OF LABOUR ON THESE TWO, in one line, because getting it
|
|
63
|
+
// wrong in either direction is the failure: a model that writes prices into
|
|
64
|
+
// prose invents them, and a model that puts its reasoning inside the card
|
|
65
|
+
// has nothing left to say.
|
|
66
|
+
`Two cards carry YOUR judgment rather than a tool's answer. ${t.compare} sets two to four ${v.nounPlural} side by side - send the ids, one line on who each suits, and its pros and cons; every price, rating and room name on it is read from the ${v.noun}'s own record, so do not send figures and do not repeat them in prose. ${t.itinerary} lays a plan out day by day the same way. Use them when the guest is choosing between ${v.nounPlural} or planning several days; the text you write beside them carries the reasoning, the card carries the data.`,
|
|
67
|
+
// ⚠️ TWO RULES MET HERE AND THE MODEL HAD TO PICK ONE EACH TIME: "never
|
|
68
|
+
// choose a hotel for the guest" against "draw the plan they asked for". A
|
|
69
|
+
// day-by-day plan needs a base, so asked to plan a city with no hotel
|
|
70
|
+
// chosen, the model listed four and asked on one run and proposed one on
|
|
71
|
+
// the next (2026-09-18). Neither is wrong; flipping between them is.
|
|
72
|
+
`A day-by-day plan needs a ${v.noun} to be based at. When the guest has not chosen one, list them and ask which - that choice is theirs. Once they have, ${t.itinerary} draws the days.`,
|
|
73
|
+
`An itinerary is a PLAN. ${t.itinerary} marks each item with whether it is in the trip, and says how many are; say so too, and do not describe a plan as booked. Putting something in the trip is ${t.addToTrip}, and ${t.requestBooking} is what asks for the rooms.`,
|
|
52
74
|
`Questions about cancellation terms, check-in and check-out, children, pets, deposits or accessibility: call ${t.policies} with that topic and answer from what the ${v.noun} has published. If it does not say, tell the guest that and give the ${v.noun}'s link; do not fill in what hotels usually do.`,
|
|
53
75
|
`Availability is what the ${v.noun} says it has. Report a low room count as a fact if the guest asks; do not turn it into a reason to hurry.`,
|
|
54
76
|
FENCE_RULE,
|
|
@@ -95,5 +117,8 @@ export const tripToolNames = (brand) => new Set([
|
|
|
95
117
|
brand.tools.requestBooking,
|
|
96
118
|
brand.tools.previewCancellation,
|
|
97
119
|
brand.tools.cancelBooking,
|
|
120
|
+
// It reads the trip to mark what is in it, so a call from the card has to
|
|
121
|
+
// be able to name which trip.
|
|
122
|
+
brand.tools.itinerary,
|
|
98
123
|
]);
|
|
99
124
|
//# sourceMappingURL=surface.js.map
|
package/dist/surface.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface.js","sourceRoot":"","sources":["../src/surface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAsB,MAAM,YAAY,CAAC;AAE3D,+EAA+E;AAC/E,yEAAyE;AACzE,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AAC9E,gFAAgF;AAChF,gFAAgF;AAChF,4CAA4C;AAE5C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAoB,EAAU,EAAE;IAChE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC;IACrC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,KAAK,QAAQ,CAAC;IAC7D,OAAO;QACL,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,UAAU,mDAAmD,CAAC,CAAC,UAAU,+GAA+G;QACxM,oBAAoB,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,IAAI,2GAA2G;QACtJ,2EAA2E;QAC3E,GAAG,CAAC,CAAC,CAAC,IAAI;YACR,CAAC,CAAC;gBACE,MAAM,SAAS,4FAA4F;aAC5G;YACH,CAAC,CAAC,EAAE,CAAC;QACP,oBAAoB,CAAC,CAAC,UAAU,4OAA4O,CAAC,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"surface.js","sourceRoot":"","sources":["../src/surface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAsB,MAAM,YAAY,CAAC;AAE3D,+EAA+E;AAC/E,yEAAyE;AACzE,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AAC9E,gFAAgF;AAChF,gFAAgF;AAChF,4CAA4C;AAE5C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAoB,EAAU,EAAE;IAChE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC;IACrC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,KAAK,QAAQ,CAAC;IAC7D,OAAO;QACL,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,UAAU,mDAAmD,CAAC,CAAC,UAAU,+GAA+G;QACxM,oBAAoB,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,IAAI,2GAA2G;QACtJ,2EAA2E;QAC3E,GAAG,CAAC,CAAC,CAAC,IAAI;YACR,CAAC,CAAC;gBACE,MAAM,SAAS,4FAA4F;aAC5G;YACH,CAAC,CAAC,EAAE,CAAC;QACP,4EAA4E;QAC5E,uEAAuE;QACvE,kEAAkE;QAClE,yEAAyE;QACzE,yEAAyE;QACzE,qDAAqD;QACrD,oBAAoB,CAAC,CAAC,UAAU,4OAA4O,CAAC,CAAC,UAAU,6MAA6M,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,SAAS,oBAAoB;QACphB,0EAA0E;QAC1E,uEAAuE;QACvE,2EAA2E;QAC3E,mBAAmB;QACnB,8BAA8B,CAAC,CAAC,UAAU,6HAA6H;QACvK,mCAAmC;QACnC,0LAA0L,CAAC,CAAC,QAAQ,8BAA8B,CAAC,CAAC,IAAI,6OAA6O;QACrd,GAAG,CAAC,CAAC,QAAQ,8RAA8R;QAC3S,oDAAoD,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,QAAQ,0CAA0C,CAAC,CAAC,UAAU,iBAAiB,CAAC,CAAC,IAAI,wFAAwF,CAAC,CAAC,SAAS,uFAAuF,CAAC,CAAC,QAAQ,oFAAoF;QACtb,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,sCAAsC;QACtC,YAAY;YACV,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,4EAA4E;YACjG,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,SAAS,CAAC,CAAC,KAAK,0aAA0a;QACjd,uEAAuE;QACvE,2EAA2E;QAC3E,0EAA0E;QAC1E,GAAG,CAAC,CAAC,KAAK,sCAAsC,CAAC,CAAC,MAAM,0SAA0S,CAAC,CAAC,OAAO,mIAAmI;QAC9e,GAAG,CAAC,CAAC,cAAc,iMAAiM;QACpN,2EAA2E;QAC3E,+BAA+B,CAAC,CAAC,mBAAmB,uHAAuH,CAAC,CAAC,aAAa,qIAAqI;QAC/T,0EAA0E;QAC1E,4EAA4E;QAC5E,0EAA0E;QAC1E,2BAA2B;QAC3B,8DAA8D,CAAC,CAAC,OAAO,qBAAqB,CAAC,CAAC,UAAU,6IAA6I,CAAC,CAAC,IAAI,0EAA0E,CAAC,CAAC,SAAS,yFAAyF,CAAC,CAAC,UAAU,6GAA6G;QACliB,wEAAwE;QACxE,0EAA0E;QAC1E,sEAAsE;QACtE,yEAAyE;QACzE,qEAAqE;QACrE,6BAA6B,CAAC,CAAC,IAAI,wHAAwH,CAAC,CAAC,SAAS,kBAAkB;QACxL,2BAA2B,CAAC,CAAC,SAAS,8JAA8J,CAAC,CAAC,SAAS,SAAS,CAAC,CAAC,cAAc,8BAA8B;QACtQ,+GAA+G,CAAC,CAAC,QAAQ,6CAA6C,CAAC,CAAC,IAAI,wEAAwE,CAAC,CAAC,IAAI,iDAAiD;QAC3S,4BAA4B,CAAC,CAAC,IAAI,2GAA2G;QAC7I,UAAU;KACX;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,KAAmB,EACnB,aAAsC,EACtC,OAAkD,EAClD,YAAiC,IAAI,GAAG,EAAE,EAC1C,EAAE,CACF,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;IACd,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,CAAC,CAAC,WAAmE,CAAC;IACrF,MAAM,KAAK,GACT,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM;QAC7B,CAAC,CAAC;YACE,WAAW,EAAE;gBACX,GAAG,MAAM;gBACT,UAAU,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;aAC/D;SACF;QACH,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC/F,CAAC,CAAC,CAAC;AAEL;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,0EAA0E;CAC/E,CAAC;AAEX,6DAA6D;AAC7D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAuB,EAAE,CACzE,IAAI,GAAG,CAAC;IACN,KAAK,CAAC,KAAK,CAAC,SAAS;IACrB,KAAK,CAAC,KAAK,CAAC,QAAQ;IACpB,KAAK,CAAC,KAAK,CAAC,SAAS;IACrB,KAAK,CAAC,KAAK,CAAC,cAAc;IAC1B,KAAK,CAAC,KAAK,CAAC,mBAAmB;IAC/B,KAAK,CAAC,KAAK,CAAC,aAAa;IACzB,0EAA0E;IAC1E,8BAA8B;IAC9B,KAAK,CAAC,KAAK,CAAC,SAAS;CACtB,CAAC,CAAC"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { HotelBackend } from './backend.js';
|
|
2
2
|
import type { ToolNames } from './config.js';
|
|
3
|
+
import type { MemberStore } from './members.js';
|
|
3
4
|
import { type TripStore } from './trip.js';
|
|
4
5
|
import { type Vocabulary } from './vocab.js';
|
|
5
6
|
export declare const buildTools: (n: ToolNames, v: Vocabulary) => readonly [{
|
|
@@ -31,7 +32,7 @@ export declare const buildTools: (n: ToolNames, v: Vocabulary) => readonly [{
|
|
|
31
32
|
};
|
|
32
33
|
}, {
|
|
33
34
|
readonly name: `get_${string}${string}`;
|
|
34
|
-
readonly description: `One ${string} in full: description, amenities, address, check-in and check-out times. Given \`checkIn\` and \`checkOut\` it also returns the room types that can be booked for those nights, each with its nightly rate, the stay total including taxes and fees, whether it can be cancelled free and until when, and how many rooms are left. Without dates it returns the ${string} only, because a room has no price until the nights are known.${string}`;
|
|
35
|
+
readonly description: `One ${string} in full: description, amenities, address, check-in and check-out times. Given \`checkIn\` and \`checkOut\` it also returns the room types that can be booked for those nights, each with its nightly rate, the stay total including taxes and fees, whether it can be cancelled free and until when, and how many rooms are left. \`rooms\` leaves out the types that have fewer than that many. Without dates it returns the ${string} only, because a room has no price until the nights are known.${string}`;
|
|
35
36
|
readonly annotations: {
|
|
36
37
|
readonly title: string;
|
|
37
38
|
readonly readOnlyHint: true;
|
|
@@ -42,6 +43,10 @@ export declare const buildTools: (n: ToolNames, v: Vocabulary) => readonly [{
|
|
|
42
43
|
readonly inputSchema: {
|
|
43
44
|
readonly type: "object";
|
|
44
45
|
readonly properties: {
|
|
46
|
+
readonly rooms: {
|
|
47
|
+
readonly type: "number";
|
|
48
|
+
readonly description: "How many rooms of one type, 1 to 5. Default 1";
|
|
49
|
+
};
|
|
45
50
|
readonly checkIn: {
|
|
46
51
|
readonly type: "string";
|
|
47
52
|
readonly description: `${string}, as YYYY-MM-DD`;
|
|
@@ -280,6 +285,173 @@ export declare const buildTools: (n: ToolNames, v: Vocabulary) => readonly [{
|
|
|
280
285
|
};
|
|
281
286
|
readonly required: readonly ["booking"];
|
|
282
287
|
};
|
|
288
|
+
}, {
|
|
289
|
+
readonly name: `compare_${string}${string}`;
|
|
290
|
+
readonly description: `Puts two to four ${string} side by side as one card. Each column's price, rate, cancellation terms, breakfast and rooms left come from the ${string}'s own record; the arguments carry only the ids, one line on who each suits, and its pros and cons. With \`checkIn\`/\`checkOut\` the columns carry each ${string}'s cheapest room for those nights; without them, a from-price.`;
|
|
291
|
+
readonly annotations: {
|
|
292
|
+
readonly title: string;
|
|
293
|
+
readonly readOnlyHint: true;
|
|
294
|
+
readonly destructiveHint: false;
|
|
295
|
+
readonly idempotentHint: true;
|
|
296
|
+
readonly openWorldHint: boolean;
|
|
297
|
+
};
|
|
298
|
+
readonly inputSchema: {
|
|
299
|
+
readonly type: "object";
|
|
300
|
+
readonly properties: {
|
|
301
|
+
readonly checkIn: {
|
|
302
|
+
readonly type: "string";
|
|
303
|
+
readonly description: `${string}, as YYYY-MM-DD`;
|
|
304
|
+
};
|
|
305
|
+
readonly checkOut: {
|
|
306
|
+
readonly type: "string";
|
|
307
|
+
readonly description: `${string}, as YYYY-MM-DD`;
|
|
308
|
+
};
|
|
309
|
+
readonly guests: {
|
|
310
|
+
readonly type: "number";
|
|
311
|
+
readonly description: "People in the room. Default 2";
|
|
312
|
+
};
|
|
313
|
+
readonly entries: {
|
|
314
|
+
readonly type: "array";
|
|
315
|
+
readonly minItems: 2;
|
|
316
|
+
readonly maxItems: 4;
|
|
317
|
+
readonly description: `The ${string} to set beside each other, in the order they should appear`;
|
|
318
|
+
readonly items: {
|
|
319
|
+
readonly type: "object";
|
|
320
|
+
readonly properties: {
|
|
321
|
+
readonly hotel: {
|
|
322
|
+
readonly type: "string";
|
|
323
|
+
readonly description: `The ${string}'s name or id`;
|
|
324
|
+
};
|
|
325
|
+
readonly bestFor: {
|
|
326
|
+
readonly type: "string";
|
|
327
|
+
readonly description: "One line on who this one suits, in your own words";
|
|
328
|
+
};
|
|
329
|
+
readonly pros: {
|
|
330
|
+
readonly type: "array";
|
|
331
|
+
readonly items: {
|
|
332
|
+
readonly type: "string";
|
|
333
|
+
};
|
|
334
|
+
readonly maxItems: 4;
|
|
335
|
+
};
|
|
336
|
+
readonly cons: {
|
|
337
|
+
readonly type: "array";
|
|
338
|
+
readonly items: {
|
|
339
|
+
readonly type: "string";
|
|
340
|
+
};
|
|
341
|
+
readonly maxItems: 3;
|
|
342
|
+
};
|
|
343
|
+
};
|
|
344
|
+
readonly required: readonly ["hotel"];
|
|
345
|
+
};
|
|
346
|
+
};
|
|
347
|
+
readonly recommended: {
|
|
348
|
+
readonly type: "string";
|
|
349
|
+
readonly description: `The one ${string} to mark as the pick`;
|
|
350
|
+
};
|
|
351
|
+
readonly title: {
|
|
352
|
+
readonly type: "string";
|
|
353
|
+
readonly description: "A heading for the card";
|
|
354
|
+
};
|
|
355
|
+
};
|
|
356
|
+
readonly required: readonly ["entries"];
|
|
357
|
+
};
|
|
358
|
+
}, {
|
|
359
|
+
readonly name: `show_${string}itinerary`;
|
|
360
|
+
readonly description: `A day-by-day plan as one card: each day carries its own label, an optional note, and the ${string} and add-ons attached to it, with their details filled in from their own records. Each item is marked with whether it is in the trip or only in the plan, and the card says how many of each. Nothing is added to the trip.`;
|
|
361
|
+
readonly annotations: {
|
|
362
|
+
readonly title: string;
|
|
363
|
+
readonly readOnlyHint: true;
|
|
364
|
+
readonly destructiveHint: false;
|
|
365
|
+
readonly idempotentHint: true;
|
|
366
|
+
readonly openWorldHint: boolean;
|
|
367
|
+
};
|
|
368
|
+
readonly inputSchema: {
|
|
369
|
+
readonly type: "object";
|
|
370
|
+
readonly properties: {
|
|
371
|
+
readonly checkIn: {
|
|
372
|
+
readonly type: "string";
|
|
373
|
+
readonly description: `${string}, as YYYY-MM-DD`;
|
|
374
|
+
};
|
|
375
|
+
readonly checkOut: {
|
|
376
|
+
readonly type: "string";
|
|
377
|
+
readonly description: `${string}, as YYYY-MM-DD`;
|
|
378
|
+
};
|
|
379
|
+
readonly guests: {
|
|
380
|
+
readonly type: "number";
|
|
381
|
+
readonly description: "People in the room. Default 2";
|
|
382
|
+
};
|
|
383
|
+
readonly title: {
|
|
384
|
+
readonly type: "string";
|
|
385
|
+
readonly description: "What to call the trip";
|
|
386
|
+
};
|
|
387
|
+
readonly days: {
|
|
388
|
+
readonly type: "array";
|
|
389
|
+
readonly minItems: 1;
|
|
390
|
+
readonly maxItems: 10;
|
|
391
|
+
readonly items: {
|
|
392
|
+
readonly type: "object";
|
|
393
|
+
readonly properties: {
|
|
394
|
+
readonly label: {
|
|
395
|
+
readonly type: "string";
|
|
396
|
+
readonly description: "e.g. \"Day 1 — Arrive in Hong Kong\"";
|
|
397
|
+
};
|
|
398
|
+
readonly note: {
|
|
399
|
+
readonly type: "string";
|
|
400
|
+
readonly description: "One or two lines on the day, in your own words";
|
|
401
|
+
};
|
|
402
|
+
readonly items: {
|
|
403
|
+
readonly type: "array";
|
|
404
|
+
readonly items: {
|
|
405
|
+
readonly type: "string";
|
|
406
|
+
};
|
|
407
|
+
readonly maxItems: 6;
|
|
408
|
+
readonly description: `${string} and add-ons for that day, by name or id`;
|
|
409
|
+
};
|
|
410
|
+
};
|
|
411
|
+
readonly required: readonly ["label"];
|
|
412
|
+
};
|
|
413
|
+
};
|
|
414
|
+
};
|
|
415
|
+
readonly required: readonly ["title", "days"];
|
|
416
|
+
};
|
|
417
|
+
}, {
|
|
418
|
+
readonly name: `sign_in_${string}member`;
|
|
419
|
+
readonly description: `Signs a ${string} loyalty member in for this conversation with their membership number and the surname on it, and answers with their tier, their point balance and what the tier takes off the public rate. Room rates and trip totals are then quoted at the member rate until they are signed out.`;
|
|
420
|
+
readonly annotations: {
|
|
421
|
+
readonly title: string;
|
|
422
|
+
readonly readOnlyHint: false;
|
|
423
|
+
readonly destructiveHint: false;
|
|
424
|
+
readonly idempotentHint: true;
|
|
425
|
+
readonly openWorldHint: boolean;
|
|
426
|
+
};
|
|
427
|
+
readonly inputSchema: {
|
|
428
|
+
readonly type: "object";
|
|
429
|
+
readonly properties: {
|
|
430
|
+
readonly number: {
|
|
431
|
+
readonly type: "string";
|
|
432
|
+
readonly description: "The membership number, as it is printed";
|
|
433
|
+
};
|
|
434
|
+
readonly surname: {
|
|
435
|
+
readonly type: "string";
|
|
436
|
+
readonly description: "The surname on that membership";
|
|
437
|
+
};
|
|
438
|
+
};
|
|
439
|
+
readonly required: readonly ["number", "surname"];
|
|
440
|
+
};
|
|
441
|
+
}, {
|
|
442
|
+
readonly name: `sign_out_${string}member`;
|
|
443
|
+
readonly description: "Ends the membership sign-in for this conversation. Rates go back to the public ones; the trip and any bookings are left as they are.";
|
|
444
|
+
readonly annotations: {
|
|
445
|
+
readonly title: string;
|
|
446
|
+
readonly readOnlyHint: false;
|
|
447
|
+
readonly destructiveHint: false;
|
|
448
|
+
readonly idempotentHint: true;
|
|
449
|
+
readonly openWorldHint: boolean;
|
|
450
|
+
};
|
|
451
|
+
readonly inputSchema: {
|
|
452
|
+
readonly type: "object";
|
|
453
|
+
readonly properties: {};
|
|
454
|
+
};
|
|
283
455
|
}, {
|
|
284
456
|
readonly name: `get_${string}${string}_policies`;
|
|
285
457
|
readonly description: `What one ${string} publishes about cancellation, check-in and check-out, children and extra beds, pets, deposits and accessibility. With \`topic\` it returns that topic; without, all of them.`;
|
|
@@ -309,6 +481,7 @@ export declare const buildOutputSchemas: (n: ToolNames) => Record<string, unknow
|
|
|
309
481
|
export type ToolDeps = {
|
|
310
482
|
backend: HotelBackend;
|
|
311
483
|
trips: TripStore;
|
|
484
|
+
members: MemberStore;
|
|
312
485
|
tools: ToolNames;
|
|
313
486
|
vocab: Vocabulary;
|
|
314
487
|
logoUrl?: string;
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAWhD,OAAO,EAGL,KAAK,SAAS,EAGf,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAkExD,eAAO,MAAM,UAAU,GAAI,GAAG,SAAS,EAAE,GAAG,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkSrD,CAAC;AAyDF,eAAO,MAAM,kBAAkB,GAAI,GAAG,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CA0JtE,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,0FAA0F;IAC1F,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AA8I/E,eAAO,MAAM,UAAU,GACrB,MAAM,QAAQ,EACd,MAAM,MAAM,EACZ,SAAS,OAAO,EAChB,KAAK,WAAW,KACf,OAAO,CAAC,UAAU,CA6nBpB,CAAC"}
|