paput-mcp 1.0.0 → 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 (142) hide show
  1. package/README.md +26 -31
  2. package/dist/handlers/create-idea/handler.js +64 -0
  3. package/dist/handlers/create-idea/handler.js.map +1 -0
  4. package/dist/handlers/create-idea/index.js +3 -0
  5. package/dist/handlers/create-idea/index.js.map +1 -0
  6. package/dist/handlers/create-idea/tool.js +23 -0
  7. package/dist/handlers/create-idea/tool.js.map +1 -0
  8. package/dist/handlers/create-memo/handler.js +72 -0
  9. package/dist/handlers/create-memo/handler.js.map +1 -0
  10. package/dist/handlers/create-memo/index.js +3 -0
  11. package/dist/handlers/create-memo/index.js.map +1 -0
  12. package/dist/handlers/create-memo/tool.js +35 -0
  13. package/dist/handlers/create-memo/tool.js.map +1 -0
  14. package/dist/handlers/create-memo-tool.js +35 -0
  15. package/dist/handlers/create-memo-tool.js.map +1 -0
  16. package/dist/handlers/create-memo.js +5 -3
  17. package/dist/handlers/create-memo.js.map +1 -1
  18. package/dist/handlers/create-note/handler.js +71 -0
  19. package/dist/handlers/create-note/handler.js.map +1 -0
  20. package/dist/handlers/create-note/index.js +3 -0
  21. package/dist/handlers/create-note/index.js.map +1 -0
  22. package/dist/handlers/create-note/tool.js +31 -0
  23. package/dist/handlers/create-note/tool.js.map +1 -0
  24. package/dist/handlers/create-skill-sheet/handler.js +72 -0
  25. package/dist/handlers/create-skill-sheet/handler.js.map +1 -0
  26. package/dist/handlers/create-skill-sheet/index.js +3 -0
  27. package/dist/handlers/create-skill-sheet/index.js.map +1 -0
  28. package/dist/handlers/create-skill-sheet/tool.js +120 -0
  29. package/dist/handlers/create-skill-sheet/tool.js.map +1 -0
  30. package/dist/handlers/delete-idea/handler.js +63 -0
  31. package/dist/handlers/delete-idea/handler.js.map +1 -0
  32. package/dist/handlers/delete-idea/index.js +3 -0
  33. package/dist/handlers/delete-idea/index.js.map +1 -0
  34. package/dist/handlers/delete-idea/tool.js +19 -0
  35. package/dist/handlers/delete-idea/tool.js.map +1 -0
  36. package/dist/handlers/delete-memo/handler.js +51 -0
  37. package/dist/handlers/delete-memo/handler.js.map +1 -0
  38. package/dist/handlers/delete-memo/index.js +3 -0
  39. package/dist/handlers/delete-memo/index.js.map +1 -0
  40. package/dist/handlers/delete-memo/tool.js +19 -0
  41. package/dist/handlers/delete-memo/tool.js.map +1 -0
  42. package/dist/handlers/delete-note/handler.js +63 -0
  43. package/dist/handlers/delete-note/handler.js.map +1 -0
  44. package/dist/handlers/delete-note/index.js +3 -0
  45. package/dist/handlers/delete-note/index.js.map +1 -0
  46. package/dist/handlers/delete-note/tool.js +19 -0
  47. package/dist/handlers/delete-note/tool.js.map +1 -0
  48. package/dist/handlers/get-categories/handler.js +39 -0
  49. package/dist/handlers/get-categories/handler.js.map +1 -0
  50. package/dist/handlers/get-categories/index.js +3 -0
  51. package/dist/handlers/get-categories/index.js.map +1 -0
  52. package/dist/handlers/get-categories/tool.js +13 -0
  53. package/dist/handlers/get-categories/tool.js.map +1 -0
  54. package/dist/handlers/get-memo/handler.js +57 -0
  55. package/dist/handlers/get-memo/handler.js.map +1 -0
  56. package/dist/handlers/get-memo/index.js +3 -0
  57. package/dist/handlers/get-memo/index.js.map +1 -0
  58. package/dist/handlers/get-memo/tool.js +19 -0
  59. package/dist/handlers/get-memo/tool.js.map +1 -0
  60. package/dist/handlers/get-note/handler.js +69 -0
  61. package/dist/handlers/get-note/handler.js.map +1 -0
  62. package/dist/handlers/get-note/index.js +3 -0
  63. package/dist/handlers/get-note/index.js.map +1 -0
  64. package/dist/handlers/get-note/tool.js +19 -0
  65. package/dist/handlers/get-note/tool.js.map +1 -0
  66. package/dist/handlers/get-skill-sheet/handler.js +80 -0
  67. package/dist/handlers/get-skill-sheet/handler.js.map +1 -0
  68. package/dist/handlers/get-skill-sheet/index.js +3 -0
  69. package/dist/handlers/get-skill-sheet/index.js.map +1 -0
  70. package/dist/handlers/get-skill-sheet/tool.js +13 -0
  71. package/dist/handlers/get-skill-sheet/tool.js.map +1 -0
  72. package/dist/handlers/index.js +15 -1
  73. package/dist/handlers/index.js.map +1 -1
  74. package/dist/handlers/list-ideas/handler.js +51 -0
  75. package/dist/handlers/list-ideas/handler.js.map +1 -0
  76. package/dist/handlers/list-ideas/index.js +3 -0
  77. package/dist/handlers/list-ideas/index.js.map +1 -0
  78. package/dist/handlers/list-ideas/tool.js +13 -0
  79. package/dist/handlers/list-ideas/tool.js.map +1 -0
  80. package/dist/handlers/search-memo/handler.js +80 -0
  81. package/dist/handlers/search-memo/handler.js.map +1 -0
  82. package/dist/handlers/search-memo/index.js +3 -0
  83. package/dist/handlers/search-memo/index.js.map +1 -0
  84. package/dist/handlers/search-memo/tool.js +41 -0
  85. package/dist/handlers/search-memo/tool.js.map +1 -0
  86. package/dist/handlers/search-memo-tool.js +41 -0
  87. package/dist/handlers/search-memo-tool.js.map +1 -0
  88. package/dist/handlers/search-memo.js +80 -0
  89. package/dist/handlers/search-memo.js.map +1 -0
  90. package/dist/handlers/search-notes/handler.js +73 -0
  91. package/dist/handlers/search-notes/handler.js.map +1 -0
  92. package/dist/handlers/search-notes/index.js +3 -0
  93. package/dist/handlers/search-notes/index.js.map +1 -0
  94. package/dist/handlers/search-notes/tool.js +33 -0
  95. package/dist/handlers/search-notes/tool.js.map +1 -0
  96. package/dist/handlers/update-memo/handler.js +83 -0
  97. package/dist/handlers/update-memo/handler.js.map +1 -0
  98. package/dist/handlers/update-memo/index.js +3 -0
  99. package/dist/handlers/update-memo/index.js.map +1 -0
  100. package/dist/handlers/update-memo/tool.js +49 -0
  101. package/dist/handlers/update-memo/tool.js.map +1 -0
  102. package/dist/handlers/update-note/handler.js +97 -0
  103. package/dist/handlers/update-note/handler.js.map +1 -0
  104. package/dist/handlers/update-note/index.js +3 -0
  105. package/dist/handlers/update-note/index.js.map +1 -0
  106. package/dist/handlers/update-note/tool.js +34 -0
  107. package/dist/handlers/update-note/tool.js.map +1 -0
  108. package/dist/handlers/update-skill-sheet/handler.js +115 -0
  109. package/dist/handlers/update-skill-sheet/handler.js.map +1 -0
  110. package/dist/handlers/update-skill-sheet/index.js +3 -0
  111. package/dist/handlers/update-skill-sheet/index.js.map +1 -0
  112. package/dist/handlers/update-skill-sheet/tool.js +119 -0
  113. package/dist/handlers/update-skill-sheet/tool.js.map +1 -0
  114. package/dist/server.js +1 -0
  115. package/dist/server.js.map +1 -1
  116. package/dist/services/api-service.js +453 -4
  117. package/dist/services/api-service.js.map +1 -1
  118. package/dist/tool.js +69 -45
  119. package/dist/tool.js.map +1 -1
  120. package/dist/types/categories.js +2 -0
  121. package/dist/types/categories.js.map +1 -0
  122. package/dist/types/constants.js +26 -0
  123. package/dist/types/constants.js.map +1 -0
  124. package/dist/types/delete-memo.js +2 -0
  125. package/dist/types/delete-memo.js.map +1 -0
  126. package/dist/types/get-memo.js +2 -0
  127. package/dist/types/get-memo.js.map +1 -0
  128. package/dist/types/idea.js +2 -0
  129. package/dist/types/idea.js.map +1 -0
  130. package/dist/types/index.js +10 -0
  131. package/dist/types/index.js.map +1 -1
  132. package/dist/types/note.js +2 -0
  133. package/dist/types/note.js.map +1 -0
  134. package/dist/types/search-memo.js +2 -0
  135. package/dist/types/search-memo.js.map +1 -0
  136. package/dist/types/skill-sheet.js +2 -0
  137. package/dist/types/skill-sheet.js.map +1 -0
  138. package/dist/types/tool.js +2 -0
  139. package/dist/types/tool.js.map +1 -0
  140. package/dist/types/update-memo.js +2 -0
  141. package/dist/types/update-memo.js.map +1 -0
  142. package/package.json +3 -2
package/README.md CHANGED
@@ -25,54 +25,48 @@ npx paput-mcp
25
25
 
26
26
  ## 設定方法
27
27
 
28
- ### Windsurf での設定
28
+ ### AI アシスタントの設定
29
29
 
30
30
  API キーは PaPut の設定画面から取得できます。
31
31
 
32
32
  ```json
33
- "mcpServers": {
34
- "paput": {
35
- "command": "npx",
36
- "args": ["-y", "paput-mcp"],
37
- "env": {
38
- "PAPUT_API_KEY": "あなたのAPIキー"
39
- }
33
+ "paput": {
34
+ "command": "npx",
35
+ "args": ["-y", "paput-mcp"],
36
+ "env": {
37
+ "PAPUT_API_KEY": "あなたのAPIキー"
40
38
  }
41
39
  }
42
40
  ```
43
41
 
44
- ### Cursor での設定
42
+ ## 使用方法
45
43
 
46
- ```json
47
- "ai.mcpServers": [
48
- {
49
- "name": "paput",
50
- "command": "npx",
51
- "args": ["-y", "paput-mcp"],
52
- "env": {
53
- "PAPUT_API_KEY": "あなたのAPIキー"
54
- }
55
- }
56
- ]
57
- ```
44
+ 設定が完了したら、AI アシスタントにリクエストできます。
45
+ 以下推奨する使用方法です。
58
46
 
59
- ### Claude Desktop での設定
47
+ ### AI アシスタントのルール設定
60
48
 
61
- - 名前: `paput`
62
- - コマンド: `npx`
63
- - 引数: `-y paput-mcp`
64
- - 環境変数: `PAPUT_API_KEY=あなたのAPIキー`
49
+ AI アシスタントの設定(.windsurfrules など)に以下を追加してください。(あくまで例です。ご自身の要件に応じて調整してください。)
65
50
 
66
- ## 使用方法
51
+ ```
52
+ ## メモ作成依頼について(paput-mcp)
53
+ メモ作成を依頼した場合、以下を準拠する
54
+ - 一つのメモが大きくなりすぎないように、最小の粒度でメモを作成する
55
+ - タイトル、内容、カテゴリー(複数可)を提示する
56
+ - 文章は、です/ます 調にしない
57
+ - カテゴリーは、言語、フレームワーク、ツールくらいの粒度で設定する(例: バックエンド のような大きな括りは設定しない)
58
+ - プロジェクト固有のコードを含めない
59
+ - 勝手に MCP を経由してメモを作成せず、明示的に指示するまではチャット上にメモを提示すること
60
+ - 基本的に非公開に設定し、明示的に指示した場合のみ公開にする
61
+ - 内容には、マークダウンの # で始まる行を含めない(タイトルに相当するため)
62
+ ```
67
63
 
68
- 設定が完了したら、AI アシスタントにリクエストできます。
69
- 以下推奨する方法です。
64
+ ### プロンプト例
70
65
 
71
66
  1. 登録すべきメモを提示してもらう(推奨)
72
67
 
73
68
  ```
74
- ここまでの開発をメモとして残したいです。
75
- 一つのメモが大きくなりすぎないように、最小の粒度で、タイトル、内容、カテゴリー(複数可)を提示してください。
69
+ ここまでの開発をメモにして提示してください。
76
70
  ```
77
71
 
78
72
  2. メモ確認し問題がなかったら、登録する
@@ -82,3 +76,4 @@ API キーは PaPut の設定画面から取得できます。
82
76
  ```
83
77
 
84
78
  いきなり 2 の方法を実施すると、意図しないメモが登録されてしまう可能性があるため、1 の方法を挟んでからメモを登録することを推奨します。
79
+ また、各 AI アシスタントのルール設定で、自分好みのメモを作成してもらえるように、ある程度コントロールすることが可能です。
@@ -0,0 +1,64 @@
1
+ export async function handleCreateIdea(args, apiService) {
2
+ if (!args) {
3
+ return {
4
+ content: [
5
+ {
6
+ type: 'text',
7
+ text: 'パラメータが不足しています',
8
+ },
9
+ ],
10
+ isError: true,
11
+ };
12
+ }
13
+ // パラメータの検証
14
+ if (typeof args.title !== 'string') {
15
+ return {
16
+ content: [
17
+ {
18
+ type: 'text',
19
+ text: 'タイトルは文字列で指定してください',
20
+ },
21
+ ],
22
+ isError: true,
23
+ };
24
+ }
25
+ // パラメータの構築
26
+ const params = {
27
+ title: args.title,
28
+ };
29
+ try {
30
+ const result = await apiService.createIdea(params);
31
+ if (!result.success) {
32
+ return {
33
+ content: [
34
+ {
35
+ type: 'text',
36
+ text: `アイデアの作成に失敗しました: ${result.error || '不明なエラー'}`,
37
+ },
38
+ ],
39
+ isError: true,
40
+ };
41
+ }
42
+ return {
43
+ content: [
44
+ {
45
+ type: 'text',
46
+ text: `アイデア「${params.title}」が正常に作成されました。`,
47
+ },
48
+ ],
49
+ };
50
+ }
51
+ catch (error) {
52
+ const errorMessage = error instanceof Error ? error.message : '不明なエラー';
53
+ return {
54
+ content: [
55
+ {
56
+ type: 'text',
57
+ text: `アイデアの作成中にエラーが発生しました: ${errorMessage}`,
58
+ },
59
+ ],
60
+ isError: true,
61
+ };
62
+ }
63
+ }
64
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/create-idea/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,eAAe;iBACtB;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,WAAW;IACX,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,mBAAmB;iBAC1B;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,WAAW;IACX,MAAM,MAAM,GAAqB;QAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,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,mBAAmB,MAAM,CAAC,KAAK,IAAI,QAAQ,EAAE;qBACpD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ,MAAM,CAAC,KAAK,eAAe;iBAC1C;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 { createIdeaTool } from './tool.js';
2
+ export { handleCreateIdea } from './handler.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/create-idea/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { handleCreateIdea } from './handler.js';
2
+ export const createIdeaTool = {
3
+ definition: {
4
+ name: 'paput_create_idea',
5
+ description: 'PaPut にアイデアを作成します',
6
+ inputSchema: {
7
+ type: 'object',
8
+ properties: {
9
+ title: {
10
+ type: 'string',
11
+ description: 'アイデアのタイトル',
12
+ },
13
+ sort: {
14
+ type: 'number',
15
+ description: '表示順序',
16
+ },
17
+ },
18
+ required: ['title'],
19
+ },
20
+ },
21
+ handler: handleCreateIdea,
22
+ };
23
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/create-idea/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,mBAAmB;QAChC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,WAAW;iBACzB;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,MAAM;iBACpB;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;IACD,OAAO,EAAE,gBAAgB;CAC1B,CAAC"}
@@ -0,0 +1,72 @@
1
+ export async function handleCreateMemo(args, apiService) {
2
+ if (!args) {
3
+ return {
4
+ content: [
5
+ {
6
+ type: 'text',
7
+ text: 'パラメータが不足しています',
8
+ },
9
+ ],
10
+ isError: true,
11
+ };
12
+ }
13
+ // パラメータの検証
14
+ if (typeof args.title !== 'string' || typeof args.body !== 'string') {
15
+ return {
16
+ content: [
17
+ {
18
+ type: 'text',
19
+ text: 'タイトルと本文は文字列で指定してください',
20
+ },
21
+ ],
22
+ isError: true,
23
+ };
24
+ }
25
+ // パラメータの構築
26
+ const params = {
27
+ title: args.title,
28
+ body: args.body,
29
+ is_public: typeof args.is_public === 'boolean' ? args.is_public : false,
30
+ };
31
+ // カテゴリの処理
32
+ if (Array.isArray(args.categories)) {
33
+ params.categories = args.categories
34
+ .filter((item) => typeof item === 'string')
35
+ .map((name) => ({ name }));
36
+ }
37
+ try {
38
+ const result = await apiService.createMemo(params);
39
+ if (!result.success) {
40
+ return {
41
+ content: [
42
+ {
43
+ type: 'text',
44
+ text: `メモの作成に失敗しました: ${result.error || '不明なエラー'}`,
45
+ },
46
+ ],
47
+ isError: true,
48
+ };
49
+ }
50
+ return {
51
+ content: [
52
+ {
53
+ type: 'text',
54
+ text: `メモ「${params.title}」が正常に作成されました。`,
55
+ },
56
+ ],
57
+ };
58
+ }
59
+ catch (error) {
60
+ const errorMessage = error instanceof Error ? error.message : '不明なエラー';
61
+ return {
62
+ content: [
63
+ {
64
+ type: 'text',
65
+ text: `メモの作成中にエラーが発生しました: ${errorMessage}`,
66
+ },
67
+ ],
68
+ isError: true,
69
+ };
70
+ }
71
+ }
72
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/create-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,eAAe;iBACtB;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,WAAW;IACX,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpE,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,sBAAsB;iBAC7B;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,WAAW;IACX,MAAM,MAAM,GAAqB;QAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;KACxE,CAAC;IAEF,UAAU;IACV,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;aAChC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;aAC1D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,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,MAAM,MAAM,CAAC,KAAK,eAAe;iBACxC;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/create-memo/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { handleCreateMemo } from './handler.js';
2
+ export const createMemoTool = {
3
+ definition: {
4
+ name: 'paput_create_memo',
5
+ description: 'PaPut にメモを作成します',
6
+ inputSchema: {
7
+ type: 'object',
8
+ properties: {
9
+ title: {
10
+ type: 'string',
11
+ description: 'メモのタイトル',
12
+ },
13
+ body: {
14
+ type: 'string',
15
+ description: 'メモの内容',
16
+ },
17
+ is_public: {
18
+ type: 'boolean',
19
+ description: 'メモを公開するかどうか',
20
+ default: false,
21
+ },
22
+ categories: {
23
+ type: 'array',
24
+ items: {
25
+ type: 'string',
26
+ },
27
+ description: 'メモのカテゴリ',
28
+ },
29
+ },
30
+ required: ['title', 'body'],
31
+ },
32
+ },
33
+ handler: handleCreateMemo,
34
+ };
35
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/create-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,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,SAAS;iBACvB;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,OAAO;iBACrB;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,aAAa;oBAC1B,OAAO,EAAE,KAAK;iBACf;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;qBACf;oBACD,WAAW,EAAE,SAAS;iBACvB;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;SAC5B;KACF;IACD,OAAO,EAAE,gBAAgB;CAC1B,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { handleCreateMemo } from './create-memo.js';
2
+ export const createMemoTool = {
3
+ definition: {
4
+ name: 'paput_create_memo',
5
+ description: 'PaPut にメモを作成します',
6
+ inputSchema: {
7
+ type: 'object',
8
+ properties: {
9
+ title: {
10
+ type: 'string',
11
+ description: 'メモのタイトル',
12
+ },
13
+ body: {
14
+ type: 'string',
15
+ description: 'メモの内容',
16
+ },
17
+ is_public: {
18
+ type: 'boolean',
19
+ description: 'メモを公開するかどうか',
20
+ default: false,
21
+ },
22
+ categories: {
23
+ type: 'array',
24
+ items: {
25
+ type: 'string',
26
+ },
27
+ description: 'メモのカテゴリ',
28
+ },
29
+ },
30
+ required: ['title', 'body'],
31
+ },
32
+ },
33
+ handler: handleCreateMemo,
34
+ };
35
+ //# sourceMappingURL=create-memo-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-memo-tool.js","sourceRoot":"","sources":["../../src/handlers/create-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,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,SAAS;iBACvB;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,OAAO;iBACrB;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,aAAa;oBAC1B,OAAO,EAAE,KAAK;iBACf;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;qBACf;oBACD,WAAW,EAAE,SAAS;iBACvB;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;SAC5B;KACF;IACD,OAAO,EAAE,gBAAgB;CAC1B,CAAC"}
@@ -11,7 +11,7 @@ export async function handleCreateMemo(args, apiService) {
11
11
  };
12
12
  }
13
13
  // パラメータの検証
14
- if (typeof args.title !== 'string' || typeof args.content !== 'string') {
14
+ if (typeof args.title !== 'string' || typeof args.body !== 'string') {
15
15
  return {
16
16
  content: [
17
17
  {
@@ -25,12 +25,14 @@ export async function handleCreateMemo(args, apiService) {
25
25
  // パラメータの構築
26
26
  const params = {
27
27
  title: args.title,
28
- content: args.content,
28
+ body: args.body,
29
29
  is_public: typeof args.is_public === 'boolean' ? args.is_public : false,
30
30
  };
31
31
  // カテゴリの処理
32
32
  if (Array.isArray(args.categories)) {
33
- params.categories = args.categories.filter((item) => typeof item === 'string');
33
+ params.categories = args.categories
34
+ .filter((item) => typeof item === 'string')
35
+ .map((name) => ({ name }));
34
36
  }
35
37
  try {
36
38
  const result = await apiService.createMemo(params);
@@ -1 +1 @@
1
- {"version":3,"file":"create-memo.js","sourceRoot":"","sources":["../../src/handlers/create-memo.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,eAAe;iBACtB;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,WAAW;IACX,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvE,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,sBAAsB;iBAC7B;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,WAAW;IACX,MAAM,MAAM,GAAqB;QAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,SAAS,EAAE,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;KACxE,CAAC;IAEF,UAAU;IACV,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CACxC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CACnD,CAAC;IACJ,CAAC;IAED,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,MAAM,MAAM,CAAC,KAAK,eAAe;iBACxC;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"}
1
+ {"version":3,"file":"create-memo.js","sourceRoot":"","sources":["../../src/handlers/create-memo.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,eAAe;iBACtB;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,WAAW;IACX,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpE,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,sBAAsB;iBAC7B;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,WAAW;IACX,MAAM,MAAM,GAAqB;QAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;KACxE,CAAC;IAEF,UAAU;IACV,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;aAChC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;aAC1D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,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,MAAM,MAAM,CAAC,KAAK,eAAe;iBACxC;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,71 @@
1
+ export async function handleCreateNote(args, apiService) {
2
+ if (!args) {
3
+ return {
4
+ content: [
5
+ {
6
+ type: 'text',
7
+ text: 'パラメータが不足しています',
8
+ },
9
+ ],
10
+ isError: true,
11
+ };
12
+ }
13
+ // パラメータの検証
14
+ if (typeof args.title !== 'string') {
15
+ return {
16
+ content: [
17
+ {
18
+ type: 'text',
19
+ text: 'タイトルは文字列で指定してください',
20
+ },
21
+ ],
22
+ isError: true,
23
+ };
24
+ }
25
+ // パラメータの構築
26
+ const params = {
27
+ title: args.title,
28
+ is_public: typeof args.is_public === 'boolean' ? args.is_public : false,
29
+ };
30
+ // メモの処理
31
+ if (Array.isArray(args.memo_ids)) {
32
+ params.memos = args.memo_ids
33
+ .filter((id) => typeof id === 'number')
34
+ .map((id) => ({ id }));
35
+ }
36
+ try {
37
+ const result = await apiService.createNote(params);
38
+ if (!result.success) {
39
+ return {
40
+ content: [
41
+ {
42
+ type: 'text',
43
+ text: `ノートの作成に失敗しました: ${result.error || '不明なエラー'}`,
44
+ },
45
+ ],
46
+ isError: true,
47
+ };
48
+ }
49
+ return {
50
+ content: [
51
+ {
52
+ type: 'text',
53
+ text: `ノート「${params.title}」が正常に作成されました。${result.id ? `ID: ${result.id}` : ''}`,
54
+ },
55
+ ],
56
+ };
57
+ }
58
+ catch (error) {
59
+ const errorMessage = error instanceof Error ? error.message : '不明なエラー';
60
+ return {
61
+ content: [
62
+ {
63
+ type: 'text',
64
+ text: `ノートの作成中にエラーが発生しました: ${errorMessage}`,
65
+ },
66
+ ],
67
+ isError: true,
68
+ };
69
+ }
70
+ }
71
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/create-note/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,eAAe;iBACtB;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,WAAW;IACX,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,mBAAmB;iBAC1B;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,WAAW;IACX,MAAM,MAAM,GAAqB;QAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,SAAS,EAAE,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;KACxE,CAAC;IAEF,QAAQ;IACR,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ;aACzB,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC;aACpD,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,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,kBAAkB,MAAM,CAAC,KAAK,IAAI,QAAQ,EAAE;qBACnD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,OAAO,MAAM,CAAC,KAAK,gBAAgB,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;iBAC/E;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 { createNoteTool } from './tool.js';
2
+ export { handleCreateNote } from './handler.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/create-note/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { handleCreateNote } from './handler.js';
2
+ export const createNoteTool = {
3
+ definition: {
4
+ name: 'paput_create_note',
5
+ description: 'PaPut にノートを作成します',
6
+ inputSchema: {
7
+ type: 'object',
8
+ properties: {
9
+ title: {
10
+ type: 'string',
11
+ description: 'ノートのタイトル',
12
+ },
13
+ is_public: {
14
+ type: 'boolean',
15
+ description: 'ノートを公開するかどうか',
16
+ default: false,
17
+ },
18
+ memo_ids: {
19
+ type: 'array',
20
+ items: {
21
+ type: 'number',
22
+ },
23
+ description: 'ノートに含めるメモのIDリスト',
24
+ },
25
+ },
26
+ required: ['title'],
27
+ },
28
+ },
29
+ handler: handleCreateNote,
30
+ };
31
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/create-note/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,kBAAkB;QAC/B,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,UAAU;iBACxB;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,cAAc;oBAC3B,OAAO,EAAE,KAAK;iBACf;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;qBACf;oBACD,WAAW,EAAE,iBAAiB;iBAC/B;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;IACD,OAAO,EAAE,gBAAgB;CAC1B,CAAC"}
@@ -0,0 +1,72 @@
1
+ export async function handleCreateSkillSheet(args, apiService) {
2
+ if (!args) {
3
+ return {
4
+ content: [
5
+ {
6
+ type: 'text',
7
+ text: 'パラメータが不足しています',
8
+ },
9
+ ],
10
+ isError: true,
11
+ };
12
+ }
13
+ // 必須パラメータの検証
14
+ if (typeof args.gender !== 'number' ||
15
+ typeof args.birth_date !== 'string' ||
16
+ typeof args.years_of_experience !== 'number') {
17
+ return {
18
+ content: [
19
+ {
20
+ type: 'text',
21
+ text: '性別(gender)、生年月日(birth_date)、経験年数(years_of_experience)は必須項目です',
22
+ },
23
+ ],
24
+ isError: true,
25
+ };
26
+ }
27
+ // パラメータの構築
28
+ const params = {
29
+ nearest_station: typeof args.nearest_station === 'string' ? args.nearest_station : null,
30
+ gender: args.gender,
31
+ birth_date: args.birth_date,
32
+ years_of_experience: args.years_of_experience,
33
+ self_pr: typeof args.self_pr === 'string' ? args.self_pr : null,
34
+ skills: Array.isArray(args.skills) ? args.skills : [],
35
+ projects: Array.isArray(args.projects) ? args.projects : [],
36
+ };
37
+ try {
38
+ const result = await apiService.createSkillSheet(params);
39
+ if (!result.success) {
40
+ return {
41
+ content: [
42
+ {
43
+ type: 'text',
44
+ text: `スキルシートの作成に失敗しました: ${result.error || '不明なエラー'}`,
45
+ },
46
+ ],
47
+ isError: true,
48
+ };
49
+ }
50
+ return {
51
+ content: [
52
+ {
53
+ type: 'text',
54
+ text: `スキルシートが正常に作成されました。${result.id ? `ID: ${result.id}` : ''}`,
55
+ },
56
+ ],
57
+ };
58
+ }
59
+ catch (error) {
60
+ const errorMessage = error instanceof Error ? error.message : '不明なエラー';
61
+ return {
62
+ content: [
63
+ {
64
+ type: 'text',
65
+ text: `スキルシートの作成中にエラーが発生しました: ${errorMessage}`,
66
+ },
67
+ ],
68
+ isError: true,
69
+ };
70
+ }
71
+ }
72
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/create-skill-sheet/handler.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAyC,EACzC,UAAsB;IAEtB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,eAAe;iBACtB;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,aAAa;IACb,IACE,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;QAC/B,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ;QACnC,OAAO,IAAI,CAAC,mBAAmB,KAAK,QAAQ,EAC5C,CAAC;QACD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,8DAA8D;iBACrE;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,WAAW;IACX,MAAM,MAAM,GAA2B;QACrC,eAAe,EAAE,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI;QACvF,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,OAAO,EAAE,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QAC/D,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QACrD,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;KAC5D,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEzD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,qBAAqB,MAAM,CAAC,KAAK,IAAI,QAAQ,EAAE;qBACtD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,qBAAqB,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;iBACjE;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,0BAA0B,YAAY,EAAE;iBAC/C;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { createSkillSheetTool } from './tool.js';
2
+ export { handleCreateSkillSheet } from './handler.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/create-skill-sheet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC"}