@curless/hotel-storefront 0.49.1 → 0.50.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/backend.d.ts +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 +16 -18
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/demo-hotels.d.ts.map +1 -1
- package/dist/demo-hotels.js +3 -1
- package/dist/demo-hotels.js.map +1 -1
- package/dist/huazhu/backend.d.ts +2 -2
- package/dist/huazhu/backend.d.ts.map +1 -1
- package/dist/huazhu/backend.js +14 -12
- package/dist/huazhu/backend.js.map +1 -1
- package/dist/huazhu/bookings.d.ts +8 -5
- package/dist/huazhu/bookings.d.ts.map +1 -1
- package/dist/huazhu/bookings.js.map +1 -1
- package/dist/huazhu/check.d.ts +1 -1
- package/dist/huazhu/make.d.ts.map +1 -1
- package/dist/huazhu/make.js +6 -32
- package/dist/huazhu/make.js.map +1 -1
- package/dist/huazhu/sellable.d.ts.map +1 -1
- package/dist/huazhu/sellable.js +4 -3
- package/dist/huazhu/sellable.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/legal.d.ts.map +1 -1
- package/dist/legal.js +9 -15
- package/dist/legal.js.map +1 -1
- package/dist/payments/checkout.d.ts +10 -70
- package/dist/payments/checkout.d.ts.map +1 -1
- package/dist/payments/checkout.js +14 -131
- package/dist/payments/checkout.js.map +1 -1
- package/dist/payments/stripe-checkout.js +4 -4
- package/dist/payments/stripe-checkout.js.map +1 -1
- package/dist/present.d.ts +15 -7
- package/dist/present.d.ts.map +1 -1
- package/dist/present.js +26 -8
- package/dist/present.js.map +1 -1
- package/dist/same-booking.d.ts +9 -0
- package/dist/same-booking.d.ts.map +1 -1
- package/dist/same-booking.js +13 -1
- package/dist/same-booking.js.map +1 -1
- package/dist/server.d.ts +3 -3
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +6 -3
- package/dist/server.js.map +1 -1
- package/dist/supplier.d.ts +4 -1
- package/dist/supplier.d.ts.map +1 -1
- package/dist/supplier.js.map +1 -1
- package/dist/surface.d.ts +8 -0
- package/dist/surface.d.ts.map +1 -1
- package/dist/surface.js +23 -7
- package/dist/surface.js.map +1 -1
- package/dist/tools.d.ts +8 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +148 -9
- package/dist/tools.js.map +1 -1
- package/dist/trip.d.ts +18 -2
- package/dist/trip.d.ts.map +1 -1
- package/dist/trip.js +27 -1
- package/dist/trip.js.map +1 -1
- package/dist/types.d.ts +11 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +13 -14
- package/dist/payments/fake-gateway.d.ts +0 -43
- package/dist/payments/fake-gateway.d.ts.map +0 -1
- package/dist/payments/fake-gateway.js +0 -135
- package/dist/payments/fake-gateway.js.map +0 -1
|
@@ -1,32 +1,20 @@
|
|
|
1
1
|
import type { PaymentMethod } from '../types.js';
|
|
2
2
|
export type { PaymentMethod };
|
|
3
|
-
/** Where a checkout stands
|
|
3
|
+
/** Where a checkout stands: its page still open, paid, or closed without payment. */
|
|
4
4
|
export type CheckoutState = 'open' | 'paid' | 'closed';
|
|
5
5
|
export type OpenedCheckout = {
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* Stripe's Checkout Session id - what the booking keeps, and what a read of
|
|
8
|
+
* the state, a refund or a note on the payment names.
|
|
9
|
+
*/
|
|
7
10
|
sessionId: string;
|
|
8
11
|
/** The page the guest pays on. */
|
|
9
12
|
url: string;
|
|
10
13
|
};
|
|
11
|
-
export type CheckoutOptions = {
|
|
12
|
-
/** The gateway, e.g. https://mcp.curless.ai - no trailing path. */
|
|
13
|
-
baseUrl: string;
|
|
14
|
-
/** The Curless merchant the money is taken for. */
|
|
15
|
-
merchantId: string;
|
|
16
|
-
/** A merchant key (`merchant:write`) for that merchant, in the mode the money is taken in. */
|
|
17
|
-
apiKey: string;
|
|
18
|
-
/** How the guest pays. Only `card` exists. */
|
|
19
|
-
method?: PaymentMethod;
|
|
20
|
-
/** Shown on the paying page as whose order it is. */
|
|
21
|
-
merchantName: string;
|
|
22
|
-
merchantUrl: string;
|
|
23
|
-
fetch?: typeof fetch;
|
|
24
|
-
timeoutMs?: number;
|
|
25
|
-
};
|
|
26
14
|
/**
|
|
27
|
-
* What the booking path takes a guest's money through
|
|
28
|
-
*
|
|
29
|
-
*
|
|
15
|
+
* What the booking path takes a guest's money through: open a page, read
|
|
16
|
+
* whether it was paid, close an unpaid one, give the money back, follow that
|
|
17
|
+
* refund. Implemented by `StripeCheckout`.
|
|
30
18
|
*/
|
|
31
19
|
export type Checkout = {
|
|
32
20
|
readonly method: PaymentMethod;
|
|
@@ -77,8 +65,7 @@ export type Checkout = {
|
|
|
77
65
|
refund(sessionId: string, reason: string, key?: string,
|
|
78
66
|
/**
|
|
79
67
|
* Part of it back, in minor units - a fee the hotel kept (2026-10-16 audit,
|
|
80
|
-
* P2). Absent: all of it.
|
|
81
|
-
* refuses a part.
|
|
68
|
+
* P2). Absent: all of it.
|
|
82
69
|
*/
|
|
83
70
|
amountMinor?: number): Promise<{
|
|
84
71
|
requestId: string;
|
|
@@ -93,56 +80,9 @@ export type Checkout = {
|
|
|
93
80
|
*/
|
|
94
81
|
annotate?(sessionId: string, notes: Record<string, string>): Promise<void>;
|
|
95
82
|
};
|
|
96
|
-
/**
|
|
83
|
+
/** Stripe refused, or could not be reached - with what it said. */
|
|
97
84
|
export declare class CheckoutError extends Error {
|
|
98
85
|
readonly status?: number | undefined;
|
|
99
86
|
constructor(message: string, status?: number | undefined);
|
|
100
87
|
}
|
|
101
|
-
export declare class GatewayCheckout implements Checkout {
|
|
102
|
-
private readonly opts;
|
|
103
|
-
private readonly fetch;
|
|
104
|
-
readonly method: PaymentMethod;
|
|
105
|
-
constructor(opts: CheckoutOptions);
|
|
106
|
-
private call;
|
|
107
|
-
private session;
|
|
108
|
-
/**
|
|
109
|
-
* A checkout for one stay, priced by us as the merchant - its amount the
|
|
110
|
-
* total the guest was shown - and the page it is paid on.
|
|
111
|
-
*/
|
|
112
|
-
open(o: {
|
|
113
|
-
/** Ours, and the line's id at the gateway: the booking's `distributorResId`. */
|
|
114
|
-
ref: string;
|
|
115
|
-
code?: string;
|
|
116
|
-
title: string;
|
|
117
|
-
amountMinor: number;
|
|
118
|
-
currency: string;
|
|
119
|
-
/** The gateway opens a new checkout each time: no key to tell openings apart. */
|
|
120
|
-
attempt?: number;
|
|
121
|
-
}): Promise<OpenedCheckout>;
|
|
122
|
-
/** Whether it has been paid, is still open, or is closed without payment. */
|
|
123
|
-
state(sessionId: string): Promise<CheckoutState>;
|
|
124
|
-
paidAmount(sessionId: string): Promise<{
|
|
125
|
-
amountMinor: number;
|
|
126
|
-
currency: string;
|
|
127
|
-
} | undefined>;
|
|
128
|
-
/**
|
|
129
|
-
* Closes an unpaid checkout and its card page - so a page left past its
|
|
130
|
-
* deadline cannot be paid (总线程, 2026-10-12). Answers what it is now: a
|
|
131
|
-
* checkout paid in the last second answers `paid`, and that money is the
|
|
132
|
-
* caller's to deal with.
|
|
133
|
-
*/
|
|
134
|
-
close(sessionId: string): Promise<CheckoutState>;
|
|
135
|
-
/**
|
|
136
|
-
* Gives the guest's money back - all of it, the only refund there is (the
|
|
137
|
-
* gateway's upstream takes full refunds only). A request, then the
|
|
138
|
-
* merchant's approval of it: the money moves when the gateway's provider
|
|
139
|
-
* says so, so this answers with the request's id to follow, not "refunded".
|
|
140
|
-
*/
|
|
141
|
-
refund(sessionId: string, reason: string, _key?: string, amountMinor?: number): Promise<{
|
|
142
|
-
requestId: string;
|
|
143
|
-
status: string;
|
|
144
|
-
}>;
|
|
145
|
-
/** Where a refund stands: requested, approved (money on its way), refunded, failed or rejected. */
|
|
146
|
-
refundState(requestId: string): Promise<string>;
|
|
147
|
-
}
|
|
148
88
|
//# sourceMappingURL=checkout.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../src/payments/checkout.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../src/payments/checkout.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,qFAAqF;AACrF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEvD,MAAM,MAAM,cAAc,GAAG;IAC3B;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B;;;;OAIG;IACH,IAAI,CAAC,CAAC,EAAE;QACN,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB;;;WAGG;QACH,KAAK,CAAC,EAAE,MAAM,CAAC;QACf;;;;;WAKG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB;;;;;;;WAOG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC5B,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACjD;;;OAGG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;IAC9F,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACjD,6FAA6F;IAC7F,MAAM,CACJ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM;IACZ;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,sEAAsE;IACtE,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD;;;;OAIG;IACH,QAAQ,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5E,CAAC;AAEF,mEAAmE;AACnE,qBAAa,aAAc,SAAQ,KAAK;IAGpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;gBADxB,OAAO,EAAE,MAAM,EACN,MAAM,CAAC,EAAE,MAAM,YAAA;CAK3B"}
|
|
@@ -1,18 +1,22 @@
|
|
|
1
|
-
//
|
|
2
|
-
//
|
|
1
|
+
// What the booking path takes a guest's money through for a stay paid in
|
|
2
|
+
// advance: the `Checkout` interface below, and its one implementation,
|
|
3
|
+
// `StripeCheckout` (stripe-checkout.ts) - Stripe's own hosted Checkout page.
|
|
3
4
|
//
|
|
4
5
|
// ⚠️ WE HAVE NO ACQUIRING OF OUR OWN (robin, 2026-10-11). A card is paid on
|
|
5
|
-
// Stripe's hosted page
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
// collect through yet - so `card` is the one method there is, and the type
|
|
9
|
-
// keeps room for the other (总线程, 2026-10-12).
|
|
6
|
+
// Stripe's hosted page and never reaches us; a UnionPay card goes to UnionPay's
|
|
7
|
+
// own page, a path of its own (unionpay.ts) - so `card` is the one method a
|
|
8
|
+
// `Checkout` has, and the type keeps room for the other (总线程, 2026-10-12).
|
|
10
9
|
//
|
|
11
10
|
// ⚠️ TEST MODE ONLY, FOR NOW. Prepaid stays are a demonstration until robin
|
|
12
11
|
// decides who takes the money (docs/huazhu-products-plan.md, the second batch):
|
|
13
|
-
// the key
|
|
14
|
-
// lets
|
|
15
|
-
|
|
12
|
+
// the key `StripeCheckout` is given is a Stripe test key, and the Huazhu side
|
|
13
|
+
// only lets the simulated Huazhu or Huazhu's test environment turn prepaid on.
|
|
14
|
+
//
|
|
15
|
+
// The agentbank gateway's ACP checkout (`GatewayCheckout`, `fake-gateway.ts`)
|
|
16
|
+
// was removed on 2026-10-29 (code-health audit D3) - it never ran; take it back
|
|
17
|
+
// from git history (its last version: main bc09aeab) if Curless's own
|
|
18
|
+
// acquiring is ever connected.
|
|
19
|
+
/** Stripe refused, or could not be reached - with what it said. */
|
|
16
20
|
export class CheckoutError extends Error {
|
|
17
21
|
status;
|
|
18
22
|
constructor(message, status) {
|
|
@@ -21,125 +25,4 @@ export class CheckoutError extends Error {
|
|
|
21
25
|
this.name = 'CheckoutError';
|
|
22
26
|
}
|
|
23
27
|
}
|
|
24
|
-
const STATE = {
|
|
25
|
-
ready_for_payment: 'open',
|
|
26
|
-
completed: 'paid',
|
|
27
|
-
canceled: 'closed',
|
|
28
|
-
};
|
|
29
|
-
export class GatewayCheckout {
|
|
30
|
-
opts;
|
|
31
|
-
fetch;
|
|
32
|
-
method;
|
|
33
|
-
constructor(opts) {
|
|
34
|
-
this.opts = opts;
|
|
35
|
-
this.fetch = opts.fetch ?? globalThis.fetch;
|
|
36
|
-
this.method = opts.method ?? 'card';
|
|
37
|
-
if (this.method !== 'card')
|
|
38
|
-
throw new CheckoutError(`paying by ${this.method} is not taken through the gateway yet - only card`);
|
|
39
|
-
}
|
|
40
|
-
async call(method, path, body) {
|
|
41
|
-
const url = `${this.opts.baseUrl.replace(/\/$/, '')}${path}`;
|
|
42
|
-
let res;
|
|
43
|
-
try {
|
|
44
|
-
res = await this.fetch(url, {
|
|
45
|
-
method,
|
|
46
|
-
headers: {
|
|
47
|
-
authorization: `Bearer ${this.opts.apiKey}`,
|
|
48
|
-
...(body !== undefined ? { 'content-type': 'application/json' } : {}),
|
|
49
|
-
},
|
|
50
|
-
...(body !== undefined ? { body: JSON.stringify(body) } : {}),
|
|
51
|
-
signal: AbortSignal.timeout(this.opts.timeoutMs ?? 15_000),
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
catch (err) {
|
|
55
|
-
throw new CheckoutError(`the gateway did not answer (${err.message})`);
|
|
56
|
-
}
|
|
57
|
-
const text = await res.text();
|
|
58
|
-
if (!res.ok) {
|
|
59
|
-
// Its own message, never the request: the key rides in a header.
|
|
60
|
-
let said = text.slice(0, 300);
|
|
61
|
-
try {
|
|
62
|
-
const j = JSON.parse(text);
|
|
63
|
-
said = j.error?.message ?? j.message ?? said;
|
|
64
|
-
}
|
|
65
|
-
catch { }
|
|
66
|
-
throw new CheckoutError(`the gateway answered ${res.status}: ${said}`, res.status);
|
|
67
|
-
}
|
|
68
|
-
return (text ? JSON.parse(text) : {});
|
|
69
|
-
}
|
|
70
|
-
session = (id) => `/acp/${encodeURIComponent(this.opts.merchantId)}/checkout_sessions/${encodeURIComponent(id)}`;
|
|
71
|
-
/**
|
|
72
|
-
* A checkout for one stay, priced by us as the merchant - its amount the
|
|
73
|
-
* total the guest was shown - and the page it is paid on.
|
|
74
|
-
*/
|
|
75
|
-
async open(o) {
|
|
76
|
-
const created = await this.call('POST', `/acp/${encodeURIComponent(this.opts.merchantId)}/checkout_sessions`, {
|
|
77
|
-
items: [{ id: o.ref, quantity: 1, unitPrice: o.amountMinor, name: o.title }],
|
|
78
|
-
currency: o.currency,
|
|
79
|
-
display: { merchantName: this.opts.merchantName, merchantUrl: this.opts.merchantUrl },
|
|
80
|
-
});
|
|
81
|
-
if (!created?.id)
|
|
82
|
-
throw new CheckoutError('the gateway opened no checkout session');
|
|
83
|
-
const page = await this.call('POST', `${this.session(created.id)}/card_page`, {});
|
|
84
|
-
if (!page?.url) {
|
|
85
|
-
await this.close(created.id).catch(() => undefined);
|
|
86
|
-
throw new CheckoutError('the gateway opened no card page');
|
|
87
|
-
}
|
|
88
|
-
return { sessionId: created.id, url: page.url };
|
|
89
|
-
}
|
|
90
|
-
/** Whether it has been paid, is still open, or is closed without payment. */
|
|
91
|
-
async state(sessionId) {
|
|
92
|
-
const s = await this.call('GET', this.session(sessionId));
|
|
93
|
-
return STATE[String(s?.status)] ?? 'open';
|
|
94
|
-
}
|
|
95
|
-
async paidAmount(sessionId) {
|
|
96
|
-
const s = await this.call('GET', this.session(sessionId));
|
|
97
|
-
if (STATE[String(s?.status)] !== 'paid')
|
|
98
|
-
return undefined;
|
|
99
|
-
const total = s.totals?.find((t) => t.type === 'total')?.amount;
|
|
100
|
-
return typeof total === 'number' && s.currency
|
|
101
|
-
? { amountMinor: total, currency: s.currency.toUpperCase() }
|
|
102
|
-
: undefined;
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Closes an unpaid checkout and its card page - so a page left past its
|
|
106
|
-
* deadline cannot be paid (总线程, 2026-10-12). Answers what it is now: a
|
|
107
|
-
* checkout paid in the last second answers `paid`, and that money is the
|
|
108
|
-
* caller's to deal with.
|
|
109
|
-
*/
|
|
110
|
-
async close(sessionId) {
|
|
111
|
-
try {
|
|
112
|
-
const s = await this.call('POST', `${this.session(sessionId)}/cancel`, {});
|
|
113
|
-
return STATE[String(s?.status)] ?? 'closed';
|
|
114
|
-
}
|
|
115
|
-
catch (err) {
|
|
116
|
-
// "cannot cancel": it is not open any more - read what it became.
|
|
117
|
-
if (err instanceof CheckoutError && err.status === 409)
|
|
118
|
-
return this.state(sessionId);
|
|
119
|
-
throw err;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Gives the guest's money back - all of it, the only refund there is (the
|
|
124
|
-
* gateway's upstream takes full refunds only). A request, then the
|
|
125
|
-
* merchant's approval of it: the money moves when the gateway's provider
|
|
126
|
-
* says so, so this answers with the request's id to follow, not "refunded".
|
|
127
|
-
*/
|
|
128
|
-
async refund(sessionId, reason, _key, amountMinor) {
|
|
129
|
-
// The gateway gives back all of it or nothing.
|
|
130
|
-
if (amountMinor !== undefined)
|
|
131
|
-
throw new CheckoutError('the gateway refunds the whole payment only - not a part of it');
|
|
132
|
-
const asked = await this.call('POST', '/v1/refund-requests', { paymentIntentId: sessionId, reason });
|
|
133
|
-
const id = asked.refundRequest?.id;
|
|
134
|
-
if (!id)
|
|
135
|
-
throw new CheckoutError('the gateway opened no refund request');
|
|
136
|
-
const approved = await this.call('POST', `/v1/merchant/${encodeURIComponent(this.opts.merchantId)}/refund-requests/${encodeURIComponent(id)}/approve`, {});
|
|
137
|
-
return { requestId: id, status: approved.refundRequest?.status ?? 'approved' };
|
|
138
|
-
}
|
|
139
|
-
/** Where a refund stands: requested, approved (money on its way), refunded, failed or rejected. */
|
|
140
|
-
async refundState(requestId) {
|
|
141
|
-
const r = await this.call('GET', `/v1/refund-requests/${encodeURIComponent(requestId)}`);
|
|
142
|
-
return r.refundRequest?.status ?? r.status ?? 'requested';
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
28
|
//# sourceMappingURL=checkout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../src/payments/checkout.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../src/payments/checkout.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,uEAAuE;AACvE,6EAA6E;AAC7E,EAAE;AACF,4EAA4E;AAC5E,gFAAgF;AAChF,4EAA4E;AAC5E,2EAA2E;AAC3E,EAAE;AACF,4EAA4E;AAC5E,gFAAgF;AAChF,8EAA8E;AAC9E,+EAA+E;AAC/E,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,sEAAsE;AACtE,+BAA+B;AAuF/B,mEAAmE;AACnE,MAAM,OAAO,aAAc,SAAQ,KAAK;IAG3B;IAFX,YACE,OAAe,EACN,MAAe;QAExB,KAAK,CAAC,OAAO,CAAC,CAAC;QAFN,WAAM,GAAN,MAAM,CAAS;QAGxB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF"}
|
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
// one is refused before anything starts. A card is paid on Stripe's own page
|
|
8
8
|
// and never reaches us - nor does a test card.
|
|
9
9
|
//
|
|
10
|
-
// The
|
|
11
|
-
//
|
|
12
|
-
//
|
|
10
|
+
// The five calls of `Checkout`, which the booking path takes money through:
|
|
11
|
+
// open a page, read whether it was paid, close an unpaid one, give the money
|
|
12
|
+
// back (all of it, or a part), and follow that refund.
|
|
13
13
|
import { CheckoutError } from './checkout.js';
|
|
14
14
|
/** Stripe keeps a Checkout page open at least 30 minutes - ours closes it itself at its own deadline. */
|
|
15
15
|
const PAGE_LIFE_S = 31 * 60;
|
|
16
|
-
/** Stripe's refund states, as `
|
|
16
|
+
/** Stripe's refund states, as `Checkout.refundState` says them. */
|
|
17
17
|
const REFUND = {
|
|
18
18
|
pending: 'approved',
|
|
19
19
|
requires_action: 'approved',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stripe-checkout.js","sourceRoot":"","sources":["../../src/payments/stripe-checkout.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,4EAA4E;AAC5E,4EAA4E;AAC5E,oCAAoC;AACpC,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,+CAA+C;AAC/C,EAAE;AACF,
|
|
1
|
+
{"version":3,"file":"stripe-checkout.js","sourceRoot":"","sources":["../../src/payments/stripe-checkout.ts"],"names":[],"mappings":"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"}
|
package/dist/present.d.ts
CHANGED
|
@@ -15,12 +15,19 @@ export declare const MORE_THAN_ONE = "more than one hotel answers to that";
|
|
|
15
15
|
* and no instruction: a tool result tells the model nothing to do (2026-10-05
|
|
16
16
|
* audit, P3; 香格里拉 2026-10-09).
|
|
17
17
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
18
|
+
* THE EXCEPTIONS, ON PURPOSE (robin, 0.47.8-0.47.9; 2026-10-27 audit, F10;
|
|
19
|
+
* the list brought up to date by the 2026-10-29 audit, H8): answers that say
|
|
20
|
+
* what goes in the reply, because a host may not hand the model the server's
|
|
21
|
+
* instructions, and an answer always reaches it -
|
|
22
|
+
* - the itinerary's `PLAN_DRAWN_ONCE` and `longStayNudges`, and the list's
|
|
23
|
+
* `forPlans` beside them (tools.ts);
|
|
24
|
+
* - for a client that shows no cards, `PLAN_NOT_DRAWN`, `COMPARISON_NOT_DRAWN`
|
|
25
|
+
* and `LIST_NOT_DRAWN` (总线程 2026-10-28; H4): the guest saw no card, so the
|
|
26
|
+
* reply is where it is told;
|
|
27
|
+
* - a booking asked for again (`repeat`, F2): "A booking for someone else is
|
|
28
|
+
* made under their name", and "list the bookings before asking for it
|
|
29
|
+
* again" where a booking's outcome is not known (`BOOKING_FAULT`).
|
|
30
|
+
* Descriptions stay facts (listing.ts); this is answers only, and only these.
|
|
24
31
|
*/
|
|
25
32
|
export declare const namesMoreThanOne: (candidates: Candidate[], noun: string) => string;
|
|
26
33
|
/**
|
|
@@ -275,7 +282,8 @@ export type Itinerary = {
|
|
|
275
282
|
code?: 'past-last-day';
|
|
276
283
|
}[];
|
|
277
284
|
/**
|
|
278
|
-
* What the plan's stays not booked yet come to
|
|
285
|
+
* What the plan's stays not in the trip or booked yet come to - the ones
|
|
286
|
+
* "add them" adds - each on the rate it is
|
|
279
287
|
* priced on - present only when every one of them is priced, in one
|
|
280
288
|
* currency. The card puts it beside the button that books them; it does no
|
|
281
289
|
* sums of its own.
|
package/dist/present.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"present.d.ts","sourceRoot":"","sources":["../src/present.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAa,MAAM,cAAc,CAAC;AAI5E,OAAO,KAAK,EACV,OAAO,EAEP,KAAK,EACL,UAAU,EAEV,QAAQ,EAER,KAAK,EAEL,IAAI,EACJ,QAAQ,EACT,MAAM,YAAY,CAAC;AAYpB,uFAAuF;AACvF,eAAO,MAAM,aAAa,GAAI,SAAS,YAAY,EAAE,KAAK,MAAM,KAAG,SAAS,EACjB,CAAC;AAE5D;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,wCAAwC,CAAC;AAEnE
|
|
1
|
+
{"version":3,"file":"present.d.ts","sourceRoot":"","sources":["../src/present.ts"],"names":[],"mappings":"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"}
|
package/dist/present.js
CHANGED
|
@@ -24,12 +24,19 @@ export const MORE_THAN_ONE = 'more than one hotel answers to that';
|
|
|
24
24
|
* and no instruction: a tool result tells the model nothing to do (2026-10-05
|
|
25
25
|
* audit, P3; 香格里拉 2026-10-09).
|
|
26
26
|
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
27
|
+
* THE EXCEPTIONS, ON PURPOSE (robin, 0.47.8-0.47.9; 2026-10-27 audit, F10;
|
|
28
|
+
* the list brought up to date by the 2026-10-29 audit, H8): answers that say
|
|
29
|
+
* what goes in the reply, because a host may not hand the model the server's
|
|
30
|
+
* instructions, and an answer always reaches it -
|
|
31
|
+
* - the itinerary's `PLAN_DRAWN_ONCE` and `longStayNudges`, and the list's
|
|
32
|
+
* `forPlans` beside them (tools.ts);
|
|
33
|
+
* - for a client that shows no cards, `PLAN_NOT_DRAWN`, `COMPARISON_NOT_DRAWN`
|
|
34
|
+
* and `LIST_NOT_DRAWN` (总线程 2026-10-28; H4): the guest saw no card, so the
|
|
35
|
+
* reply is where it is told;
|
|
36
|
+
* - a booking asked for again (`repeat`, F2): "A booking for someone else is
|
|
37
|
+
* made under their name", and "list the bookings before asking for it
|
|
38
|
+
* again" where a booking's outcome is not known (`BOOKING_FAULT`).
|
|
39
|
+
* Descriptions stay facts (listing.ts); this is answers only, and only these.
|
|
33
40
|
*/
|
|
34
41
|
export const namesMoreThanOne = (candidates, noun) => `names more than one ${noun}: ${candidates
|
|
35
42
|
.map((c) => `${c.name}${c.city ? ` (${c.city})` : ''}, id \`${c.id}\``)
|
|
@@ -394,8 +401,19 @@ export const buildItinerary = async (backend, days, opts) => {
|
|
|
394
401
|
}
|
|
395
402
|
}
|
|
396
403
|
}
|
|
397
|
-
// Every stay not booked yet, priced, in one currency - or no
|
|
398
|
-
|
|
404
|
+
// Every stay not in the trip or booked yet, priced, in one currency - or no
|
|
405
|
+
// total at all.
|
|
406
|
+
// ⚠️ WHAT THE BUTTON BESIDE IT ADDS (2026-10-29 audit, H3). The card puts this
|
|
407
|
+
// figure next to "Book these N hotels", which adds the stays not yet in the
|
|
408
|
+
// trip; a stay already in it was counted too, at the plan's cheapest rate
|
|
409
|
+
// rather than the room in the trip, so the figure was neither what the
|
|
410
|
+
// button added nor what the trip would come to.
|
|
411
|
+
const owed = out.flatMap((day) => day.items.filter((x) => x.kind === 'hotel' &&
|
|
412
|
+
x.checkIn &&
|
|
413
|
+
x.checkOut &&
|
|
414
|
+
(x.night ?? 1) === 1 &&
|
|
415
|
+
!x.booked &&
|
|
416
|
+
!x.inTrip));
|
|
399
417
|
const owedMoney = owed.map((x) => stayMoney.get(x));
|
|
400
418
|
const currency = owedMoney[0]?.currency;
|
|
401
419
|
const staysTotal = owed.length && currency && owedMoney.every((m) => m?.currency === currency)
|
package/dist/present.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"present.js","sourceRoot":"","sources":["../src/present.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"present.js","sourceRoot":"","sources":["../src/present.ts"],"names":[],"mappings":"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"}
|
package/dist/same-booking.d.ts
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import type { Guest, RoomRequests } from './types.js';
|
|
2
2
|
/** The same booking asked for again this soon - same conversation, email, stay and guest - is answered with the first. */
|
|
3
3
|
export declare const SAME_BOOKING_MS: number;
|
|
4
|
+
/**
|
|
5
|
+
* A phone as its digits, China's country code taken off a mobile number.
|
|
6
|
+
*
|
|
7
|
+
* ⚠️ "+86 138…", "0086 138…" AND "138…" ARE ONE PHONE (2026-10-29 audit, H6).
|
|
8
|
+
* Only the non-digits came off, so a retry in which the model wrote the number
|
|
9
|
+
* with its country code was another guest, and booked a second room - the same
|
|
10
|
+
* reason the note is left out. Any other number is compared as it is written.
|
|
11
|
+
*/
|
|
12
|
+
export declare const phoneDigits: (phone?: string) => string;
|
|
4
13
|
/**
|
|
5
14
|
* Who the booking is for, as the part of its key that must not change when a
|
|
6
15
|
* retry says the same thing again.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"same-booking.d.ts","sourceRoot":"","sources":["../src/same-booking.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAStD,0HAA0H;AAC1H,eAAO,MAAM,eAAe,QAAc,CAAC;AAE3C;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,GACtB,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,EACpC,WAAW,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,YAAY,CAAC,KACpD,MAWc,CAAC;AAElB;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,SAET,CAAC,EAAE,MAAM,MAAM,EAAE,EAAE,KAAK,MAAM,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAuBnE,CAAC"}
|
|
1
|
+
{"version":3,"file":"same-booking.d.ts","sourceRoot":"","sources":["../src/same-booking.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAStD,0HAA0H;AAC1H,eAAO,MAAM,eAAe,QAAc,CAAC;AAE3C;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GAAI,cAAU,KAAG,MAGxC,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,GACtB,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,EACpC,WAAW,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,YAAY,CAAC,KACpD,MAWc,CAAC;AAElB;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,SAET,CAAC,EAAE,MAAM,MAAM,EAAE,EAAE,KAAK,MAAM,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAuBnE,CAAC"}
|
package/dist/same-booking.js
CHANGED
|
@@ -7,6 +7,18 @@ import { createHash } from 'node:crypto';
|
|
|
7
7
|
// whole trip.
|
|
8
8
|
/** The same booking asked for again this soon - same conversation, email, stay and guest - is answered with the first. */
|
|
9
9
|
export const SAME_BOOKING_MS = 10 * 60_000;
|
|
10
|
+
/**
|
|
11
|
+
* A phone as its digits, China's country code taken off a mobile number.
|
|
12
|
+
*
|
|
13
|
+
* ⚠️ "+86 138…", "0086 138…" AND "138…" ARE ONE PHONE (2026-10-29 audit, H6).
|
|
14
|
+
* Only the non-digits came off, so a retry in which the model wrote the number
|
|
15
|
+
* with its country code was another guest, and booked a second room - the same
|
|
16
|
+
* reason the note is left out. Any other number is compared as it is written.
|
|
17
|
+
*/
|
|
18
|
+
export const phoneDigits = (phone = '') => {
|
|
19
|
+
const digits = phone.normalize('NFKC').replace(/\D/g, '');
|
|
20
|
+
return /^(?:00)?86(1\d{10})$/.exec(digits)?.[1] ?? digits;
|
|
21
|
+
};
|
|
10
22
|
/**
|
|
11
23
|
* Who the booking is for, as the part of its key that must not change when a
|
|
12
24
|
* retry says the same thing again.
|
|
@@ -27,7 +39,7 @@ export const SAME_BOOKING_MS = 10 * 60_000;
|
|
|
27
39
|
export const guestDigest = (guest, requests) => createHash('sha256')
|
|
28
40
|
.update(JSON.stringify([
|
|
29
41
|
guest.name.normalize('NFKC').replace(/\s+/g, '').toLowerCase(),
|
|
30
|
-
(guest.phone
|
|
42
|
+
phoneDigits(guest.phone),
|
|
31
43
|
[...(requests?.kinds ?? [])].sort(),
|
|
32
44
|
requests?.arrivingAt ?? '',
|
|
33
45
|
]))
|