@kajidog/connpass-mcp-server 0.1.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/LICENCE +21 -0
- package/README.md +190 -0
- package/dist/apps-sdk.d.ts +8 -0
- package/dist/apps-sdk.d.ts.map +1 -0
- package/dist/apps-sdk.js +77 -0
- package/dist/apps-sdk.js.map +1 -0
- package/dist/auth/jwt.d.ts +23 -0
- package/dist/auth/jwt.d.ts.map +1 -0
- package/dist/auth/jwt.js +143 -0
- package/dist/auth/jwt.js.map +1 -0
- package/dist/config.d.ts +5 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +60 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +178 -0
- package/dist/index.js.map +1 -0
- package/dist/session.d.ts +9 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +58 -0
- package/dist/session.js.map +1 -0
- package/dist/tools/events.d.ts +82 -0
- package/dist/tools/events.d.ts.map +1 -0
- package/dist/tools/events.js +390 -0
- package/dist/tools/events.js.map +1 -0
- package/dist/tools/formatting.d.ts +74 -0
- package/dist/tools/formatting.d.ts.map +1 -0
- package/dist/tools/formatting.js +211 -0
- package/dist/tools/formatting.js.map +1 -0
- package/dist/tools/groups.d.ts +48 -0
- package/dist/tools/groups.d.ts.map +1 -0
- package/dist/tools/groups.js +115 -0
- package/dist/tools/groups.js.map +1 -0
- package/dist/tools/index.d.ts +58 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +21 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/shared.d.ts +24 -0
- package/dist/tools/shared.d.ts.map +1 -0
- package/dist/tools/shared.js +136 -0
- package/dist/tools/shared.js.map +1 -0
- package/dist/tools/users.d.ts +51 -0
- package/dist/tools/users.d.ts.map +1 -0
- package/dist/tools/users.js +252 -0
- package/dist/tools/users.js.map +1 -0
- package/dist/transports/http.d.ts +17 -0
- package/dist/transports/http.d.ts.map +1 -0
- package/dist/transports/http.js +166 -0
- package/dist/transports/http.js.map +1 -0
- package/dist/transports/sse.d.ts +21 -0
- package/dist/transports/sse.d.ts.map +1 -0
- package/dist/transports/sse.js +153 -0
- package/dist/transports/sse.js.map +1 -0
- package/dist/transports/stdio.d.ts +38 -0
- package/dist/transports/stdio.d.ts.map +1 -0
- package/dist/transports/stdio.js +29 -0
- package/dist/transports/stdio.js.map +1 -0
- package/dist/widgets/connpass-events.d.ts +29 -0
- package/dist/widgets/connpass-events.d.ts.map +1 -0
- package/dist/widgets/connpass-events.html +2269 -0
- package/dist/widgets/connpass-events.js +58 -0
- package/dist/widgets/connpass-events.js.map +1 -0
- package/dist/widgets/index.d.ts +6 -0
- package/dist/widgets/index.d.ts.map +1 -0
- package/dist/widgets/index.js +31 -0
- package/dist/widgets/index.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,390 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.eventTools = void 0;
|
|
4
|
+
exports.isEventTool = isEventTool;
|
|
5
|
+
exports.handleEventTool = handleEventTool;
|
|
6
|
+
const zod_1 = require("zod");
|
|
7
|
+
const shared_js_1 = require("./shared.js");
|
|
8
|
+
const formatting_js_1 = require("./formatting.js");
|
|
9
|
+
const config_js_1 = require("../config.js");
|
|
10
|
+
const connpass_events_js_1 = require("../widgets/connpass-events.js");
|
|
11
|
+
function buildEventsWidgetMeta() {
|
|
12
|
+
return {
|
|
13
|
+
"openai/outputTemplate": connpass_events_js_1.CONNPASS_EVENTS_WIDGET_URI,
|
|
14
|
+
"openai/resultCanProduceWidget": true,
|
|
15
|
+
"openai/widgetAccessible": true,
|
|
16
|
+
"openai/widgetCategory": "carousel",
|
|
17
|
+
"openai/toolInvocation/invoking": "Connpassイベントを検索中…",
|
|
18
|
+
"openai/toolInvocation/invoked": "Connpassイベントを表示しました",
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
const EventSearchInputSchema = zod_1.z.object({
|
|
22
|
+
query: zod_1.z
|
|
23
|
+
.string()
|
|
24
|
+
.min(1)
|
|
25
|
+
.describe("Search for events that match ALL of these keywords")
|
|
26
|
+
.optional(),
|
|
27
|
+
anyQuery: zod_1.z
|
|
28
|
+
.string()
|
|
29
|
+
.min(1)
|
|
30
|
+
.describe("Search for events that match ANY of these keywords (comma separated is ok)")
|
|
31
|
+
.optional(),
|
|
32
|
+
on: zod_1.z
|
|
33
|
+
.union([zod_1.z.string().min(1), zod_1.z.array(zod_1.z.string().min(1))])
|
|
34
|
+
.describe("Specific date(s) to match. Natural language like 'today' or '2024-12-24' is accepted")
|
|
35
|
+
.optional(),
|
|
36
|
+
from: zod_1.z
|
|
37
|
+
.string()
|
|
38
|
+
.min(1)
|
|
39
|
+
.describe("Start of the date range (inclusive). Natural language like 'next Monday' works when Date.parse can understand it")
|
|
40
|
+
.optional(),
|
|
41
|
+
to: zod_1.z
|
|
42
|
+
.string()
|
|
43
|
+
.min(1)
|
|
44
|
+
.describe("End of the date range (inclusive). Use together with 'from' for a window")
|
|
45
|
+
.optional(),
|
|
46
|
+
participantNickname: zod_1.z
|
|
47
|
+
.string()
|
|
48
|
+
.min(1)
|
|
49
|
+
.describe("Filter by participant nickname")
|
|
50
|
+
.optional(),
|
|
51
|
+
hostNickname: zod_1.z
|
|
52
|
+
.string()
|
|
53
|
+
.min(1)
|
|
54
|
+
.describe("Filter by host / owner nickname")
|
|
55
|
+
.optional(),
|
|
56
|
+
groupIds: zod_1.z
|
|
57
|
+
.array(zod_1.z.number())
|
|
58
|
+
.describe("Limit results to specific Connpass group IDs")
|
|
59
|
+
.optional(),
|
|
60
|
+
prefectures: zod_1.z
|
|
61
|
+
.union([zod_1.z.string().min(1), zod_1.z.array(zod_1.z.string().min(1))])
|
|
62
|
+
.describe("Prefecture name(s) to filter by")
|
|
63
|
+
.optional(),
|
|
64
|
+
page: zod_1.z
|
|
65
|
+
.number()
|
|
66
|
+
.int()
|
|
67
|
+
.min(1)
|
|
68
|
+
.describe("1-based page number. Each page contains 'pageSize' items")
|
|
69
|
+
.optional(),
|
|
70
|
+
pageSize: zod_1.z
|
|
71
|
+
.number()
|
|
72
|
+
.int()
|
|
73
|
+
.min(1)
|
|
74
|
+
.max(100)
|
|
75
|
+
.describe("How many events per page (default 20, Connpass max 100)")
|
|
76
|
+
.optional(),
|
|
77
|
+
sort: zod_1.z
|
|
78
|
+
.enum(shared_js_1.EVENT_SORT_KEYS)
|
|
79
|
+
.describe("Sort order: soonest first, latest first, or newly added")
|
|
80
|
+
.optional(),
|
|
81
|
+
});
|
|
82
|
+
const EventPresentationsInputSchema = zod_1.z.object({
|
|
83
|
+
eventId: zod_1.z
|
|
84
|
+
.union([zod_1.z.number().int().positive(), zod_1.z.string().min(1)])
|
|
85
|
+
.describe("Connpass event ID")
|
|
86
|
+
.transform((value) => Number(value))
|
|
87
|
+
.refine((value) => Number.isFinite(value), "eventId must be a number"),
|
|
88
|
+
});
|
|
89
|
+
const MyUpcomingEventsInputSchema = zod_1.z.object({
|
|
90
|
+
userId: zod_1.z
|
|
91
|
+
.number()
|
|
92
|
+
.int()
|
|
93
|
+
.positive()
|
|
94
|
+
.describe("Connpass user ID. If omitted, uses CONNPASS_DEFAULT_USER_ID")
|
|
95
|
+
.optional(),
|
|
96
|
+
nickname: zod_1.z
|
|
97
|
+
.string()
|
|
98
|
+
.min(1)
|
|
99
|
+
.describe("Connpass user nickname. If specified, searches for the user by this nickname")
|
|
100
|
+
.optional(),
|
|
101
|
+
daysAhead: zod_1.z
|
|
102
|
+
.number()
|
|
103
|
+
.int()
|
|
104
|
+
.min(1)
|
|
105
|
+
.max(60)
|
|
106
|
+
.describe("How many days ahead to include (default 7)")
|
|
107
|
+
.optional(),
|
|
108
|
+
maxEvents: zod_1.z
|
|
109
|
+
.number()
|
|
110
|
+
.int()
|
|
111
|
+
.min(1)
|
|
112
|
+
.max(100)
|
|
113
|
+
.describe("Maximum number of attended events to examine (default 30)")
|
|
114
|
+
.optional(),
|
|
115
|
+
includePresentations: zod_1.z
|
|
116
|
+
.boolean()
|
|
117
|
+
.describe("Whether to fetch presentation details for each event. Extra API calls respect the 1 req/sec limit")
|
|
118
|
+
.optional(),
|
|
119
|
+
});
|
|
120
|
+
function buildEventSearchParams(input, options) {
|
|
121
|
+
const pagination = (0, shared_js_1.applyPagination)(input.page, input.pageSize, options);
|
|
122
|
+
return {
|
|
123
|
+
keyword: input.query,
|
|
124
|
+
keywordOr: input.anyQuery,
|
|
125
|
+
ymd: (0, shared_js_1.toYmdArray)(input.on),
|
|
126
|
+
ymdFrom: input.from ? (0, shared_js_1.parseHyphenatedDate)(input.from) : undefined,
|
|
127
|
+
ymdTo: input.to ? (0, shared_js_1.parseHyphenatedDate)(input.to) : undefined,
|
|
128
|
+
nickname: input.participantNickname,
|
|
129
|
+
ownerNickname: input.hostNickname,
|
|
130
|
+
groupId: input.groupIds,
|
|
131
|
+
prefecture: (0, shared_js_1.normalizeStringArray)(input.prefectures),
|
|
132
|
+
order: input.sort ? shared_js_1.EVENT_SORT_MAP[input.sort] : undefined,
|
|
133
|
+
...pagination,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
function startOfDay(date) {
|
|
137
|
+
return new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
|
138
|
+
}
|
|
139
|
+
function isSameDay(a, b) {
|
|
140
|
+
return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();
|
|
141
|
+
}
|
|
142
|
+
function formatDateLabel(date) {
|
|
143
|
+
const year = date.getFullYear();
|
|
144
|
+
const month = String(date.getMonth() + 1).padStart(2, "0");
|
|
145
|
+
const day = String(date.getDate()).padStart(2, "0");
|
|
146
|
+
return `${year}-${month}-${day}`;
|
|
147
|
+
}
|
|
148
|
+
const DEFAULT_EVENT_FORMAT_OPTIONS = {
|
|
149
|
+
descriptionLimit: 300,
|
|
150
|
+
catchPhraseLimit: 150,
|
|
151
|
+
};
|
|
152
|
+
function resolveFormatOptions() {
|
|
153
|
+
if ((0, config_js_1.isAppsSdkOutputEnabled)()) {
|
|
154
|
+
return {
|
|
155
|
+
...DEFAULT_EVENT_FORMAT_OPTIONS,
|
|
156
|
+
descriptionLimit: undefined,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
return DEFAULT_EVENT_FORMAT_OPTIONS;
|
|
160
|
+
}
|
|
161
|
+
async function maybeAttachPresentations(events, includePresentations, connpassClient) {
|
|
162
|
+
if (!includePresentations || events.length === 0) {
|
|
163
|
+
return events;
|
|
164
|
+
}
|
|
165
|
+
const enriched = [];
|
|
166
|
+
for (let i = 0; i < events.length; i++) {
|
|
167
|
+
const event = events[i];
|
|
168
|
+
// Respect Connpass API rate limit: 1 request per second
|
|
169
|
+
if (i > 0) {
|
|
170
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
171
|
+
}
|
|
172
|
+
const presentationsResponse = await connpassClient.getEventPresentations(event.id);
|
|
173
|
+
enriched.push({
|
|
174
|
+
...event,
|
|
175
|
+
presentations: presentationsResponse.presentations,
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
return enriched;
|
|
179
|
+
}
|
|
180
|
+
const eventToolsInternal = [
|
|
181
|
+
{
|
|
182
|
+
name: "search_events",
|
|
183
|
+
description: "Find Connpass events using natural date phrases and simple filters",
|
|
184
|
+
inputSchema: {
|
|
185
|
+
type: "object",
|
|
186
|
+
properties: {
|
|
187
|
+
query: {
|
|
188
|
+
type: "string",
|
|
189
|
+
description: "All keywords that must appear in the event title / description",
|
|
190
|
+
},
|
|
191
|
+
anyQuery: {
|
|
192
|
+
type: "string",
|
|
193
|
+
description: "Any of these keywords may match (OR search, comma separated is ok)",
|
|
194
|
+
},
|
|
195
|
+
on: {
|
|
196
|
+
description: "Specific date(s) like '2024-12-24' or 'today'. Accepts a single string or an array",
|
|
197
|
+
oneOf: [
|
|
198
|
+
{ type: "string" },
|
|
199
|
+
{ type: "array", items: { type: "string" }, minItems: 1 },
|
|
200
|
+
],
|
|
201
|
+
},
|
|
202
|
+
from: {
|
|
203
|
+
type: "string",
|
|
204
|
+
description: "Inclusive start date. Natural expressions like 'next Monday' are accepted",
|
|
205
|
+
},
|
|
206
|
+
to: {
|
|
207
|
+
type: "string",
|
|
208
|
+
description: "Inclusive end date for the date range",
|
|
209
|
+
},
|
|
210
|
+
participantNickname: {
|
|
211
|
+
type: "string",
|
|
212
|
+
description: "Limit to events joined by this participant nickname",
|
|
213
|
+
},
|
|
214
|
+
hostNickname: {
|
|
215
|
+
type: "string",
|
|
216
|
+
description: "Filter by the host / organiser nickname",
|
|
217
|
+
},
|
|
218
|
+
groupIds: {
|
|
219
|
+
type: "array",
|
|
220
|
+
items: { type: "number" },
|
|
221
|
+
description: "Only show events from these Connpass group IDs",
|
|
222
|
+
},
|
|
223
|
+
prefectures: {
|
|
224
|
+
description: "Prefecture name(s) to match. Single string or array",
|
|
225
|
+
oneOf: [
|
|
226
|
+
{ type: "string" },
|
|
227
|
+
{ type: "array", items: { type: "string" }, minItems: 1 },
|
|
228
|
+
],
|
|
229
|
+
},
|
|
230
|
+
page: {
|
|
231
|
+
type: "integer",
|
|
232
|
+
minimum: 1,
|
|
233
|
+
description: "1-based page number (default 1)",
|
|
234
|
+
},
|
|
235
|
+
pageSize: {
|
|
236
|
+
type: "integer",
|
|
237
|
+
minimum: 1,
|
|
238
|
+
maximum: 100,
|
|
239
|
+
description: "How many events per page (default 20, Connpass max 100)",
|
|
240
|
+
},
|
|
241
|
+
sort: {
|
|
242
|
+
type: "string",
|
|
243
|
+
enum: [...shared_js_1.EVENT_SORT_KEYS],
|
|
244
|
+
description: "Sort by soonest, latest, or newly created events",
|
|
245
|
+
},
|
|
246
|
+
},
|
|
247
|
+
},
|
|
248
|
+
_meta: buildEventsWidgetMeta(),
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
name: "get_event_presentations",
|
|
252
|
+
description: "Look up presentation details for a specific event",
|
|
253
|
+
inputSchema: {
|
|
254
|
+
type: "object",
|
|
255
|
+
properties: {
|
|
256
|
+
eventId: {
|
|
257
|
+
type: "integer",
|
|
258
|
+
description: "Connpass event ID (either number or numeric string)",
|
|
259
|
+
},
|
|
260
|
+
},
|
|
261
|
+
required: ["eventId"],
|
|
262
|
+
},
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
name: "get_my_upcoming_events",
|
|
266
|
+
description: "Get today's and upcoming events for the default or specified user",
|
|
267
|
+
inputSchema: {
|
|
268
|
+
type: "object",
|
|
269
|
+
properties: {
|
|
270
|
+
userId: {
|
|
271
|
+
type: "integer",
|
|
272
|
+
description: "Connpass user ID to inspect. Falls back to CONNPASS_DEFAULT_USER_ID",
|
|
273
|
+
},
|
|
274
|
+
nickname: {
|
|
275
|
+
type: "string",
|
|
276
|
+
description: "Connpass user nickname. If specified, searches for the user by this nickname",
|
|
277
|
+
},
|
|
278
|
+
daysAhead: {
|
|
279
|
+
type: "integer",
|
|
280
|
+
minimum: 1,
|
|
281
|
+
maximum: 60,
|
|
282
|
+
description: "Include events up to this many days ahead (default 7)",
|
|
283
|
+
},
|
|
284
|
+
maxEvents: {
|
|
285
|
+
type: "integer",
|
|
286
|
+
minimum: 1,
|
|
287
|
+
maximum: 100,
|
|
288
|
+
description: "Maximum attended events to check (default 30)",
|
|
289
|
+
},
|
|
290
|
+
includePresentations: {
|
|
291
|
+
type: "boolean",
|
|
292
|
+
description: "If true, also fetch presentation details for each event (extra API calls, rate-limited)",
|
|
293
|
+
},
|
|
294
|
+
},
|
|
295
|
+
},
|
|
296
|
+
_meta: buildEventsWidgetMeta(),
|
|
297
|
+
},
|
|
298
|
+
];
|
|
299
|
+
const eventHandlers = {
|
|
300
|
+
async search_events(args, connpassClient) {
|
|
301
|
+
const params = EventSearchInputSchema.parse(args ?? {});
|
|
302
|
+
const searchParams = buildEventSearchParams(params);
|
|
303
|
+
const response = await connpassClient.searchEvents(searchParams);
|
|
304
|
+
return (0, formatting_js_1.formatEventsResponse)(response, resolveFormatOptions());
|
|
305
|
+
},
|
|
306
|
+
async get_event_presentations(args, connpassClient) {
|
|
307
|
+
const { eventId } = EventPresentationsInputSchema.parse(args ?? {});
|
|
308
|
+
const response = await connpassClient.getEventPresentations(eventId);
|
|
309
|
+
return (0, formatting_js_1.formatPresentationsResponse)(response, resolveFormatOptions());
|
|
310
|
+
},
|
|
311
|
+
async get_my_upcoming_events(args, connpassClient) {
|
|
312
|
+
const parsed = MyUpcomingEventsInputSchema.parse(args ?? {});
|
|
313
|
+
let resolvedUserId = parsed.userId ?? (0, config_js_1.getDefaultUserId)();
|
|
314
|
+
let userNickname;
|
|
315
|
+
// If nickname is provided, search for the user by nickname
|
|
316
|
+
if (parsed.nickname) {
|
|
317
|
+
const userSearchResponse = await connpassClient.searchUsers({ nickname: parsed.nickname });
|
|
318
|
+
if (userSearchResponse.users.length === 0) {
|
|
319
|
+
throw new Error(`User with nickname "${parsed.nickname}" not found.`);
|
|
320
|
+
}
|
|
321
|
+
const foundUser = userSearchResponse.users[0];
|
|
322
|
+
resolvedUserId = foundUser.id;
|
|
323
|
+
userNickname = foundUser.nickname;
|
|
324
|
+
// Wait 1 second to respect rate limit before next API call
|
|
325
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
326
|
+
}
|
|
327
|
+
if (!resolvedUserId) {
|
|
328
|
+
throw new Error("User ID or nickname is required. Pass 'userId', 'nickname', or set CONNPASS_DEFAULT_USER_ID in the environment.");
|
|
329
|
+
}
|
|
330
|
+
const daysAhead = parsed.daysAhead ?? 7;
|
|
331
|
+
const maxEventsToFetch = parsed.maxEvents ?? 30;
|
|
332
|
+
const includePresentations = parsed.includePresentations ?? (0, config_js_1.getDefaultIncludePresentations)();
|
|
333
|
+
const today = startOfDay(new Date());
|
|
334
|
+
const rangeEnd = new Date(today);
|
|
335
|
+
rangeEnd.setDate(rangeEnd.getDate() + daysAhead);
|
|
336
|
+
rangeEnd.setHours(23, 59, 59, 999);
|
|
337
|
+
// If nickname was not already resolved, fetch user info by ID
|
|
338
|
+
if (!userNickname) {
|
|
339
|
+
const userResponse = await connpassClient.searchUsers({ userId: [resolvedUserId] });
|
|
340
|
+
if (userResponse.users.length === 0) {
|
|
341
|
+
throw new Error(`User with ID ${resolvedUserId} not found.`);
|
|
342
|
+
}
|
|
343
|
+
const user = userResponse.users.find((u) => u.id === resolvedUserId);
|
|
344
|
+
if (!user) {
|
|
345
|
+
throw new Error(`User with ID ${resolvedUserId} not found.`);
|
|
346
|
+
}
|
|
347
|
+
userNickname = user.nickname;
|
|
348
|
+
// Wait 1 second to respect rate limit before next API call
|
|
349
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
350
|
+
}
|
|
351
|
+
const searchResponse = await connpassClient.searchEvents({
|
|
352
|
+
nickname: userNickname,
|
|
353
|
+
ymdFrom: formatDateLabel(today),
|
|
354
|
+
ymdTo: formatDateLabel(rangeEnd),
|
|
355
|
+
order: shared_js_1.EVENT_SORT_MAP["start-date-asc"],
|
|
356
|
+
count: maxEventsToFetch,
|
|
357
|
+
});
|
|
358
|
+
const todayEvents = searchResponse.events.filter((event) => isSameDay(new Date(event.startedAt), today));
|
|
359
|
+
const upcomingEvents = searchResponse.events.filter((event) => !isSameDay(new Date(event.startedAt), today));
|
|
360
|
+
const [enrichedToday, enrichedUpcoming] = await Promise.all([
|
|
361
|
+
maybeAttachPresentations(todayEvents, includePresentations, connpassClient),
|
|
362
|
+
maybeAttachPresentations(upcomingEvents, includePresentations, connpassClient),
|
|
363
|
+
]);
|
|
364
|
+
return {
|
|
365
|
+
userId: resolvedUserId,
|
|
366
|
+
today: {
|
|
367
|
+
date: formatDateLabel(today),
|
|
368
|
+
events: (0, formatting_js_1.formatEventList)(enrichedToday, resolveFormatOptions()),
|
|
369
|
+
},
|
|
370
|
+
upcoming: {
|
|
371
|
+
rangeEnd: formatDateLabel(rangeEnd),
|
|
372
|
+
events: (0, formatting_js_1.formatEventList)(enrichedUpcoming, resolveFormatOptions()),
|
|
373
|
+
},
|
|
374
|
+
metadata: {
|
|
375
|
+
inspected: searchResponse.eventsReturned,
|
|
376
|
+
limit: maxEventsToFetch,
|
|
377
|
+
daysAhead,
|
|
378
|
+
includePresentations: Boolean(includePresentations),
|
|
379
|
+
},
|
|
380
|
+
};
|
|
381
|
+
},
|
|
382
|
+
};
|
|
383
|
+
exports.eventTools = eventToolsInternal;
|
|
384
|
+
function isEventTool(name) {
|
|
385
|
+
return name in eventHandlers;
|
|
386
|
+
}
|
|
387
|
+
async function handleEventTool(name, args, connpassClient) {
|
|
388
|
+
return eventHandlers[name](args, connpassClient);
|
|
389
|
+
}
|
|
390
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/tools/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { Event, EventsResponse, Presentation, PresentationsResponse } from "@kajidog/connpass-api-client";
|
|
2
|
+
export interface FormatEventOptions {
|
|
3
|
+
descriptionLimit?: number;
|
|
4
|
+
catchPhraseLimit?: number;
|
|
5
|
+
presentationDescriptionLimit?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface FormattedPresentation {
|
|
8
|
+
id: number;
|
|
9
|
+
title: string;
|
|
10
|
+
speaker: string;
|
|
11
|
+
summary?: string;
|
|
12
|
+
links?: {
|
|
13
|
+
url?: string;
|
|
14
|
+
slideshare?: string;
|
|
15
|
+
youtube?: string;
|
|
16
|
+
twitter?: string;
|
|
17
|
+
};
|
|
18
|
+
order: number;
|
|
19
|
+
updatedAt: string;
|
|
20
|
+
}
|
|
21
|
+
export interface FormattedEvent {
|
|
22
|
+
id: number;
|
|
23
|
+
title: string;
|
|
24
|
+
catchPhrase?: string;
|
|
25
|
+
summary?: string;
|
|
26
|
+
url: string;
|
|
27
|
+
hashTag?: string;
|
|
28
|
+
imageUrl?: string;
|
|
29
|
+
schedule: {
|
|
30
|
+
start: string;
|
|
31
|
+
end: string;
|
|
32
|
+
};
|
|
33
|
+
location?: {
|
|
34
|
+
place?: string;
|
|
35
|
+
address?: string;
|
|
36
|
+
};
|
|
37
|
+
owner: {
|
|
38
|
+
nickname: string;
|
|
39
|
+
displayName: string;
|
|
40
|
+
};
|
|
41
|
+
participants: {
|
|
42
|
+
accepted: number;
|
|
43
|
+
waiting: number;
|
|
44
|
+
limit?: number;
|
|
45
|
+
};
|
|
46
|
+
group?: {
|
|
47
|
+
id?: number;
|
|
48
|
+
title?: string;
|
|
49
|
+
url?: string;
|
|
50
|
+
};
|
|
51
|
+
updatedAt: string;
|
|
52
|
+
presentations?: FormattedPresentation[];
|
|
53
|
+
}
|
|
54
|
+
export interface FormattedEventsResponse {
|
|
55
|
+
returned: number;
|
|
56
|
+
available: number;
|
|
57
|
+
start: number;
|
|
58
|
+
events: FormattedEvent[];
|
|
59
|
+
}
|
|
60
|
+
export interface FormattedPresentationsResponse {
|
|
61
|
+
returned: number;
|
|
62
|
+
presentations: FormattedPresentation[];
|
|
63
|
+
}
|
|
64
|
+
export declare function truncateText(text: string, limit: number): string;
|
|
65
|
+
export declare function stripHtml(input: string): string;
|
|
66
|
+
export declare function sanitizeRichText(input: string): string;
|
|
67
|
+
export declare function formatPresentation(presentation: Presentation, descriptionLimit?: number): FormattedPresentation;
|
|
68
|
+
export declare function formatPresentationsResponse(response: PresentationsResponse, options?: Pick<FormatEventOptions, "presentationDescriptionLimit">): FormattedPresentationsResponse;
|
|
69
|
+
export declare function formatEvent(event: Event, options?: FormatEventOptions): FormattedEvent;
|
|
70
|
+
export declare function formatEventsResponse(response: EventsResponse, options?: FormatEventOptions): FormattedEventsResponse;
|
|
71
|
+
export declare function formatEventList(events: (Event & {
|
|
72
|
+
presentations?: PresentationsResponse["presentations"];
|
|
73
|
+
})[], options?: FormatEventOptions): FormattedEvent[];
|
|
74
|
+
//# sourceMappingURL=formatting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../src/tools/formatting.ts"],"names":[],"mappings":"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"}
|