sbb-mcp 0.4.3 → 0.5.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/LICENSE +50 -57
- package/README.md +25 -214
- package/dist/index.js +47 -19
- package/package.json +10 -33
- package/dist/auth.d.ts +0 -2
- package/dist/auth.js +0 -44
- package/dist/auth.js.map +0 -1
- package/dist/cache.d.ts +0 -14
- package/dist/cache.js +0 -62
- package/dist/cache.js.map +0 -1
- package/dist/client.d.ts +0 -17
- package/dist/client.js +0 -70
- package/dist/client.js.map +0 -1
- package/dist/formatters.d.ts +0 -35
- package/dist/formatters.js +0 -285
- package/dist/formatters.js.map +0 -1
- package/dist/http.d.ts +0 -2
- package/dist/http.js +0 -117
- package/dist/http.js.map +0 -1
- package/dist/i18n.d.ts +0 -22
- package/dist/i18n.js +0 -36
- package/dist/i18n.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js.map +0 -1
- package/dist/journey.d.ts +0 -5
- package/dist/journey.js +0 -67
- package/dist/journey.js.map +0 -1
- package/dist/look2book.d.ts +0 -98
- package/dist/look2book.js +0 -212
- package/dist/look2book.js.map +0 -1
- package/dist/prices.d.ts +0 -3
- package/dist/prices.js +0 -51
- package/dist/prices.js.map +0 -1
- package/dist/profile.d.ts +0 -16
- package/dist/profile.js +0 -84
- package/dist/profile.js.map +0 -1
- package/dist/rate-limit.d.ts +0 -5
- package/dist/rate-limit.js +0 -44
- package/dist/rate-limit.js.map +0 -1
- package/dist/shortlink.d.ts +0 -60
- package/dist/shortlink.js +0 -122
- package/dist/shortlink.js.map +0 -1
- package/dist/structured.d.ts +0 -125
- package/dist/structured.js +0 -134
- package/dist/structured.js.map +0 -1
- package/dist/swisstrip.d.ts +0 -41
- package/dist/swisstrip.js +0 -135
- package/dist/swisstrip.js.map +0 -1
- package/dist/tools.d.ts +0 -40
- package/dist/tools.js +0 -509
- package/dist/tools.js.map +0 -1
- package/dist/transport/index.d.ts +0 -10
- package/dist/transport/index.js +0 -13
- package/dist/transport/index.js.map +0 -1
- package/dist/transport/setup.d.ts +0 -1
- package/dist/transport/setup.js +0 -59
- package/dist/transport/setup.js.map +0 -1
- package/dist/transport/smapi-auth.d.ts +0 -14
- package/dist/transport/smapi-auth.js +0 -89
- package/dist/transport/smapi-auth.js.map +0 -1
- package/dist/transport/smapi-client.d.ts +0 -46
- package/dist/transport/smapi-client.js +0 -186
- package/dist/transport/smapi-client.js.map +0 -1
- package/dist/transport/smapi-journey.d.ts +0 -29
- package/dist/transport/smapi-journey.js +0 -91
- package/dist/transport/smapi-journey.js.map +0 -1
- package/dist/transport/smapi-mock.d.ts +0 -9
- package/dist/transport/smapi-mock.js +0 -151
- package/dist/transport/smapi-mock.js.map +0 -1
- package/dist/transport/smapi-prices.d.ts +0 -48
- package/dist/transport/smapi-prices.js +0 -144
- package/dist/transport/smapi-prices.js.map +0 -1
- package/dist/transport/smapi-types.d.ts +0 -181
- package/dist/transport/smapi-types.js +0 -2
- package/dist/transport/smapi-types.js.map +0 -1
- package/dist/types.d.ts +0 -139
- package/dist/types.js +0 -3
- package/dist/types.js.map +0 -1
- package/dist/widgets.d.ts +0 -60
- package/dist/widgets.js +0 -184
- package/dist/widgets.js.map +0 -1
- package/web/dist/widgets.css +0 -1
- package/web/dist/widgets.js +0 -1
package/dist/swisstrip.js
DELETED
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SwissTrip API client for sbb-mcp (Layer 3)
|
|
3
|
-
*
|
|
4
|
-
* When SWISSTRIP_TOKEN is set, sbb-mcp fetches traveler profiles from the
|
|
5
|
-
* SwissTrip cloud API instead of (or in addition to) the local file.
|
|
6
|
-
* This enables cloud-synced profiles and multi-traveler support (partner, kids).
|
|
7
|
-
*/
|
|
8
|
-
// ─── Config ─────────────────────────────────────────────────────────────────
|
|
9
|
-
//
|
|
10
|
-
// Env vars are read lazily (per call) rather than cached at module load so
|
|
11
|
-
// tests can toggle `SWISSTRIP_TOKEN` between cases without reimporting the
|
|
12
|
-
// module. In production the cost is one extra property read per call —
|
|
13
|
-
// negligible — and the invariant it protects (anonymous path always works)
|
|
14
|
-
// is load-bearing for the no-login-required product design.
|
|
15
|
-
function getToken() {
|
|
16
|
-
return process.env.SWISSTRIP_TOKEN;
|
|
17
|
-
}
|
|
18
|
-
function getBaseUrl() {
|
|
19
|
-
return process.env.SWISSTRIP_URL || 'https://swisstrip.ch';
|
|
20
|
-
}
|
|
21
|
-
export function isSwissTripConfigured() {
|
|
22
|
-
return !!getToken();
|
|
23
|
-
}
|
|
24
|
-
// ─── API calls ──────────────────────────────────────────────────────────────
|
|
25
|
-
async function fetchSwissTrip(path) {
|
|
26
|
-
const token = getToken();
|
|
27
|
-
if (!token) {
|
|
28
|
-
// Caller should have gated on `isSwissTripConfigured()`. Throwing here
|
|
29
|
-
// rather than sending an unauthenticated request catches misuse early.
|
|
30
|
-
throw new Error('SwissTrip API called without SWISSTRIP_TOKEN — check isSwissTripConfigured() first');
|
|
31
|
-
}
|
|
32
|
-
const url = `${getBaseUrl()}${path}`;
|
|
33
|
-
const res = await fetch(url, {
|
|
34
|
-
headers: {
|
|
35
|
-
'Authorization': `Bearer ${token}`,
|
|
36
|
-
'Accept': 'application/json',
|
|
37
|
-
},
|
|
38
|
-
});
|
|
39
|
-
if (!res.ok) {
|
|
40
|
-
const body = await res.text().catch(() => '');
|
|
41
|
-
throw new Error(`SwissTrip API error: ${res.status} ${res.statusText}${body ? ` — ${body}` : ''}`);
|
|
42
|
-
}
|
|
43
|
-
return res.json();
|
|
44
|
-
}
|
|
45
|
-
export async function fetchProfile() {
|
|
46
|
-
return fetchSwissTrip('/api/mcp/profile');
|
|
47
|
-
}
|
|
48
|
-
export async function fetchTravelers() {
|
|
49
|
-
return fetchSwissTrip('/api/travelers');
|
|
50
|
-
}
|
|
51
|
-
// ─── Conversion helpers ─────────────────────────────────────────────────────
|
|
52
|
-
function parseReductionCard(card) {
|
|
53
|
-
if (!card)
|
|
54
|
-
return 'NONE';
|
|
55
|
-
const upper = card.toUpperCase();
|
|
56
|
-
if (upper === 'HALF_FARE' || upper === 'HALBTAX')
|
|
57
|
-
return 'HALF_FARE';
|
|
58
|
-
if (upper === 'GA')
|
|
59
|
-
return 'GA';
|
|
60
|
-
return 'NONE';
|
|
61
|
-
}
|
|
62
|
-
function isChild(dob) {
|
|
63
|
-
if (!dob)
|
|
64
|
-
return false;
|
|
65
|
-
const birth = new Date(dob);
|
|
66
|
-
const age = (Date.now() - birth.getTime()) / (365.25 * 24 * 60 * 60 * 1000);
|
|
67
|
-
return age < 16;
|
|
68
|
-
}
|
|
69
|
-
/** Convert a SwissTrip traveler to an SMAPI traveler for pricing/offers */
|
|
70
|
-
export function toSmapiTraveler(t, index) {
|
|
71
|
-
return {
|
|
72
|
-
id: `traveler-${index + 1}`,
|
|
73
|
-
type: isChild(t.date_of_birth) ? 'CHILD' : 'ADULT',
|
|
74
|
-
...(t.date_of_birth && { dateOfBirth: t.date_of_birth }),
|
|
75
|
-
reductionCard: parseReductionCard(t.reduction_card),
|
|
76
|
-
...(t.first_name && { firstName: t.first_name.slice(0, 30) }),
|
|
77
|
-
...(t.last_name && { lastName: t.last_name.slice(0, 30) }),
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
/** Convert the primary profile (from /api/mcp/profile) to an SMAPI traveler */
|
|
81
|
-
export function profileToSmapiTraveler(p) {
|
|
82
|
-
return {
|
|
83
|
-
id: 'traveler-1',
|
|
84
|
-
type: isChild(p.travel_date_of_birth) ? 'CHILD' : 'ADULT',
|
|
85
|
-
...(p.travel_date_of_birth && { dateOfBirth: p.travel_date_of_birth }),
|
|
86
|
-
reductionCard: parseReductionCard(p.travel_reduction_card),
|
|
87
|
-
...(p.travel_first_name && { firstName: p.travel_first_name.slice(0, 30) }),
|
|
88
|
-
...(p.travel_last_name && { lastName: p.travel_last_name.slice(0, 30) }),
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
// ─── Formatting ─────────────────────────────────────────────────────────────
|
|
92
|
-
export function formatTravelersList(travelers) {
|
|
93
|
-
if (travelers.length === 0) {
|
|
94
|
-
return 'No travelers found in your SwissTrip account. Add travelers at swisstrip.ch/settings.';
|
|
95
|
-
}
|
|
96
|
-
const lines = [`**Your Travelers** (${travelers.length})`, ''];
|
|
97
|
-
for (const t of travelers) {
|
|
98
|
-
const name = [t.first_name, t.last_name].filter(Boolean).join(' ') || 'Unnamed';
|
|
99
|
-
const label = t.label ? ` (${t.label})` : '';
|
|
100
|
-
const primary = t.is_primary ? ' ★' : '';
|
|
101
|
-
const card = parseReductionCard(t.reduction_card);
|
|
102
|
-
const cardStr = card === 'HALF_FARE' ? 'Halbtax' : card === 'GA' ? 'GA' : 'No card';
|
|
103
|
-
const type = isChild(t.date_of_birth) ? 'Child' : 'Adult';
|
|
104
|
-
lines.push(`- **${name}**${label}${primary} — ${type}, ${cardStr}`);
|
|
105
|
-
}
|
|
106
|
-
lines.push('');
|
|
107
|
-
lines.push('★ = primary traveler. Use traveler names with `get_prices` for family pricing.');
|
|
108
|
-
return lines.join('\n');
|
|
109
|
-
}
|
|
110
|
-
export function formatCloudProfile(profile) {
|
|
111
|
-
const lines = ['**Your Travel Profile** (synced from SwissTrip)', ''];
|
|
112
|
-
const name = [profile.travel_first_name, profile.travel_last_name].filter(Boolean).join(' ');
|
|
113
|
-
if (name)
|
|
114
|
-
lines.push(`Name: ${name}`);
|
|
115
|
-
if (profile.travel_date_of_birth)
|
|
116
|
-
lines.push(`Date of birth: ${profile.travel_date_of_birth}`);
|
|
117
|
-
const card = parseReductionCard(profile.travel_reduction_card);
|
|
118
|
-
if (card !== 'NONE') {
|
|
119
|
-
const cardName = card === 'HALF_FARE' ? 'Halbtax (Half-Fare)' : 'GA Travelcard';
|
|
120
|
-
let cardLine = `Reduction card: ${cardName}`;
|
|
121
|
-
if (profile.travel_reduction_card_valid_until) {
|
|
122
|
-
cardLine += ` (valid until ${profile.travel_reduction_card_valid_until})`;
|
|
123
|
-
}
|
|
124
|
-
lines.push(cardLine);
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
lines.push('Reduction card: None');
|
|
128
|
-
}
|
|
129
|
-
if (profile.locale)
|
|
130
|
-
lines.push(`Locale: ${profile.locale}`);
|
|
131
|
-
lines.push('');
|
|
132
|
-
lines.push('*Profile managed at swisstrip.ch/settings.*');
|
|
133
|
-
return lines.join('\n');
|
|
134
|
-
}
|
|
135
|
-
//# sourceMappingURL=swisstrip.js.map
|
package/dist/swisstrip.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"swisstrip.js","sourceRoot":"","sources":["../src/swisstrip.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
-
/** Shape of save_profile tool input. Kept in sync with the z-schema below. */
|
|
3
|
-
export interface SaveProfileInput {
|
|
4
|
-
first_name?: string;
|
|
5
|
-
last_name?: string;
|
|
6
|
-
date_of_birth?: string;
|
|
7
|
-
reduction_card?: 'HALF_FARE' | 'GA' | 'NONE';
|
|
8
|
-
reduction_card_valid_until?: string;
|
|
9
|
-
}
|
|
10
|
-
export declare function handleSaveProfile(input: SaveProfileInput): Promise<{
|
|
11
|
-
content: {
|
|
12
|
-
type: "text";
|
|
13
|
-
text: string;
|
|
14
|
-
}[];
|
|
15
|
-
isError: true;
|
|
16
|
-
} | {
|
|
17
|
-
content: {
|
|
18
|
-
type: "text";
|
|
19
|
-
text: string;
|
|
20
|
-
}[];
|
|
21
|
-
}>;
|
|
22
|
-
export declare function handleGetProfile(): Promise<{
|
|
23
|
-
content: {
|
|
24
|
-
type: "text";
|
|
25
|
-
text: string;
|
|
26
|
-
}[];
|
|
27
|
-
}>;
|
|
28
|
-
export declare function handleListTravelers(): Promise<{
|
|
29
|
-
content: {
|
|
30
|
-
type: "text";
|
|
31
|
-
text: string;
|
|
32
|
-
}[];
|
|
33
|
-
isError: true;
|
|
34
|
-
} | {
|
|
35
|
-
content: {
|
|
36
|
-
type: "text";
|
|
37
|
-
text: string;
|
|
38
|
-
}[];
|
|
39
|
-
}>;
|
|
40
|
-
export declare function createSbbMcpServer(): McpServer;
|