agenza-line-bot-mcp 0.0.1-local
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/README.ja.md +199 -0
- package/README.md +215 -0
- package/dist/common/response.d.ts +14 -0
- package/dist/common/response.d.ts.map +1 -0
- package/dist/common/response.js +22 -0
- package/dist/common/response.js.map +1 -0
- package/dist/common/schema/actionSchema.d.ts +139 -0
- package/dist/common/schema/actionSchema.d.ts.map +1 -0
- package/dist/common/schema/actionSchema.js +85 -0
- package/dist/common/schema/actionSchema.js.map +1 -0
- package/dist/common/schema/constants.d.ts +2 -0
- package/dist/common/schema/constants.d.ts.map +1 -0
- package/dist/common/schema/constants.js +2 -0
- package/dist/common/schema/constants.js.map +1 -0
- package/dist/common/schema/flexMessage.d.ts +1654 -0
- package/dist/common/schema/flexMessage.d.ts.map +1 -0
- package/dist/common/schema/flexMessage.js +337 -0
- package/dist/common/schema/flexMessage.js.map +1 -0
- package/dist/common/schema/textMessage.d.ts +12 -0
- package/dist/common/schema/textMessage.d.ts.map +1 -0
- package/dist/common/schema/textMessage.js +9 -0
- package/dist/common/schema/textMessage.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +73 -0
- package/dist/index.js.map +1 -0
- package/dist/tools/AbstractTool.d.ts +9 -0
- package/dist/tools/AbstractTool.d.ts.map +1 -0
- package/dist/tools/AbstractTool.js +3 -0
- package/dist/tools/AbstractTool.js.map +1 -0
- package/dist/tools/broadcastFlexMessage.d.ts +9 -0
- package/dist/tools/broadcastFlexMessage.d.ts.map +1 -0
- package/dist/tools/broadcastFlexMessage.js +28 -0
- package/dist/tools/broadcastFlexMessage.js.map +1 -0
- package/dist/tools/broadcastTextMessage.d.ts +9 -0
- package/dist/tools/broadcastTextMessage.d.ts.map +1 -0
- package/dist/tools/broadcastTextMessage.js +27 -0
- package/dist/tools/broadcastTextMessage.js.map +1 -0
- package/dist/tools/cancelRichMenuDefault.d.ts +9 -0
- package/dist/tools/cancelRichMenuDefault.d.ts.map +1 -0
- package/dist/tools/cancelRichMenuDefault.js +16 -0
- package/dist/tools/cancelRichMenuDefault.js.map +1 -0
- package/dist/tools/createRichMenu.d.ts +10 -0
- package/dist/tools/createRichMenu.d.ts.map +1 -0
- package/dist/tools/createRichMenu.js +278 -0
- package/dist/tools/createRichMenu.js.map +1 -0
- package/dist/tools/deleteRichMenu.d.ts +9 -0
- package/dist/tools/deleteRichMenu.d.ts.map +1 -0
- package/dist/tools/deleteRichMenu.js +27 -0
- package/dist/tools/deleteRichMenu.js.map +1 -0
- package/dist/tools/getMessageQuota.d.ts +9 -0
- package/dist/tools/getMessageQuota.d.ts.map +1 -0
- package/dist/tools/getMessageQuota.js +21 -0
- package/dist/tools/getMessageQuota.js.map +1 -0
- package/dist/tools/getProfile.d.ts +10 -0
- package/dist/tools/getProfile.d.ts.map +1 -0
- package/dist/tools/getProfile.js +34 -0
- package/dist/tools/getProfile.js.map +1 -0
- package/dist/tools/getRichMenuList.d.ts +9 -0
- package/dist/tools/getRichMenuList.d.ts.map +1 -0
- package/dist/tools/getRichMenuList.js +21 -0
- package/dist/tools/getRichMenuList.js.map +1 -0
- package/dist/tools/pushFlexMessage.d.ts +10 -0
- package/dist/tools/pushFlexMessage.d.ts.map +1 -0
- package/dist/tools/pushFlexMessage.js +40 -0
- package/dist/tools/pushFlexMessage.js.map +1 -0
- package/dist/tools/pushTextMessage.d.ts +10 -0
- package/dist/tools/pushTextMessage.d.ts.map +1 -0
- package/dist/tools/pushTextMessage.js +39 -0
- package/dist/tools/pushTextMessage.js.map +1 -0
- package/dist/tools/setRichMenuDefault.d.ts +9 -0
- package/dist/tools/setRichMenuDefault.d.ts.map +1 -0
- package/dist/tools/setRichMenuDefault.js +22 -0
- package/dist/tools/setRichMenuDefault.js.map +1 -0
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/package.json +54 -0
- package/richmenu-template/template-01.md +46 -0
- package/richmenu-template/template-02.md +49 -0
- package/richmenu-template/template-03.md +74 -0
- package/richmenu-template/template-04.md +60 -0
- package/richmenu-template/template-05.md +67 -0
- package/richmenu-template/template-06.md +66 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flexMessage.d.ts","sourceRoot":"","sources":["../../../src/common/schema/flexMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA8UxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsB3B,CAAC;AAYH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI5B,CAAC"}
|
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
const sizeSchema = z
|
|
3
|
+
.enum(["xxs", "xs", "sm", "md", "lg", "xl", "xxl", "3xl", "4xl", "5xl"])
|
|
4
|
+
.default("md");
|
|
5
|
+
const imageSizeSchema = z
|
|
6
|
+
.enum([
|
|
7
|
+
"xxs",
|
|
8
|
+
"xs",
|
|
9
|
+
"sm",
|
|
10
|
+
"md",
|
|
11
|
+
"lg",
|
|
12
|
+
"xl",
|
|
13
|
+
"xxl",
|
|
14
|
+
"3xl",
|
|
15
|
+
"4xl",
|
|
16
|
+
"5xl",
|
|
17
|
+
"full",
|
|
18
|
+
])
|
|
19
|
+
.default("md");
|
|
20
|
+
const spacerSizeSchema = z.enum(["xs", "sm", "md", "lg", "xl", "xxl"]);
|
|
21
|
+
const marginSchema = z.enum(["none", "xs", "sm", "md", "lg", "xl", "xxl"]);
|
|
22
|
+
const spacingSchema = z.enum(["none", "xs", "sm", "md", "lg", "xl", "xxl"]);
|
|
23
|
+
const positionSchema = z.enum(["relative", "absolute"]);
|
|
24
|
+
const alignSchema = z.enum(["start", "end", "center"]);
|
|
25
|
+
const gravitySchema = z.enum(["top", "bottom", "center"]);
|
|
26
|
+
const offsetSchema = z.string().regex(/^\d+px$/, "Format: '10px'");
|
|
27
|
+
const colorSchema = z
|
|
28
|
+
.string()
|
|
29
|
+
.regex(/^#[0-9A-Fa-f]{6}$/, "Hex format: '#FF0000'");
|
|
30
|
+
const flexWeightSchema = z.number();
|
|
31
|
+
const scalingSchema = z.boolean();
|
|
32
|
+
const positionFields = {
|
|
33
|
+
position: positionSchema.optional(),
|
|
34
|
+
offsetTop: offsetSchema.optional(),
|
|
35
|
+
offsetBottom: offsetSchema.optional(),
|
|
36
|
+
offsetStart: offsetSchema.optional(),
|
|
37
|
+
offsetEnd: offsetSchema.optional(),
|
|
38
|
+
};
|
|
39
|
+
const layoutFields = {
|
|
40
|
+
flex: flexWeightSchema.optional(),
|
|
41
|
+
margin: marginSchema.optional(),
|
|
42
|
+
...positionFields,
|
|
43
|
+
};
|
|
44
|
+
const alignmentFields = {
|
|
45
|
+
align: alignSchema.optional(),
|
|
46
|
+
gravity: gravitySchema.optional(),
|
|
47
|
+
};
|
|
48
|
+
const textStyleFields = {
|
|
49
|
+
text: z.string().min(1).max(2000),
|
|
50
|
+
color: colorSchema.optional(),
|
|
51
|
+
size: sizeSchema.optional(),
|
|
52
|
+
weight: z.enum(["regular", "bold"]).optional(),
|
|
53
|
+
style: z.enum(["normal", "italic"]).optional(),
|
|
54
|
+
decoration: z.enum(["none", "underline", "line-through"]).optional(),
|
|
55
|
+
};
|
|
56
|
+
const paddingFields = {
|
|
57
|
+
paddingAll: z
|
|
58
|
+
.string()
|
|
59
|
+
.regex(/^\d+px$/)
|
|
60
|
+
.optional(),
|
|
61
|
+
paddingTop: z
|
|
62
|
+
.string()
|
|
63
|
+
.regex(/^\d+px$/)
|
|
64
|
+
.optional(),
|
|
65
|
+
paddingBottom: z
|
|
66
|
+
.string()
|
|
67
|
+
.regex(/^\d+px$/)
|
|
68
|
+
.optional(),
|
|
69
|
+
paddingStart: z
|
|
70
|
+
.string()
|
|
71
|
+
.regex(/^\d+px$/)
|
|
72
|
+
.optional(),
|
|
73
|
+
paddingEnd: z
|
|
74
|
+
.string()
|
|
75
|
+
.regex(/^\d+px$/)
|
|
76
|
+
.optional(),
|
|
77
|
+
};
|
|
78
|
+
const flexActionSchema = z.discriminatedUnion("type", [
|
|
79
|
+
z.object({
|
|
80
|
+
type: z.literal("postback"),
|
|
81
|
+
data: z.string().min(1).max(300),
|
|
82
|
+
label: z.string().min(1).max(20),
|
|
83
|
+
displayText: z.string().min(1).max(300).optional(),
|
|
84
|
+
inputOption: z
|
|
85
|
+
.enum(["closeRichMenu", "openRichMenu", "openKeyboard", "openVoice"])
|
|
86
|
+
.optional(),
|
|
87
|
+
fillInText: z.string().min(1).max(160).optional(),
|
|
88
|
+
}),
|
|
89
|
+
z.object({
|
|
90
|
+
type: z.literal("message"),
|
|
91
|
+
label: z.string().min(1).max(20),
|
|
92
|
+
text: z.string().min(1).max(300),
|
|
93
|
+
}),
|
|
94
|
+
z.object({
|
|
95
|
+
type: z.literal("uri"),
|
|
96
|
+
label: z.string().min(1).max(20),
|
|
97
|
+
uri: z
|
|
98
|
+
.string()
|
|
99
|
+
.describe("LINE Custom URI or URI" +
|
|
100
|
+
"LINE Custom URI document: https://developers.line.biz/ja/docs/messaging-api/using-line-url-scheme/"),
|
|
101
|
+
altUri: z
|
|
102
|
+
.object({
|
|
103
|
+
desktop: z.string().url(),
|
|
104
|
+
})
|
|
105
|
+
.optional(),
|
|
106
|
+
}),
|
|
107
|
+
z.object({
|
|
108
|
+
type: z.literal("datetimepicker"),
|
|
109
|
+
label: z.string().min(1).max(20),
|
|
110
|
+
data: z.string().min(1).max(300),
|
|
111
|
+
mode: z.enum(["date", "time", "datetime"]),
|
|
112
|
+
initial: z
|
|
113
|
+
.string()
|
|
114
|
+
.optional()
|
|
115
|
+
.describe("Format: 2100-12-31, 23:59, 2100-12-31T23:59"),
|
|
116
|
+
max: z
|
|
117
|
+
.string()
|
|
118
|
+
.optional()
|
|
119
|
+
.describe("Format: 2100-12-31, 23:59, 2100-12-31T23:59"),
|
|
120
|
+
min: z
|
|
121
|
+
.string()
|
|
122
|
+
.optional()
|
|
123
|
+
.describe("Format: 2100-12-31, 23:59, 2100-12-31T23:59"),
|
|
124
|
+
}),
|
|
125
|
+
z.object({
|
|
126
|
+
type: z.literal("camera"),
|
|
127
|
+
label: z.string().min(1).max(20),
|
|
128
|
+
}),
|
|
129
|
+
z.object({
|
|
130
|
+
type: z.literal("cameraRoll"),
|
|
131
|
+
label: z.string().min(1).max(20),
|
|
132
|
+
}),
|
|
133
|
+
z.object({
|
|
134
|
+
type: z.literal("location"),
|
|
135
|
+
label: z.string().min(1).max(20),
|
|
136
|
+
}),
|
|
137
|
+
z.object({
|
|
138
|
+
type: z.literal("richmenuswitch"),
|
|
139
|
+
label: z.string().min(1).max(20),
|
|
140
|
+
richMenuAliasId: z.string().min(1).max(32),
|
|
141
|
+
data: z.string().min(1).max(300),
|
|
142
|
+
}),
|
|
143
|
+
z.object({
|
|
144
|
+
type: z.literal("clipboard"),
|
|
145
|
+
label: z.string().min(1).max(20),
|
|
146
|
+
clipboardText: z.string().min(1).max(1000),
|
|
147
|
+
}),
|
|
148
|
+
]);
|
|
149
|
+
const flexSpanSchema = z.object({
|
|
150
|
+
type: z.literal("span"),
|
|
151
|
+
...textStyleFields,
|
|
152
|
+
});
|
|
153
|
+
const flexComponentSchema = z.lazy(() => z.discriminatedUnion("type", [
|
|
154
|
+
z.object({
|
|
155
|
+
type: z.literal("separator"),
|
|
156
|
+
margin: marginSchema.optional(),
|
|
157
|
+
color: colorSchema.optional(),
|
|
158
|
+
}),
|
|
159
|
+
z.object({
|
|
160
|
+
type: z.literal("text"),
|
|
161
|
+
contents: z.array(flexSpanSchema).optional(),
|
|
162
|
+
adjustMode: z.enum(["shrink-to-fit"]).optional(),
|
|
163
|
+
wrap: z.boolean().optional().default(true),
|
|
164
|
+
lineSpacing: z.enum(["xs", "sm", "md", "lg", "xl", "xxl"]).optional(),
|
|
165
|
+
maxLines: z.number().optional(),
|
|
166
|
+
action: flexActionSchema.optional(),
|
|
167
|
+
scaling: scalingSchema.optional(),
|
|
168
|
+
...textStyleFields,
|
|
169
|
+
...layoutFields,
|
|
170
|
+
...alignmentFields,
|
|
171
|
+
}),
|
|
172
|
+
z.object({
|
|
173
|
+
type: z.literal("icon"),
|
|
174
|
+
url: z
|
|
175
|
+
.string()
|
|
176
|
+
.url()
|
|
177
|
+
.min(1)
|
|
178
|
+
.max(2000)
|
|
179
|
+
.refine(url => url.startsWith("https://"), "Must use HTTPS protocol"),
|
|
180
|
+
size: sizeSchema.optional(),
|
|
181
|
+
aspectRatio: z
|
|
182
|
+
.string()
|
|
183
|
+
.regex(/^\d+:\d+$/)
|
|
184
|
+
.describe("Aspect ratio in '{width}:{height}' format (e.g., '1:1', '16:9'). Width and height must be 1-100000, height cannot exceed width × 3")
|
|
185
|
+
.optional(),
|
|
186
|
+
scaling: scalingSchema.optional(),
|
|
187
|
+
...layoutFields,
|
|
188
|
+
}),
|
|
189
|
+
z.object({
|
|
190
|
+
type: z.literal("image"),
|
|
191
|
+
url: z
|
|
192
|
+
.string()
|
|
193
|
+
.url()
|
|
194
|
+
.min(1)
|
|
195
|
+
.max(2000)
|
|
196
|
+
.default("https://developers-resource.landpress.line.me/fx/img/01_1_cafe.png"),
|
|
197
|
+
size: imageSizeSchema.optional(),
|
|
198
|
+
aspectRatio: z
|
|
199
|
+
.string()
|
|
200
|
+
.regex(/^\d+:\d+$/)
|
|
201
|
+
.describe("Aspect ratio in '{width}:{height}' format (e.g., '1:1', '16:9'). Width and height must be 1-100000, height cannot exceed width × 3")
|
|
202
|
+
.optional(),
|
|
203
|
+
aspectMode: z.enum(["cover", "fit"]).optional(),
|
|
204
|
+
backgroundColor: colorSchema.optional(),
|
|
205
|
+
animated: z.boolean().optional(),
|
|
206
|
+
action: flexActionSchema.optional(),
|
|
207
|
+
scaling: scalingSchema.optional(),
|
|
208
|
+
...layoutFields,
|
|
209
|
+
...alignmentFields,
|
|
210
|
+
}),
|
|
211
|
+
z.object({
|
|
212
|
+
type: z.literal("video"),
|
|
213
|
+
url: z
|
|
214
|
+
.string()
|
|
215
|
+
.url()
|
|
216
|
+
.min(1)
|
|
217
|
+
.max(2000)
|
|
218
|
+
.refine(url => url.startsWith("https://"), "Must use HTTPS protocol"),
|
|
219
|
+
previewUrl: z
|
|
220
|
+
.string()
|
|
221
|
+
.url()
|
|
222
|
+
.min(1)
|
|
223
|
+
.max(2000)
|
|
224
|
+
.default("https://developers-resource.landpress.line.me/fx/img/01_1_cafe.png"),
|
|
225
|
+
altContent: flexComponentSchema,
|
|
226
|
+
size: imageSizeSchema.optional(),
|
|
227
|
+
aspectRatio: z
|
|
228
|
+
.string()
|
|
229
|
+
.regex(/^\d+:\d+$/)
|
|
230
|
+
.describe("Aspect ratio in '{width}:{height}' format (e.g., '1:1', '16:9'). Width and height must be 1-100000, height cannot exceed width × 3")
|
|
231
|
+
.optional(),
|
|
232
|
+
action: flexActionSchema.optional(),
|
|
233
|
+
scaling: scalingSchema.optional(),
|
|
234
|
+
...layoutFields,
|
|
235
|
+
...alignmentFields,
|
|
236
|
+
}),
|
|
237
|
+
z.object({
|
|
238
|
+
type: z.literal("button"),
|
|
239
|
+
action: flexActionSchema,
|
|
240
|
+
height: z.enum(["sm", "md"]).optional(),
|
|
241
|
+
style: z.enum(["link", "primary", "secondary"]).optional(),
|
|
242
|
+
color: colorSchema.optional(),
|
|
243
|
+
gravity: gravitySchema.optional(),
|
|
244
|
+
adjustMode: z.enum(["shrink-to-fit"]).optional(),
|
|
245
|
+
scaling: scalingSchema.optional(),
|
|
246
|
+
...layoutFields,
|
|
247
|
+
}),
|
|
248
|
+
z.object({
|
|
249
|
+
type: z.literal("box"),
|
|
250
|
+
layout: z.enum(["horizontal", "vertical", "baseline"]),
|
|
251
|
+
contents: z.array(flexComponentSchema),
|
|
252
|
+
backgroundColor: colorSchema.optional(),
|
|
253
|
+
borderColor: colorSchema.optional(),
|
|
254
|
+
borderWidth: z
|
|
255
|
+
.string()
|
|
256
|
+
.regex(/^\d+px$/)
|
|
257
|
+
.optional(),
|
|
258
|
+
cornerRadius: z
|
|
259
|
+
.string()
|
|
260
|
+
.regex(/^\d+px$/)
|
|
261
|
+
.optional(),
|
|
262
|
+
spacing: spacingSchema.optional(),
|
|
263
|
+
width: z
|
|
264
|
+
.string()
|
|
265
|
+
.regex(/^\d+px$/)
|
|
266
|
+
.optional(),
|
|
267
|
+
height: z
|
|
268
|
+
.string()
|
|
269
|
+
.regex(/^\d+px$/)
|
|
270
|
+
.optional(),
|
|
271
|
+
justifyContent: z
|
|
272
|
+
.enum([
|
|
273
|
+
"flex-start",
|
|
274
|
+
"center",
|
|
275
|
+
"flex-end",
|
|
276
|
+
"space-between",
|
|
277
|
+
"space-around",
|
|
278
|
+
"space-evenly",
|
|
279
|
+
])
|
|
280
|
+
.optional(),
|
|
281
|
+
alignItems: z.enum(["flex-start", "center", "flex-end"]).optional(),
|
|
282
|
+
background: z
|
|
283
|
+
.object({
|
|
284
|
+
type: z.literal("linearGradient"),
|
|
285
|
+
angle: z.string().regex(/^\d+deg$/, "Format: '90deg'"),
|
|
286
|
+
startColor: colorSchema,
|
|
287
|
+
endColor: colorSchema,
|
|
288
|
+
})
|
|
289
|
+
.optional(),
|
|
290
|
+
action: flexActionSchema.optional(),
|
|
291
|
+
...layoutFields,
|
|
292
|
+
...paddingFields,
|
|
293
|
+
}),
|
|
294
|
+
]));
|
|
295
|
+
const sectionStyleSchema = z.object({
|
|
296
|
+
backgroundColor: colorSchema.optional(),
|
|
297
|
+
separator: z.boolean().optional(),
|
|
298
|
+
separatorColor: colorSchema.optional(),
|
|
299
|
+
});
|
|
300
|
+
const flexBubbleStylesSchema = z.object({
|
|
301
|
+
header: sectionStyleSchema.optional(),
|
|
302
|
+
hero: sectionStyleSchema.optional(),
|
|
303
|
+
body: sectionStyleSchema.optional(),
|
|
304
|
+
footer: sectionStyleSchema.optional(),
|
|
305
|
+
});
|
|
306
|
+
export const flexBubbleSchema = z.object({
|
|
307
|
+
type: z.literal("bubble"),
|
|
308
|
+
size: z
|
|
309
|
+
.enum(["nano", "micro", "deca", "hecto", "kilo", "mega", "giga"])
|
|
310
|
+
.optional(),
|
|
311
|
+
direction: z.enum(["ltr", "rtl"]).optional(),
|
|
312
|
+
header: flexComponentSchema.optional(),
|
|
313
|
+
// .refine(component => component?.type === "box", "Header must be a Box"),
|
|
314
|
+
hero: flexComponentSchema.optional(),
|
|
315
|
+
body: flexComponentSchema
|
|
316
|
+
.optional()
|
|
317
|
+
.describe("Body must be a Box")
|
|
318
|
+
.refine(component => !component || component.type === "box", "Body must be a Box"),
|
|
319
|
+
footer: flexComponentSchema.optional(),
|
|
320
|
+
// .refine(component => component?.type === "box", "Footer must be a Box"),
|
|
321
|
+
styles: flexBubbleStylesSchema.optional(),
|
|
322
|
+
action: flexActionSchema.optional(),
|
|
323
|
+
});
|
|
324
|
+
const flexCarouselSchema = z.object({
|
|
325
|
+
type: z.literal("carousel"),
|
|
326
|
+
contents: z.array(flexBubbleSchema),
|
|
327
|
+
});
|
|
328
|
+
const flexContainerSchema = z.discriminatedUnion("type", [
|
|
329
|
+
flexBubbleSchema,
|
|
330
|
+
flexCarouselSchema,
|
|
331
|
+
]);
|
|
332
|
+
export const flexMessageSchema = z.object({
|
|
333
|
+
type: z.literal("flex").default("flex"),
|
|
334
|
+
altText: z.string().min(1).max(400),
|
|
335
|
+
contents: flexContainerSchema,
|
|
336
|
+
});
|
|
337
|
+
//# sourceMappingURL=flexMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flexMessage.js","sourceRoot":"","sources":["../../../src/common/schema/flexMessage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const textMessageSchema: z.ZodObject<{
|
|
3
|
+
type: z.ZodDefault<z.ZodLiteral<"text">>;
|
|
4
|
+
text: z.ZodString;
|
|
5
|
+
}, "strip", z.ZodTypeAny, {
|
|
6
|
+
type?: "text";
|
|
7
|
+
text?: string;
|
|
8
|
+
}, {
|
|
9
|
+
type?: "text";
|
|
10
|
+
text?: string;
|
|
11
|
+
}>;
|
|
12
|
+
//# sourceMappingURL=textMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textMessage.d.ts","sourceRoot":"","sources":["../../../src/common/schema/textMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,iBAAiB;;;;;;;;;EAM5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textMessage.js","sourceRoot":"","sources":["../../../src/common/schema/textMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,CAAC,6CAA6C,CAAC;CAC3D,CAAC,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Copyright 2025 LY Corporation
|
|
4
|
+
*
|
|
5
|
+
* LINE Corporation licenses this file to you under the Apache License,
|
|
6
|
+
* version 2.0 (the "License"); you may not use this file except in compliance
|
|
7
|
+
* with the License. You may obtain a copy of the License at:
|
|
8
|
+
*
|
|
9
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
13
|
+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
14
|
+
* License for the specific language governing permissions and limitations
|
|
15
|
+
* under the License.
|
|
16
|
+
*/
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;GAcG"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Copyright 2025 LY Corporation
|
|
4
|
+
*
|
|
5
|
+
* LINE Corporation licenses this file to you under the Apache License,
|
|
6
|
+
* version 2.0 (the "License"); you may not use this file except in compliance
|
|
7
|
+
* with the License. You may obtain a copy of the License at:
|
|
8
|
+
*
|
|
9
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
13
|
+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
14
|
+
* License for the specific language governing permissions and limitations
|
|
15
|
+
* under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
18
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
19
|
+
import * as line from "@line/bot-sdk";
|
|
20
|
+
import { LINE_BOT_MCP_SERVER_VERSION, USER_AGENT } from "./version.js";
|
|
21
|
+
import CancelRichMenuDefault from "./tools/cancelRichMenuDefault.js";
|
|
22
|
+
import PushTextMessage from "./tools/pushTextMessage.js";
|
|
23
|
+
import PushFlexMessage from "./tools/pushFlexMessage.js";
|
|
24
|
+
import BroadcastTextMessage from "./tools/broadcastTextMessage.js";
|
|
25
|
+
import BroadcastFlexMessage from "./tools/broadcastFlexMessage.js";
|
|
26
|
+
import GetProfile from "./tools/getProfile.js";
|
|
27
|
+
import GetMessageQuota from "./tools/getMessageQuota.js";
|
|
28
|
+
import GetRichMenuList from "./tools/getRichMenuList.js";
|
|
29
|
+
import DeleteRichMenu from "./tools/deleteRichMenu.js";
|
|
30
|
+
import SetRichMenuDefault from "./tools/setRichMenuDefault.js";
|
|
31
|
+
import CreateRichMenu from "./tools/createRichMenu.js";
|
|
32
|
+
const server = new McpServer({
|
|
33
|
+
name: "line-bot",
|
|
34
|
+
version: LINE_BOT_MCP_SERVER_VERSION,
|
|
35
|
+
});
|
|
36
|
+
const channelAccessToken = process.env.CHANNEL_ACCESS_TOKEN || "";
|
|
37
|
+
const destinationId = process.env.DESTINATION_USER_ID || "";
|
|
38
|
+
const messagingApiClient = new line.messagingApi.MessagingApiClient({
|
|
39
|
+
channelAccessToken: channelAccessToken,
|
|
40
|
+
defaultHeaders: {
|
|
41
|
+
"User-Agent": USER_AGENT,
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
const lineBlobClient = new line.messagingApi.MessagingApiBlobClient({
|
|
45
|
+
channelAccessToken: channelAccessToken,
|
|
46
|
+
defaultHeaders: {
|
|
47
|
+
"User-Agent": USER_AGENT,
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
new PushTextMessage(messagingApiClient, destinationId).register(server);
|
|
51
|
+
new PushFlexMessage(messagingApiClient, destinationId).register(server);
|
|
52
|
+
new BroadcastTextMessage(messagingApiClient).register(server);
|
|
53
|
+
new BroadcastFlexMessage(messagingApiClient).register(server);
|
|
54
|
+
new GetProfile(messagingApiClient, destinationId).register(server);
|
|
55
|
+
new GetMessageQuota(messagingApiClient).register(server);
|
|
56
|
+
new GetRichMenuList(messagingApiClient).register(server);
|
|
57
|
+
new DeleteRichMenu(messagingApiClient).register(server);
|
|
58
|
+
new SetRichMenuDefault(messagingApiClient).register(server);
|
|
59
|
+
new CancelRichMenuDefault(messagingApiClient).register(server);
|
|
60
|
+
new CreateRichMenu(messagingApiClient, lineBlobClient).register(server);
|
|
61
|
+
async function main() {
|
|
62
|
+
if (!process.env.CHANNEL_ACCESS_TOKEN) {
|
|
63
|
+
console.error("Please set CHANNEL_ACCESS_TOKEN");
|
|
64
|
+
process.exit(1);
|
|
65
|
+
}
|
|
66
|
+
const transport = new StdioServerTransport();
|
|
67
|
+
await server.connect(transport);
|
|
68
|
+
}
|
|
69
|
+
main().catch(error => {
|
|
70
|
+
console.error("Fatal error in main():", error);
|
|
71
|
+
process.exit(1);
|
|
72
|
+
});
|
|
73
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
export declare abstract class AbstractTool {
|
|
3
|
+
/**
|
|
4
|
+
* Registers the tool with the given MCP server.
|
|
5
|
+
* @param server The MCP server to register the tool with.
|
|
6
|
+
*/
|
|
7
|
+
abstract register(server: McpServer): void;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=AbstractTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractTool.d.ts","sourceRoot":"","sources":["../../src/tools/AbstractTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,8BAAsB,YAAY;IAChC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;CAC3C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractTool.js","sourceRoot":"","sources":["../../src/tools/AbstractTool.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,YAAY;CAMjC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import { messagingApi } from "@line/bot-sdk";
|
|
3
|
+
import { AbstractTool } from "./AbstractTool.js";
|
|
4
|
+
export default class BroadcastFlexMessage extends AbstractTool {
|
|
5
|
+
private client;
|
|
6
|
+
constructor(client: messagingApi.MessagingApiClient);
|
|
7
|
+
register(server: McpServer): void;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=broadcastFlexMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcastFlexMessage.d.ts","sourceRoot":"","sources":["../../src/tools/broadcastFlexMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAK7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,YAAY;IAC5D,OAAO,CAAC,MAAM,CAAkC;gBAEpC,MAAM,EAAE,YAAY,CAAC,kBAAkB;IAKnD,QAAQ,CAAC,MAAM,EAAE,SAAS;CAuB3B"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { createErrorResponse, createSuccessResponse, } from "../common/response.js";
|
|
2
|
+
import { AbstractTool } from "./AbstractTool.js";
|
|
3
|
+
import { flexMessageSchema } from "../common/schema/flexMessage.js";
|
|
4
|
+
export default class BroadcastFlexMessage extends AbstractTool {
|
|
5
|
+
client;
|
|
6
|
+
constructor(client) {
|
|
7
|
+
super();
|
|
8
|
+
this.client = client;
|
|
9
|
+
}
|
|
10
|
+
register(server) {
|
|
11
|
+
server.tool("broadcast_flex_message", "Broadcast a highly customizable flex message via LINE to all users who have added your LINE Official Account. " +
|
|
12
|
+
"Supports both bubble (single container) and carousel (multiple swipeable bubbles) layouts. Please be aware that " +
|
|
13
|
+
"this message will be sent to all users.", {
|
|
14
|
+
message: flexMessageSchema,
|
|
15
|
+
}, async ({ message }) => {
|
|
16
|
+
try {
|
|
17
|
+
const response = await this.client.broadcast({
|
|
18
|
+
messages: [message],
|
|
19
|
+
});
|
|
20
|
+
return createSuccessResponse(response);
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
return createErrorResponse(`Failed to broadcast message: ${error.message}`);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=broadcastFlexMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcastFlexMessage.js","sourceRoot":"","sources":["../../src/tools/broadcastFlexMessage.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,YAAY;IACpD,MAAM,CAAkC;IAEhD,YAAY,MAAuC;QACjD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,QAAQ,CAAC,MAAiB;QACxB,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,gHAAgH;YAC9G,kHAAkH;YAClH,yCAAyC,EAC3C;YACE,OAAO,EAAE,iBAAiB;SAC3B,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YACpB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;oBAC3C,QAAQ,EAAE,CAAC,OAA0C,CAAC;iBACvD,CAAC,CAAC;gBACH,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,mBAAmB,CACxB,gCAAgC,KAAK,CAAC,OAAO,EAAE,CAChD,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import { messagingApi } from "@line/bot-sdk";
|
|
3
|
+
import { AbstractTool } from "./AbstractTool.js";
|
|
4
|
+
export default class BroadcastTextMessage extends AbstractTool {
|
|
5
|
+
private client;
|
|
6
|
+
constructor(client: messagingApi.MessagingApiClient);
|
|
7
|
+
register(server: McpServer): void;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=broadcastTextMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcastTextMessage.d.ts","sourceRoot":"","sources":["../../src/tools/broadcastTextMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAK7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,YAAY;IAC5D,OAAO,CAAC,MAAM,CAAkC;gBAEpC,MAAM,EAAE,YAAY,CAAC,kBAAkB;IAKnD,QAAQ,CAAC,MAAM,EAAE,SAAS;CAsB3B"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { createErrorResponse, createSuccessResponse, } from "../common/response.js";
|
|
2
|
+
import { AbstractTool } from "./AbstractTool.js";
|
|
3
|
+
import { textMessageSchema } from "../common/schema/textMessage.js";
|
|
4
|
+
export default class BroadcastTextMessage extends AbstractTool {
|
|
5
|
+
client;
|
|
6
|
+
constructor(client) {
|
|
7
|
+
super();
|
|
8
|
+
this.client = client;
|
|
9
|
+
}
|
|
10
|
+
register(server) {
|
|
11
|
+
server.tool("broadcast_text_message", "Broadcast a simple text message via LINE to all users who have followed your LINE Official Account. Use this for sending " +
|
|
12
|
+
"plain text messages without formatting. Please be aware that this message will be sent to all users.", {
|
|
13
|
+
message: textMessageSchema,
|
|
14
|
+
}, async ({ message }) => {
|
|
15
|
+
try {
|
|
16
|
+
const response = await this.client.broadcast({
|
|
17
|
+
messages: [message],
|
|
18
|
+
});
|
|
19
|
+
return createSuccessResponse(response);
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
return createErrorResponse(`Failed to broadcast message: ${error.message}`);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=broadcastTextMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcastTextMessage.js","sourceRoot":"","sources":["../../src/tools/broadcastTextMessage.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,YAAY;IACpD,MAAM,CAAkC;IAEhD,YAAY,MAAuC;QACjD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,QAAQ,CAAC,MAAiB;QACxB,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,2HAA2H;YACzH,sGAAsG,EACxG;YACE,OAAO,EAAE,iBAAiB;SAC3B,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YACpB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;oBAC3C,QAAQ,EAAE,CAAC,OAA0C,CAAC;iBACvD,CAAC,CAAC;gBACH,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,mBAAmB,CACxB,gCAAgC,KAAK,CAAC,OAAO,EAAE,CAChD,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import { messagingApi } from "@line/bot-sdk";
|
|
3
|
+
import { AbstractTool } from "./AbstractTool.js";
|
|
4
|
+
export default class CancelRichMenuDefault extends AbstractTool {
|
|
5
|
+
private client;
|
|
6
|
+
constructor(client: messagingApi.MessagingApiClient);
|
|
7
|
+
register(server: McpServer): void;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=cancelRichMenuDefault.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancelRichMenuDefault.d.ts","sourceRoot":"","sources":["../../src/tools/cancelRichMenuDefault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,YAAY;IAC7D,OAAO,CAAC,MAAM,CAAkC;gBAEpC,MAAM,EAAE,YAAY,CAAC,kBAAkB;IAKnD,QAAQ,CAAC,MAAM,EAAE,SAAS;CAW3B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { createSuccessResponse } from "../common/response.js";
|
|
2
|
+
import { AbstractTool } from "./AbstractTool.js";
|
|
3
|
+
export default class CancelRichMenuDefault extends AbstractTool {
|
|
4
|
+
client;
|
|
5
|
+
constructor(client) {
|
|
6
|
+
super();
|
|
7
|
+
this.client = client;
|
|
8
|
+
}
|
|
9
|
+
register(server) {
|
|
10
|
+
server.tool("cancel_rich_menu_default", "Cancel the default rich menu.", {}, async () => {
|
|
11
|
+
const response = await this.client.cancelDefaultRichMenu();
|
|
12
|
+
return createSuccessResponse(response);
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=cancelRichMenuDefault.js.map
|