@line-harness/mcp-server 0.1.1 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/index.js +1067 -11
  2. package/package.json +2 -3
  3. package/dist/client.d.ts +0 -2
  4. package/dist/client.js +0 -22
  5. package/dist/client.js.map +0 -1
  6. package/dist/index.d.ts +0 -2
  7. package/dist/index.js.map +0 -1
  8. package/dist/resources/index.d.ts +0 -2
  9. package/dist/resources/index.js +0 -48
  10. package/dist/resources/index.js.map +0 -1
  11. package/dist/tools/account-summary.d.ts +0 -2
  12. package/dist/tools/account-summary.js +0 -47
  13. package/dist/tools/account-summary.js.map +0 -1
  14. package/dist/tools/broadcast.d.ts +0 -2
  15. package/dist/tools/broadcast.js +0 -80
  16. package/dist/tools/broadcast.js.map +0 -1
  17. package/dist/tools/create-form.d.ts +0 -2
  18. package/dist/tools/create-form.js +0 -32
  19. package/dist/tools/create-form.js.map +0 -1
  20. package/dist/tools/create-rich-menu.d.ts +0 -2
  21. package/dist/tools/create-rich-menu.js +0 -36
  22. package/dist/tools/create-rich-menu.js.map +0 -1
  23. package/dist/tools/create-scenario.d.ts +0 -2
  24. package/dist/tools/create-scenario.js +0 -78
  25. package/dist/tools/create-scenario.js.map +0 -1
  26. package/dist/tools/create-tracked-link.d.ts +0 -2
  27. package/dist/tools/create-tracked-link.js +0 -22
  28. package/dist/tools/create-tracked-link.js.map +0 -1
  29. package/dist/tools/enroll-scenario.d.ts +0 -2
  30. package/dist/tools/enroll-scenario.js +0 -23
  31. package/dist/tools/enroll-scenario.js.map +0 -1
  32. package/dist/tools/get-form-submissions.d.ts +0 -2
  33. package/dist/tools/get-form-submissions.js +0 -19
  34. package/dist/tools/get-form-submissions.js.map +0 -1
  35. package/dist/tools/get-friend-detail.d.ts +0 -2
  36. package/dist/tools/get-friend-detail.js +0 -19
  37. package/dist/tools/get-friend-detail.js.map +0 -1
  38. package/dist/tools/get-link-clicks.d.ts +0 -2
  39. package/dist/tools/get-link-clicks.js +0 -19
  40. package/dist/tools/get-link-clicks.js.map +0 -1
  41. package/dist/tools/index.d.ts +0 -2
  42. package/dist/tools/index.js +0 -31
  43. package/dist/tools/index.js.map +0 -1
  44. package/dist/tools/list-crm-objects.d.ts +0 -2
  45. package/dist/tools/list-crm-objects.js +0 -40
  46. package/dist/tools/list-crm-objects.js.map +0 -1
  47. package/dist/tools/list-friends.d.ts +0 -2
  48. package/dist/tools/list-friends.js +0 -30
  49. package/dist/tools/list-friends.js.map +0 -1
  50. package/dist/tools/manage-tags.d.ts +0 -2
  51. package/dist/tools/manage-tags.js +0 -44
  52. package/dist/tools/manage-tags.js.map +0 -1
  53. package/dist/tools/send-message.d.ts +0 -2
  54. package/dist/tools/send-message.js +0 -24
  55. package/dist/tools/send-message.js.map +0 -1
@@ -1,2 +0,0 @@
1
- import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerAllTools(server: McpServer): void;
@@ -1,31 +0,0 @@
1
- import { registerSendMessage } from "./send-message.js";
2
- import { registerBroadcast } from "./broadcast.js";
3
- import { registerCreateScenario } from "./create-scenario.js";
4
- import { registerEnrollScenario } from "./enroll-scenario.js";
5
- import { registerManageTags } from "./manage-tags.js";
6
- import { registerCreateForm } from "./create-form.js";
7
- import { registerCreateTrackedLink } from "./create-tracked-link.js";
8
- import { registerCreateRichMenu } from "./create-rich-menu.js";
9
- import { registerListFriends } from "./list-friends.js";
10
- import { registerGetFriendDetail } from "./get-friend-detail.js";
11
- import { registerGetFormSubmissions } from "./get-form-submissions.js";
12
- import { registerGetLinkClicks } from "./get-link-clicks.js";
13
- import { registerAccountSummary } from "./account-summary.js";
14
- import { registerListCrmObjects } from "./list-crm-objects.js";
15
- export function registerAllTools(server) {
16
- registerSendMessage(server);
17
- registerBroadcast(server);
18
- registerCreateScenario(server);
19
- registerEnrollScenario(server);
20
- registerManageTags(server);
21
- registerCreateForm(server);
22
- registerCreateTrackedLink(server);
23
- registerCreateRichMenu(server);
24
- registerListFriends(server);
25
- registerGetFriendDetail(server);
26
- registerGetFormSubmissions(server);
27
- registerGetLinkClicks(server);
28
- registerAccountSummary(server);
29
- registerListCrmObjects(server);
30
- }
31
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3B,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3B,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,sBAAsB,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerListCrmObjects(server: McpServer): void;
@@ -1,40 +0,0 @@
1
- import { z } from "zod";
2
- import { getClient } from "../client.js";
3
- export function registerListCrmObjects(server) {
4
- server.tool("list_crm_objects", "List all CRM objects of a specific type: scenarios, forms, tags, rich menus, tracked links, or broadcasts.", {
5
- objectType: z.enum(["scenarios", "forms", "tags", "rich_menus", "tracked_links", "broadcasts"]).describe("Type of CRM object to list"),
6
- accountId: z.string().optional().describe("LINE account ID (uses default if omitted)"),
7
- }, async ({ objectType, accountId }) => {
8
- try {
9
- const client = getClient();
10
- let items;
11
- switch (objectType) {
12
- case "scenarios":
13
- items = await client.scenarios.list({ accountId });
14
- break;
15
- case "forms":
16
- items = await client.forms.list();
17
- break;
18
- case "tags":
19
- items = await client.tags.list();
20
- break;
21
- case "rich_menus":
22
- items = await client.richMenus.list();
23
- break;
24
- case "tracked_links":
25
- items = await client.trackedLinks.list();
26
- break;
27
- case "broadcasts":
28
- items = await client.broadcasts.list({ accountId });
29
- break;
30
- }
31
- return {
32
- content: [{ type: "text", text: JSON.stringify({ success: true, objectType, items }, null, 2) }],
33
- };
34
- }
35
- catch (error) {
36
- return { content: [{ type: "text", text: JSON.stringify({ success: false, error: String(error) }, null, 2) }], isError: true };
37
- }
38
- });
39
- }
40
- //# sourceMappingURL=list-crm-objects.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-crm-objects.js","sourceRoot":"","sources":["../../src/tools/list-crm-objects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,4GAA4G,EAC5G;QACE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACtI,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;KACvF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE;QAClC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAE3B,IAAI,KAAK,CAAC;YACV,QAAQ,UAAU,EAAE,CAAC;gBACnB,KAAK,WAAW;oBACd,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;oBACnD,MAAM;gBACR,KAAK,OAAO;oBACV,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAClC,MAAM;gBACR,KAAK,MAAM;oBACT,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACjC,MAAM;gBACR,KAAK,YAAY;oBACf,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;oBACtC,MAAM;gBACR,KAAK,eAAe;oBAClB,KAAK,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;oBACzC,MAAM;gBACR,KAAK,YAAY;oBACf,KAAK,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;oBACpD,MAAM;YACV,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACjG,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACjI,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerListFriends(server: McpServer): void;
@@ -1,30 +0,0 @@
1
- import { z } from "zod";
2
- import { getClient } from "../client.js";
3
- export function registerListFriends(server) {
4
- server.tool("list_friends", "List friends with optional filtering by tag. Returns paginated results with friend details.", {
5
- tagId: z.string().optional().describe("Filter by tag ID"),
6
- limit: z.number().default(20).describe("Number of friends to return (max 100)"),
7
- offset: z.number().default(0).describe("Offset for pagination"),
8
- accountId: z.string().optional().describe("LINE account ID (uses default if omitted)"),
9
- }, async ({ tagId, limit, offset, accountId }) => {
10
- try {
11
- const client = getClient();
12
- const result = await client.friends.list({ tagId, limit, offset, accountId });
13
- return {
14
- content: [{
15
- type: "text",
16
- text: JSON.stringify({
17
- success: true,
18
- total: result.total,
19
- hasNextPage: result.hasNextPage,
20
- friends: result.items,
21
- }, null, 2),
22
- }],
23
- };
24
- }
25
- catch (error) {
26
- return { content: [{ type: "text", text: JSON.stringify({ success: false, error: String(error) }, null, 2) }], isError: true };
27
- }
28
- });
29
- }
30
- //# sourceMappingURL=list-friends.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-friends.js","sourceRoot":"","sources":["../../src/tools/list-friends.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,UAAU,mBAAmB,CAAC,MAAiB;IACnD,MAAM,CAAC,IAAI,CACT,cAAc,EACd,6FAA6F,EAC7F;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACzD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QAC/E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAC/D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;KACvF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAC9E,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,IAAI;4BACb,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,WAAW,EAAE,MAAM,CAAC,WAAW;4BAC/B,OAAO,EAAE,MAAM,CAAC,KAAK;yBACtB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACjI,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerManageTags(server: McpServer): void;
@@ -1,44 +0,0 @@
1
- import { z } from "zod";
2
- import { getClient } from "../client.js";
3
- export function registerManageTags(server) {
4
- server.tool("manage_tags", "Create tags, add tags to friends, or remove tags from friends. Supports batch operations on multiple friends.", {
5
- action: z.enum(["create", "add", "remove"]).describe("Action to perform"),
6
- tagName: z.string().optional().describe("Tag name (for 'create' action)"),
7
- tagColor: z.string().optional().describe("Tag color hex code (for 'create' action, e.g. '#FF0000')"),
8
- tagId: z.string().optional().describe("Tag ID (for 'add' or 'remove' actions)"),
9
- friendIds: z.array(z.string()).optional().describe("Friend IDs to add/remove the tag from (for 'add' or 'remove' actions)"),
10
- }, async ({ action, tagName, tagColor, tagId, friendIds }) => {
11
- try {
12
- const client = getClient();
13
- if (action === "create") {
14
- if (!tagName)
15
- throw new Error("tagName is required for create action");
16
- const tag = await client.tags.create({ name: tagName, color: tagColor });
17
- return {
18
- content: [{ type: "text", text: JSON.stringify({ success: true, tag }, null, 2) }],
19
- };
20
- }
21
- if (!tagId)
22
- throw new Error("tagId is required for add/remove actions");
23
- if (!friendIds?.length)
24
- throw new Error("friendIds is required for add/remove actions");
25
- const results = [];
26
- for (const friendId of friendIds) {
27
- if (action === "add") {
28
- await client.friends.addTag(friendId, tagId);
29
- }
30
- else {
31
- await client.friends.removeTag(friendId, tagId);
32
- }
33
- results.push({ friendId, status: "ok" });
34
- }
35
- return {
36
- content: [{ type: "text", text: JSON.stringify({ success: true, results }, null, 2) }],
37
- };
38
- }
39
- catch (error) {
40
- return { content: [{ type: "text", text: JSON.stringify({ success: false, error: String(error) }, null, 2) }], isError: true };
41
- }
42
- });
43
- }
44
- //# sourceMappingURL=manage-tags.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manage-tags.js","sourceRoot":"","sources":["../../src/tools/manage-tags.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,UAAU,kBAAkB,CAAC,MAAiB;IAClD,MAAM,CAAC,IAAI,CACT,aAAa,EACb,+GAA+G,EAC/G;QACE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACzE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QACzE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;QACpG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;QAC/E,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uEAAuE,CAAC;KAC5H,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE;QACxD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAE3B,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACxB,IAAI,CAAC,OAAO;oBAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBACvE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACzE,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBACnF,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YACxE,IAAI,CAAC,SAAS,EAAE,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAExF,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;oBACrB,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC/C,CAAC;qBAAM,CAAC;oBACN,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAClD,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACvF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACjI,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerSendMessage(server: McpServer): void;
@@ -1,24 +0,0 @@
1
- import { z } from "zod";
2
- import { getClient } from "../client.js";
3
- export function registerSendMessage(server) {
4
- server.tool("send_message", "Send a text or flex message to a specific friend. Use messageType 'flex' for rich card layouts.", {
5
- friendId: z.string().describe("The friend's ID to send the message to"),
6
- content: z.string().describe("Message content. For text: plain string. For flex: JSON string of LINE Flex Message."),
7
- messageType: z.enum(["text", "flex"]).default("text").describe("Message type: 'text' for plain text, 'flex' for Flex Message JSON"),
8
- }, async ({ friendId, content, messageType }) => {
9
- try {
10
- const client = getClient();
11
- const result = await client.friends.sendMessage(friendId, content, messageType);
12
- return {
13
- content: [{
14
- type: "text",
15
- text: JSON.stringify({ success: true, messageId: result.messageId }, null, 2),
16
- }],
17
- };
18
- }
19
- catch (error) {
20
- return { content: [{ type: "text", text: JSON.stringify({ success: false, error: String(error) }, null, 2) }], isError: true };
21
- }
22
- });
23
- }
24
- //# sourceMappingURL=send-message.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/tools/send-message.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,UAAU,mBAAmB,CAAC,MAAiB;IACnD,MAAM,CAAC,IAAI,CACT,cAAc,EACd,iGAAiG,EACjG;QACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;QACvE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sFAAsF,CAAC;QACpH,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,mEAAmE,CAAC;KACpI,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YAChF,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;qBAC9E,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACjI,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}