@curless/hotel-storefront 0.27.8 → 0.27.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/README.md +1 -1
  2. package/dist/aggregate/hotels.d.ts +45 -0
  3. package/dist/aggregate/hotels.d.ts.map +1 -0
  4. package/dist/aggregate/hotels.js +633 -0
  5. package/dist/aggregate/hotels.js.map +1 -0
  6. package/dist/aggregate/ids.d.ts +36 -0
  7. package/dist/aggregate/ids.d.ts.map +1 -0
  8. package/dist/aggregate/ids.js +64 -0
  9. package/dist/aggregate/ids.js.map +1 -0
  10. package/dist/aggregate/make.d.ts +12 -0
  11. package/dist/aggregate/make.d.ts.map +1 -0
  12. package/dist/aggregate/make.js +96 -0
  13. package/dist/aggregate/make.js.map +1 -0
  14. package/dist/aggregate/paging.d.ts +35 -0
  15. package/dist/aggregate/paging.d.ts.map +1 -0
  16. package/dist/aggregate/paging.js +94 -0
  17. package/dist/aggregate/paging.js.map +1 -0
  18. package/dist/backend.d.ts +41 -0
  19. package/dist/backend.d.ts.map +1 -1
  20. package/dist/backend.js.map +1 -1
  21. package/dist/card.generated.d.ts +2 -2
  22. package/dist/card.generated.d.ts.map +1 -1
  23. package/dist/card.generated.js +3 -3
  24. package/dist/card.generated.js.map +1 -1
  25. package/dist/config.d.ts +31 -1
  26. package/dist/config.d.ts.map +1 -1
  27. package/dist/config.js.map +1 -1
  28. package/dist/demo-hotels.d.ts +6 -0
  29. package/dist/demo-hotels.d.ts.map +1 -1
  30. package/dist/demo-hotels.js +16 -6
  31. package/dist/demo-hotels.js.map +1 -1
  32. package/dist/huazhu/backend.d.ts.map +1 -1
  33. package/dist/huazhu/backend.js +2 -0
  34. package/dist/huazhu/backend.js.map +1 -1
  35. package/dist/huazhu/make.d.ts +4 -0
  36. package/dist/huazhu/make.d.ts.map +1 -0
  37. package/dist/huazhu/make.js +105 -0
  38. package/dist/huazhu/make.js.map +1 -0
  39. package/dist/huazhu/sandbox-photos.d.ts +25 -0
  40. package/dist/huazhu/sandbox-photos.d.ts.map +1 -0
  41. package/dist/huazhu/sandbox-photos.js +514 -0
  42. package/dist/huazhu/sandbox-photos.js.map +1 -0
  43. package/dist/huazhu/sandbox.d.ts +4 -2
  44. package/dist/huazhu/sandbox.d.ts.map +1 -1
  45. package/dist/huazhu/sandbox.js +763 -45
  46. package/dist/huazhu/sandbox.js.map +1 -1
  47. package/dist/index.js +0 -0
  48. package/dist/legal.d.ts +1 -0
  49. package/dist/legal.d.ts.map +1 -1
  50. package/dist/legal.js +188 -66
  51. package/dist/legal.js.map +1 -1
  52. package/dist/lib.d.ts +1 -1
  53. package/dist/lib.d.ts.map +1 -1
  54. package/dist/server.d.ts +10 -22
  55. package/dist/server.d.ts.map +1 -1
  56. package/dist/server.js +40 -153
  57. package/dist/server.js.map +1 -1
  58. package/dist/state.d.ts +8 -0
  59. package/dist/state.d.ts.map +1 -1
  60. package/dist/state.js +18 -1
  61. package/dist/state.js.map +1 -1
  62. package/dist/supplier.d.ts +50 -0
  63. package/dist/supplier.d.ts.map +1 -0
  64. package/dist/supplier.js +57 -0
  65. package/dist/supplier.js.map +1 -0
  66. package/dist/surface.d.ts.map +1 -1
  67. package/dist/surface.js +37 -21
  68. package/dist/surface.js.map +1 -1
  69. package/dist/tools.d.ts +29 -23
  70. package/dist/tools.d.ts.map +1 -1
  71. package/dist/tools.js +197 -67
  72. package/dist/tools.js.map +1 -1
  73. package/dist/types.d.ts +19 -0
  74. package/dist/types.d.ts.map +1 -1
  75. package/dist/vocab.d.ts +20 -0
  76. package/dist/vocab.d.ts.map +1 -1
  77. package/dist/vocab.js +22 -1
  78. package/dist/vocab.js.map +1 -1
  79. package/package.json +11 -11
package/README.md CHANGED
@@ -5,7 +5,7 @@ vocabulary and where the rooms come from live in a `HotelConfig`, so the second
5
5
  hotel group is a JSON file rather than a fork.
6
6
 
7
7
  ```bash
8
- npx @curless/hotel-storefront ./config.json # a brand's own repo, e.g. curless-group1/shangrila-mcp
8
+ npx @curless/hotel-storefront ./config.json # the config lives in the brand's own repo
9
9
  ```
10
10
 
11
11
  It answers on `POST /mcp` (streamable HTTP), serves its own card as a `ui://`
@@ -0,0 +1,45 @@
1
+ import { type BackendCapabilities, type HotelBackend, type SupplierInfo } from '../backend.js';
2
+ import type { StateFile } from '../state.js';
3
+ /** One supplier, as the market is given it: what `suppliers()` says of it, and its backend. */
4
+ export type Supplier = {
5
+ id: string;
6
+ name: string;
7
+ backend: HotelBackend;
8
+ /** A demonstration file, a simulated booking system, or the group's real one. */
9
+ mode: SupplierInfo['mode'];
10
+ logoUrl?: string;
11
+ /**
12
+ * What its booking codes start with ("SL"), when its config says - its
13
+ * backend's `capabilities.codePrefix` otherwise, and failing both, what its
14
+ * codes have been seen to start with.
15
+ */
16
+ codePrefix?: string;
17
+ };
18
+ export type AggregateOptions = {
19
+ /** The market's own name - "Otaless". Never one of the suppliers'. */
20
+ brand: string;
21
+ suppliers: Supplier[];
22
+ /** Where "this code is that supplier's" survives a restart - see `Routes`. */
23
+ routes?: StateFile;
24
+ };
25
+ /**
26
+ * What the market as a whole can do: anything one of its suppliers can, so a
27
+ * tool is listed when some hotel here offers it - and never members (v1: two
28
+ * groups' programmes, and nothing in the tools that says which).
29
+ *
30
+ * ⚠️ `booking` CAN ONLY BE ONE WORD HERE, and a market can hold both. Until the
31
+ * tools read each hotel's own (香格里拉's step ③), a market that mixes them
32
+ * says `hold` - the one that promises less.
33
+ */
34
+ export declare const marketCapabilities: (all: BackendCapabilities[]) => BackendCapabilities;
35
+ /**
36
+ * A market's supplier ids, checked before anything is made from them: each
37
+ * goes on every id the market hands out and names a state directory.
38
+ */
39
+ export declare const checkSupplierIds: (brand: string, ids: string[]) => void;
40
+ export declare const createAggregateHotels: (opts: AggregateOptions) => HotelBackend & {
41
+ capabilities: BackendCapabilities;
42
+ suppliers(): SupplierInfo[];
43
+ supplierOf(hotelId: string): string | undefined;
44
+ };
45
+ //# sourceMappingURL=hotels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hotels.d.ts","sourceRoot":"","sources":["../../src/aggregate/hotels.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EAGxB,KAAK,YAAY,EAEjB,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA4B7C,+FAA+F;AAC/F,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,CAAC;IACtB,iFAAiF;IACjF,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB,CAAC;AAqEF;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,GAAI,KAAK,mBAAmB,EAAE,KAAG,mBAW9D,CAAC;AAoCH;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,EAAE,KAAK,MAAM,EAAE,KAAG,IAW/D,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,MAAM,gBAAgB,KACrB,YAAY,GAAG;IAChB,YAAY,EAAE,mBAAmB,CAAC;IAClC,SAAS,IAAI,YAAY,EAAE,CAAC;IAC5B,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAolBjD,CAAC"}