paput-mcp 1.0.1 → 1.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.
Files changed (141) hide show
  1. package/dist/handlers/create-idea/handler.js +64 -0
  2. package/dist/handlers/create-idea/handler.js.map +1 -0
  3. package/dist/handlers/create-idea/index.js +3 -0
  4. package/dist/handlers/create-idea/index.js.map +1 -0
  5. package/dist/handlers/create-idea/tool.js +23 -0
  6. package/dist/handlers/create-idea/tool.js.map +1 -0
  7. package/dist/handlers/create-memo/handler.js +72 -0
  8. package/dist/handlers/create-memo/handler.js.map +1 -0
  9. package/dist/handlers/create-memo/index.js +3 -0
  10. package/dist/handlers/create-memo/index.js.map +1 -0
  11. package/dist/handlers/create-memo/tool.js +35 -0
  12. package/dist/handlers/create-memo/tool.js.map +1 -0
  13. package/dist/handlers/create-memo-tool.js +35 -0
  14. package/dist/handlers/create-memo-tool.js.map +1 -0
  15. package/dist/handlers/create-memo.js +5 -3
  16. package/dist/handlers/create-memo.js.map +1 -1
  17. package/dist/handlers/create-note/handler.js +71 -0
  18. package/dist/handlers/create-note/handler.js.map +1 -0
  19. package/dist/handlers/create-note/index.js +3 -0
  20. package/dist/handlers/create-note/index.js.map +1 -0
  21. package/dist/handlers/create-note/tool.js +31 -0
  22. package/dist/handlers/create-note/tool.js.map +1 -0
  23. package/dist/handlers/create-skill-sheet/handler.js +72 -0
  24. package/dist/handlers/create-skill-sheet/handler.js.map +1 -0
  25. package/dist/handlers/create-skill-sheet/index.js +3 -0
  26. package/dist/handlers/create-skill-sheet/index.js.map +1 -0
  27. package/dist/handlers/create-skill-sheet/tool.js +120 -0
  28. package/dist/handlers/create-skill-sheet/tool.js.map +1 -0
  29. package/dist/handlers/delete-idea/handler.js +63 -0
  30. package/dist/handlers/delete-idea/handler.js.map +1 -0
  31. package/dist/handlers/delete-idea/index.js +3 -0
  32. package/dist/handlers/delete-idea/index.js.map +1 -0
  33. package/dist/handlers/delete-idea/tool.js +19 -0
  34. package/dist/handlers/delete-idea/tool.js.map +1 -0
  35. package/dist/handlers/delete-memo/handler.js +51 -0
  36. package/dist/handlers/delete-memo/handler.js.map +1 -0
  37. package/dist/handlers/delete-memo/index.js +3 -0
  38. package/dist/handlers/delete-memo/index.js.map +1 -0
  39. package/dist/handlers/delete-memo/tool.js +19 -0
  40. package/dist/handlers/delete-memo/tool.js.map +1 -0
  41. package/dist/handlers/delete-note/handler.js +63 -0
  42. package/dist/handlers/delete-note/handler.js.map +1 -0
  43. package/dist/handlers/delete-note/index.js +3 -0
  44. package/dist/handlers/delete-note/index.js.map +1 -0
  45. package/dist/handlers/delete-note/tool.js +19 -0
  46. package/dist/handlers/delete-note/tool.js.map +1 -0
  47. package/dist/handlers/get-categories/handler.js +39 -0
  48. package/dist/handlers/get-categories/handler.js.map +1 -0
  49. package/dist/handlers/get-categories/index.js +3 -0
  50. package/dist/handlers/get-categories/index.js.map +1 -0
  51. package/dist/handlers/get-categories/tool.js +13 -0
  52. package/dist/handlers/get-categories/tool.js.map +1 -0
  53. package/dist/handlers/get-memo/handler.js +57 -0
  54. package/dist/handlers/get-memo/handler.js.map +1 -0
  55. package/dist/handlers/get-memo/index.js +3 -0
  56. package/dist/handlers/get-memo/index.js.map +1 -0
  57. package/dist/handlers/get-memo/tool.js +19 -0
  58. package/dist/handlers/get-memo/tool.js.map +1 -0
  59. package/dist/handlers/get-note/handler.js +69 -0
  60. package/dist/handlers/get-note/handler.js.map +1 -0
  61. package/dist/handlers/get-note/index.js +3 -0
  62. package/dist/handlers/get-note/index.js.map +1 -0
  63. package/dist/handlers/get-note/tool.js +19 -0
  64. package/dist/handlers/get-note/tool.js.map +1 -0
  65. package/dist/handlers/get-skill-sheet/handler.js +80 -0
  66. package/dist/handlers/get-skill-sheet/handler.js.map +1 -0
  67. package/dist/handlers/get-skill-sheet/index.js +3 -0
  68. package/dist/handlers/get-skill-sheet/index.js.map +1 -0
  69. package/dist/handlers/get-skill-sheet/tool.js +13 -0
  70. package/dist/handlers/get-skill-sheet/tool.js.map +1 -0
  71. package/dist/handlers/index.js +15 -1
  72. package/dist/handlers/index.js.map +1 -1
  73. package/dist/handlers/list-ideas/handler.js +51 -0
  74. package/dist/handlers/list-ideas/handler.js.map +1 -0
  75. package/dist/handlers/list-ideas/index.js +3 -0
  76. package/dist/handlers/list-ideas/index.js.map +1 -0
  77. package/dist/handlers/list-ideas/tool.js +13 -0
  78. package/dist/handlers/list-ideas/tool.js.map +1 -0
  79. package/dist/handlers/search-memo/handler.js +80 -0
  80. package/dist/handlers/search-memo/handler.js.map +1 -0
  81. package/dist/handlers/search-memo/index.js +3 -0
  82. package/dist/handlers/search-memo/index.js.map +1 -0
  83. package/dist/handlers/search-memo/tool.js +41 -0
  84. package/dist/handlers/search-memo/tool.js.map +1 -0
  85. package/dist/handlers/search-memo-tool.js +41 -0
  86. package/dist/handlers/search-memo-tool.js.map +1 -0
  87. package/dist/handlers/search-memo.js +80 -0
  88. package/dist/handlers/search-memo.js.map +1 -0
  89. package/dist/handlers/search-notes/handler.js +73 -0
  90. package/dist/handlers/search-notes/handler.js.map +1 -0
  91. package/dist/handlers/search-notes/index.js +3 -0
  92. package/dist/handlers/search-notes/index.js.map +1 -0
  93. package/dist/handlers/search-notes/tool.js +33 -0
  94. package/dist/handlers/search-notes/tool.js.map +1 -0
  95. package/dist/handlers/update-memo/handler.js +83 -0
  96. package/dist/handlers/update-memo/handler.js.map +1 -0
  97. package/dist/handlers/update-memo/index.js +3 -0
  98. package/dist/handlers/update-memo/index.js.map +1 -0
  99. package/dist/handlers/update-memo/tool.js +49 -0
  100. package/dist/handlers/update-memo/tool.js.map +1 -0
  101. package/dist/handlers/update-note/handler.js +97 -0
  102. package/dist/handlers/update-note/handler.js.map +1 -0
  103. package/dist/handlers/update-note/index.js +3 -0
  104. package/dist/handlers/update-note/index.js.map +1 -0
  105. package/dist/handlers/update-note/tool.js +34 -0
  106. package/dist/handlers/update-note/tool.js.map +1 -0
  107. package/dist/handlers/update-skill-sheet/handler.js +115 -0
  108. package/dist/handlers/update-skill-sheet/handler.js.map +1 -0
  109. package/dist/handlers/update-skill-sheet/index.js +3 -0
  110. package/dist/handlers/update-skill-sheet/index.js.map +1 -0
  111. package/dist/handlers/update-skill-sheet/tool.js +119 -0
  112. package/dist/handlers/update-skill-sheet/tool.js.map +1 -0
  113. package/dist/server.js +1 -0
  114. package/dist/server.js.map +1 -1
  115. package/dist/services/api-service.js +453 -4
  116. package/dist/services/api-service.js.map +1 -1
  117. package/dist/tool.js +69 -45
  118. package/dist/tool.js.map +1 -1
  119. package/dist/types/categories.js +2 -0
  120. package/dist/types/categories.js.map +1 -0
  121. package/dist/types/constants.js +26 -0
  122. package/dist/types/constants.js.map +1 -0
  123. package/dist/types/delete-memo.js +2 -0
  124. package/dist/types/delete-memo.js.map +1 -0
  125. package/dist/types/get-memo.js +2 -0
  126. package/dist/types/get-memo.js.map +1 -0
  127. package/dist/types/idea.js +2 -0
  128. package/dist/types/idea.js.map +1 -0
  129. package/dist/types/index.js +10 -0
  130. package/dist/types/index.js.map +1 -1
  131. package/dist/types/note.js +2 -0
  132. package/dist/types/note.js.map +1 -0
  133. package/dist/types/search-memo.js +2 -0
  134. package/dist/types/search-memo.js.map +1 -0
  135. package/dist/types/skill-sheet.js +2 -0
  136. package/dist/types/skill-sheet.js.map +1 -0
  137. package/dist/types/tool.js +2 -0
  138. package/dist/types/tool.js.map +1 -0
  139. package/dist/types/update-memo.js +2 -0
  140. package/dist/types/update-memo.js.map +1 -0
  141. package/package.json +3 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/get-skill-sheet/handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { getSkillSheetTool } from './tool.js';
2
+ export { handleGetSkillSheet } from './handler.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/get-skill-sheet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { handleGetSkillSheet } from './handler.js';
2
+ export const getSkillSheetTool = {
3
+ definition: {
4
+ name: 'paput_get_skill_sheet',
5
+ description: 'PaPut のスキルシートを取得します',
6
+ inputSchema: {
7
+ type: 'object',
8
+ properties: {},
9
+ },
10
+ },
11
+ handler: handleGetSkillSheet,
12
+ };
13
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/get-skill-sheet/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,CAAC,MAAM,iBAAiB,GAAgB;IAC5C,UAAU,EAAE;QACV,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IACD,OAAO,EAAE,mBAAmB;CAC7B,CAAC"}
@@ -1,2 +1,16 @@
1
- export * from './create-memo.js';
1
+ export * from './create-memo/index.js';
2
+ export * from './search-memo/index.js';
3
+ export * from './get-memo/index.js';
4
+ export * from './update-memo/index.js';
5
+ export * from './get-categories/index.js';
6
+ export * from './create-note/index.js';
7
+ export * from './search-notes/index.js';
8
+ export * from './get-note/index.js';
9
+ export * from './update-note/index.js';
10
+ export * from './list-ideas/index.js';
11
+ export * from './create-idea/index.js';
12
+ export * from './delete-idea/index.js';
13
+ export * from './get-skill-sheet/index.js';
14
+ export * from './create-skill-sheet/index.js';
15
+ export * from './update-skill-sheet/index.js';
2
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC"}
@@ -0,0 +1,51 @@
1
+ export async function handleListIdeas(args, apiService) {
2
+ try {
3
+ const result = await apiService.listIdeas();
4
+ if (!result.success) {
5
+ return {
6
+ content: [
7
+ {
8
+ type: 'text',
9
+ text: `アイデアの取得に失敗しました: ${result.error || '不明なエラー'}`,
10
+ },
11
+ ],
12
+ isError: true,
13
+ };
14
+ }
15
+ if (!result.ideas || result.ideas.length === 0) {
16
+ return {
17
+ content: [
18
+ {
19
+ type: 'text',
20
+ text: 'アイデアが登録されていません。',
21
+ },
22
+ ],
23
+ };
24
+ }
25
+ const ideasList = result.ideas
26
+ .sort((a, b) => a.sort - b.sort)
27
+ .map((idea) => `- [${idea.id}] ${idea.title} (順序: ${idea.sort})`)
28
+ .join('\n');
29
+ return {
30
+ content: [
31
+ {
32
+ type: 'text',
33
+ text: `アイデア一覧 (${result.ideas.length}件):\n${ideasList}`,
34
+ },
35
+ ],
36
+ };
37
+ }
38
+ catch (error) {
39
+ const errorMessage = error instanceof Error ? error.message : '不明なエラー';
40
+ return {
41
+ content: [
42
+ {
43
+ type: 'text',
44
+ text: `アイデアの取得中にエラーが発生しました: ${errorMessage}`,
45
+ },
46
+ ],
47
+ isError: true,
48
+ };
49
+ }
50
+ }
51
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/list-ideas/handler.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAyC,EACzC,UAAsB;IAEtB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC;QAE5C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,mBAAmB,MAAM,CAAC,KAAK,IAAI,QAAQ,EAAE;qBACpD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,iBAAiB;qBACxB;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK;aAC3B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;aAC/B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,IAAI,GAAG,CAAC;aAChE,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,WAAW,MAAM,CAAC,KAAK,CAAC,MAAM,QAAQ,SAAS,EAAE;iBACxD;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QAEpD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,wBAAwB,YAAY,EAAE;iBAC7C;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { listIdeasTool } from './tool.js';
2
+ export { handleListIdeas } from './handler.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/list-ideas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { handleListIdeas } from './handler.js';
2
+ export const listIdeasTool = {
3
+ definition: {
4
+ name: 'paput_list_ideas',
5
+ description: 'PaPut のアイデア一覧を取得します',
6
+ inputSchema: {
7
+ type: 'object',
8
+ properties: {},
9
+ },
10
+ },
11
+ handler: handleListIdeas,
12
+ };
13
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/list-ideas/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,CAAC,MAAM,aAAa,GAAgB;IACxC,UAAU,EAAE;QACV,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IACD,OAAO,EAAE,eAAe;CACzB,CAAC"}
@@ -0,0 +1,80 @@
1
+ export async function handleSearchMemo(args, apiService) {
2
+ const params = {};
3
+ if (args) {
4
+ if (typeof args.word === 'string') {
5
+ params.word = args.word;
6
+ }
7
+ if (typeof args.category_id === 'number') {
8
+ params.category_id = args.category_id;
9
+ }
10
+ if (Array.isArray(args.ids)) {
11
+ params.ids = args.ids.filter((id) => typeof id === 'number');
12
+ }
13
+ if (typeof args.is_public === 'boolean') {
14
+ params.is_public = args.is_public;
15
+ }
16
+ if (typeof args.page === 'number') {
17
+ params.page = args.page;
18
+ }
19
+ if (typeof args.limit === 'number') {
20
+ params.limit = args.limit;
21
+ }
22
+ }
23
+ try {
24
+ const result = await apiService.searchMemos(params);
25
+ if (!result.success) {
26
+ return {
27
+ content: [
28
+ {
29
+ type: 'text',
30
+ text: `メモの検索に失敗しました: ${result.error || '不明なエラー'}`,
31
+ },
32
+ ],
33
+ isError: true,
34
+ };
35
+ }
36
+ if (!result.memos || result.memos.length === 0) {
37
+ return {
38
+ content: [
39
+ {
40
+ type: 'text',
41
+ text: '該当するメモが見つかりませんでした。',
42
+ },
43
+ ],
44
+ };
45
+ }
46
+ const memoList = result.memos
47
+ .map((memo) => {
48
+ const categories = memo.categories.length > 0
49
+ ? `カテゴリ: ${memo.categories.map((c) => c.name).join(', ')}`
50
+ : '';
51
+ const visibility = memo.is_public ? '公開' : '非公開';
52
+ return `【${memo.title}】(ID: ${memo.id}, ${visibility})
53
+ ${categories}
54
+ ${memo.body}
55
+ (作成日: ${memo.created_at})`;
56
+ })
57
+ .join('\n\n---\n\n');
58
+ return {
59
+ content: [
60
+ {
61
+ type: 'text',
62
+ text: `${result.total}件中${result.memos.length}件のメモが見つかりました:\n\n${memoList}`,
63
+ },
64
+ ],
65
+ };
66
+ }
67
+ catch (error) {
68
+ const errorMessage = error instanceof Error ? error.message : '不明なエラー';
69
+ return {
70
+ content: [
71
+ {
72
+ type: 'text',
73
+ text: `メモの検索中にエラーが発生しました: ${errorMessage}`,
74
+ },
75
+ ],
76
+ isError: true,
77
+ };
78
+ }
79
+ }
80
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/search-memo/handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './handler.js';
2
+ export * from './tool.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/search-memo/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { handleSearchMemo } from './handler.js';
2
+ export const searchMemoTool = {
3
+ definition: {
4
+ name: 'paput_search_memo',
5
+ description: 'PaPut のメモを検索します',
6
+ inputSchema: {
7
+ type: 'object',
8
+ properties: {
9
+ word: {
10
+ type: 'string',
11
+ description: '検索キーワード',
12
+ },
13
+ category_id: {
14
+ type: 'number',
15
+ description: 'カテゴリーID',
16
+ },
17
+ ids: {
18
+ type: 'array',
19
+ items: {
20
+ type: 'number',
21
+ },
22
+ description: 'メモIDの配列',
23
+ },
24
+ is_public: {
25
+ type: 'boolean',
26
+ description: '公開/非公開フィルタ',
27
+ },
28
+ page: {
29
+ type: 'number',
30
+ description: 'ページ番号',
31
+ },
32
+ limit: {
33
+ type: 'number',
34
+ description: '取得件数',
35
+ },
36
+ },
37
+ },
38
+ },
39
+ handler: handleSearchMemo,
40
+ };
41
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/search-memo/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,UAAU,EAAE;QACV,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,SAAS;iBACvB;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,SAAS;iBACvB;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;qBACf;oBACD,WAAW,EAAE,SAAS;iBACvB;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,YAAY;iBAC1B;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,OAAO;iBACrB;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,MAAM;iBACpB;aACF;SACF;KACF;IACD,OAAO,EAAE,gBAAgB;CAC1B,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { handleSearchMemo } from './search-memo.js';
2
+ export const searchMemoTool = {
3
+ definition: {
4
+ name: 'paput_search_memo',
5
+ description: 'PaPut のメモを検索します',
6
+ inputSchema: {
7
+ type: 'object',
8
+ properties: {
9
+ word: {
10
+ type: 'string',
11
+ description: '検索キーワード',
12
+ },
13
+ category_id: {
14
+ type: 'number',
15
+ description: 'カテゴリーID',
16
+ },
17
+ ids: {
18
+ type: 'array',
19
+ items: {
20
+ type: 'number',
21
+ },
22
+ description: 'メモIDの配列',
23
+ },
24
+ is_public: {
25
+ type: 'boolean',
26
+ description: '公開/非公開フィルタ',
27
+ },
28
+ page: {
29
+ type: 'number',
30
+ description: 'ページ番号',
31
+ },
32
+ limit: {
33
+ type: 'number',
34
+ description: '取得件数',
35
+ },
36
+ },
37
+ },
38
+ },
39
+ handler: handleSearchMemo,
40
+ };
41
+ //# sourceMappingURL=search-memo-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-memo-tool.js","sourceRoot":"","sources":["../../src/handlers/search-memo-tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,UAAU,EAAE;QACV,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,SAAS;iBACvB;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,SAAS;iBACvB;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;qBACf;oBACD,WAAW,EAAE,SAAS;iBACvB;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,YAAY;iBAC1B;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,OAAO;iBACrB;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,MAAM;iBACpB;aACF;SACF;KACF;IACD,OAAO,EAAE,gBAAgB;CAC1B,CAAC"}
@@ -0,0 +1,80 @@
1
+ export async function handleSearchMemo(args, apiService) {
2
+ const params = {};
3
+ if (args) {
4
+ if (typeof args.word === 'string') {
5
+ params.word = args.word;
6
+ }
7
+ if (typeof args.category_id === 'number') {
8
+ params.category_id = args.category_id;
9
+ }
10
+ if (Array.isArray(args.ids)) {
11
+ params.ids = args.ids.filter((id) => typeof id === 'number');
12
+ }
13
+ if (typeof args.is_public === 'boolean') {
14
+ params.is_public = args.is_public;
15
+ }
16
+ if (typeof args.page === 'number') {
17
+ params.page = args.page;
18
+ }
19
+ if (typeof args.limit === 'number') {
20
+ params.limit = args.limit;
21
+ }
22
+ }
23
+ try {
24
+ const result = await apiService.searchMemos(params);
25
+ if (!result.success) {
26
+ return {
27
+ content: [
28
+ {
29
+ type: 'text',
30
+ text: `メモの検索に失敗しました: ${result.error || '不明なエラー'}`,
31
+ },
32
+ ],
33
+ isError: true,
34
+ };
35
+ }
36
+ if (!result.memos || result.memos.length === 0) {
37
+ return {
38
+ content: [
39
+ {
40
+ type: 'text',
41
+ text: '該当するメモが見つかりませんでした。',
42
+ },
43
+ ],
44
+ };
45
+ }
46
+ const memoList = result.memos
47
+ .map((memo) => {
48
+ const categories = memo.categories.length > 0
49
+ ? `カテゴリ: ${memo.categories.map((c) => c.name).join(', ')}`
50
+ : '';
51
+ const visibility = memo.is_public ? '公開' : '非公開';
52
+ return `【${memo.title}】(${visibility})
53
+ ${categories}
54
+ ${memo.body}
55
+ (作成日: ${memo.created_at})`;
56
+ })
57
+ .join('\n\n---\n\n');
58
+ return {
59
+ content: [
60
+ {
61
+ type: 'text',
62
+ text: `${result.total}件中${result.memos.length}件のメモが見つかりました:\n\n${memoList}`,
63
+ },
64
+ ],
65
+ };
66
+ }
67
+ catch (error) {
68
+ const errorMessage = error instanceof Error ? error.message : '不明なエラー';
69
+ return {
70
+ content: [
71
+ {
72
+ type: 'text',
73
+ text: `メモの検索中にエラーが発生しました: ${errorMessage}`,
74
+ },
75
+ ],
76
+ isError: true,
77
+ };
78
+ }
79
+ }
80
+ //# sourceMappingURL=search-memo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-memo.js","sourceRoot":"","sources":["../../src/handlers/search-memo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ export async function handleSearchNotes(args, apiService) {
2
+ // パラメータの構築
3
+ const params = {};
4
+ if (args) {
5
+ if (typeof args.word === 'string') {
6
+ params.word = args.word;
7
+ }
8
+ if (typeof args.is_public === 'boolean') {
9
+ params.is_public = args.is_public;
10
+ }
11
+ if (typeof args.page === 'number' && args.page > 0) {
12
+ params.page = args.page;
13
+ }
14
+ if (typeof args.limit === 'number' && args.limit > 0) {
15
+ params.limit = args.limit;
16
+ }
17
+ }
18
+ try {
19
+ const result = await apiService.searchNotes(params);
20
+ if (!result.success) {
21
+ return {
22
+ content: [
23
+ {
24
+ type: 'text',
25
+ text: `ノートの検索に失敗しました: ${result.error || '不明なエラー'}`,
26
+ },
27
+ ],
28
+ isError: true,
29
+ };
30
+ }
31
+ if (!result.notes || result.notes.length === 0) {
32
+ return {
33
+ content: [
34
+ {
35
+ type: 'text',
36
+ text: '該当するノートが見つかりませんでした。',
37
+ },
38
+ ],
39
+ };
40
+ }
41
+ const notesList = result.notes
42
+ .map((note) => {
43
+ const visibility = note.is_public ? '公開' : '非公開';
44
+ const memoInfo = note.memo_count > 0 ? ` (メモ数: ${note.memo_count})` : '';
45
+ return `- [${note.id}] ${note.title} (${visibility})${memoInfo}`;
46
+ })
47
+ .join('\n');
48
+ const totalInfo = result.total
49
+ ? `\n\n検索結果: ${result.notes.length}件 / 全${result.total}件`
50
+ : '';
51
+ return {
52
+ content: [
53
+ {
54
+ type: 'text',
55
+ text: `ノート一覧:\n${notesList}${totalInfo}`,
56
+ },
57
+ ],
58
+ };
59
+ }
60
+ catch (error) {
61
+ const errorMessage = error instanceof Error ? error.message : '不明なエラー';
62
+ return {
63
+ content: [
64
+ {
65
+ type: 'text',
66
+ text: `ノートの検索中にエラーが発生しました: ${errorMessage}`,
67
+ },
68
+ ],
69
+ isError: true,
70
+ };
71
+ }
72
+ }
73
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/search-notes/handler.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAyC,EACzC,UAAsB;IAEtB,WAAW;IACX,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACpC,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACnD,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACrD,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAEpD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,kBAAkB,MAAM,CAAC,KAAK,IAAI,QAAQ,EAAE;qBACnD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,qBAAqB;qBAC5B;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK;aAC3B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YACjD,MAAM,QAAQ,GACZ,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,OAAO,MAAM,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,KAAK,UAAU,IAAI,QAAQ,EAAE,CAAC;QACnE,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK;YAC5B,CAAC,CAAC,aAAa,MAAM,CAAC,KAAK,CAAC,MAAM,QAAQ,MAAM,CAAC,KAAK,GAAG;YACzD,CAAC,CAAC,EAAE,CAAC;QAEP,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,WAAW,SAAS,GAAG,SAAS,EAAE;iBACzC;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QAEpD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,uBAAuB,YAAY,EAAE;iBAC5C;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { searchNotesTool } from './tool.js';
2
+ export { handleSearchNotes } from './handler.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/search-notes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { handleSearchNotes } from './handler.js';
2
+ export const searchNotesTool = {
3
+ definition: {
4
+ name: 'paput_search_notes',
5
+ description: 'PaPut のノートを検索します',
6
+ inputSchema: {
7
+ type: 'object',
8
+ properties: {
9
+ word: {
10
+ type: 'string',
11
+ description: '検索キーワード',
12
+ },
13
+ is_public: {
14
+ type: 'boolean',
15
+ description: '公開ノートのみを検索するかどうか',
16
+ },
17
+ page: {
18
+ type: 'number',
19
+ description: 'ページ番号 (1以上)',
20
+ minimum: 1,
21
+ },
22
+ limit: {
23
+ type: 'number',
24
+ description: '1ページあたりの表示件数',
25
+ minimum: 1,
26
+ maximum: 100,
27
+ },
28
+ },
29
+ },
30
+ },
31
+ handler: handleSearchNotes,
32
+ };
33
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/search-notes/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,CAAC,MAAM,eAAe,GAAgB;IAC1C,UAAU,EAAE;QACV,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,kBAAkB;QAC/B,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,SAAS;iBACvB;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,kBAAkB;iBAChC;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,aAAa;oBAC1B,OAAO,EAAE,CAAC;iBACX;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,cAAc;oBAC3B,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,GAAG;iBACb;aACF;SACF;KACF;IACD,OAAO,EAAE,iBAAiB;CAC3B,CAAC"}
@@ -0,0 +1,83 @@
1
+ export async function handleUpdateMemo(args, apiService) {
2
+ if (!args) {
3
+ return {
4
+ content: [
5
+ {
6
+ type: 'text',
7
+ text: 'パラメータが指定されていません。',
8
+ },
9
+ ],
10
+ isError: true,
11
+ };
12
+ }
13
+ if (typeof args.id !== 'number' ||
14
+ typeof args.title !== 'string' ||
15
+ typeof args.body !== 'string' ||
16
+ typeof args.is_public !== 'boolean') {
17
+ return {
18
+ content: [
19
+ {
20
+ type: 'text',
21
+ text: '必須パラメータが不足しているか、型が正しくありません。',
22
+ },
23
+ ],
24
+ isError: true,
25
+ };
26
+ }
27
+ const categories = [];
28
+ if (Array.isArray(args.categories)) {
29
+ for (const cat of args.categories) {
30
+ if (typeof cat === 'object' && cat !== null && 'name' in cat) {
31
+ const category = {
32
+ name: String(cat.name),
33
+ };
34
+ if ('id' in cat && typeof cat.id === 'number') {
35
+ category.id = cat.id;
36
+ }
37
+ categories.push(category);
38
+ }
39
+ }
40
+ }
41
+ const params = {
42
+ id: args.id,
43
+ title: args.title,
44
+ body: args.body,
45
+ is_public: args.is_public,
46
+ categories,
47
+ };
48
+ try {
49
+ const result = await apiService.updateMemo(params);
50
+ if (!result.success) {
51
+ return {
52
+ content: [
53
+ {
54
+ type: 'text',
55
+ text: `メモの更新に失敗しました: ${result.error || '不明なエラー'}`,
56
+ },
57
+ ],
58
+ isError: true,
59
+ };
60
+ }
61
+ return {
62
+ content: [
63
+ {
64
+ type: 'text',
65
+ text: 'メモを更新しました。',
66
+ },
67
+ ],
68
+ };
69
+ }
70
+ catch (error) {
71
+ const errorMessage = error instanceof Error ? error.message : '不明なエラー';
72
+ return {
73
+ content: [
74
+ {
75
+ type: 'text',
76
+ text: `メモの更新中にエラーが発生しました: ${errorMessage}`,
77
+ },
78
+ ],
79
+ isError: true,
80
+ };
81
+ }
82
+ }
83
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/update-memo/handler.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAyC,EACzC,UAAsB;IAEtB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,kBAAkB;iBACzB;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,IACE,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ;QAC3B,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;QAC9B,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;QAC7B,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,EACnC,CAAC;QACD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,6BAA6B;iBACpC;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAmC,EAAE,CAAC;IACtD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;gBAC7D,MAAM,QAAQ,GAAsC;oBAClD,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;iBACvB,CAAC;gBACF,IAAI,IAAI,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;oBAC9C,QAAQ,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;gBACvB,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAqB;QAC/B,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,UAAU;KACX,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEnD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,iBAAiB,MAAM,CAAC,KAAK,IAAI,QAAQ,EAAE;qBAClD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,YAAY;iBACnB;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QAEpD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,sBAAsB,YAAY,EAAE;iBAC3C;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './handler.js';
2
+ export * from './tool.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/update-memo/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}