paput-mcp 2.0.3

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 (283) hide show
  1. package/LICENSE.txt +21 -0
  2. package/README.md +208 -0
  3. package/dist/handlers/add-skill-sheet-project/handler.js +16 -0
  4. package/dist/handlers/add-skill-sheet-project/handler.js.map +1 -0
  5. package/dist/handlers/add-skill-sheet-project/index.js +2 -0
  6. package/dist/handlers/add-skill-sheet-project/index.js.map +1 -0
  7. package/dist/handlers/add-skill-sheet-project/tool.js +96 -0
  8. package/dist/handlers/add-skill-sheet-project/tool.js.map +1 -0
  9. package/dist/handlers/add-skill-sheet-skill/handler.js +13 -0
  10. package/dist/handlers/add-skill-sheet-skill/handler.js.map +1 -0
  11. package/dist/handlers/add-skill-sheet-skill/index.js +2 -0
  12. package/dist/handlers/add-skill-sheet-skill/index.js.map +1 -0
  13. package/dist/handlers/add-skill-sheet-skill/tool.js +41 -0
  14. package/dist/handlers/add-skill-sheet-skill/tool.js.map +1 -0
  15. package/dist/handlers/create-idea/handler.js +65 -0
  16. package/dist/handlers/create-idea/handler.js.map +1 -0
  17. package/dist/handlers/create-idea/index.js +3 -0
  18. package/dist/handlers/create-idea/index.js.map +1 -0
  19. package/dist/handlers/create-idea/tool.js +23 -0
  20. package/dist/handlers/create-idea/tool.js.map +1 -0
  21. package/dist/handlers/create-memo/handler.js +99 -0
  22. package/dist/handlers/create-memo/handler.js.map +1 -0
  23. package/dist/handlers/create-memo/index.js +3 -0
  24. package/dist/handlers/create-memo/index.js.map +1 -0
  25. package/dist/handlers/create-memo/tool.js +35 -0
  26. package/dist/handlers/create-memo/tool.js.map +1 -0
  27. package/dist/handlers/create-memo-tool.js +35 -0
  28. package/dist/handlers/create-memo-tool.js.map +1 -0
  29. package/dist/handlers/create-memo.js +72 -0
  30. package/dist/handlers/create-memo.js.map +1 -0
  31. package/dist/handlers/create-note/handler.js +72 -0
  32. package/dist/handlers/create-note/handler.js.map +1 -0
  33. package/dist/handlers/create-note/index.js +3 -0
  34. package/dist/handlers/create-note/index.js.map +1 -0
  35. package/dist/handlers/create-note/tool.js +31 -0
  36. package/dist/handlers/create-note/tool.js.map +1 -0
  37. package/dist/handlers/create-skill-sheet/handler.js +72 -0
  38. package/dist/handlers/create-skill-sheet/handler.js.map +1 -0
  39. package/dist/handlers/create-skill-sheet/index.js +3 -0
  40. package/dist/handlers/create-skill-sheet/index.js.map +1 -0
  41. package/dist/handlers/create-skill-sheet/tool.js +123 -0
  42. package/dist/handlers/create-skill-sheet/tool.js.map +1 -0
  43. package/dist/handlers/delete-idea/handler.js +64 -0
  44. package/dist/handlers/delete-idea/handler.js.map +1 -0
  45. package/dist/handlers/delete-idea/index.js +3 -0
  46. package/dist/handlers/delete-idea/index.js.map +1 -0
  47. package/dist/handlers/delete-idea/tool.js +19 -0
  48. package/dist/handlers/delete-idea/tool.js.map +1 -0
  49. package/dist/handlers/delete-memo/handler.js +52 -0
  50. package/dist/handlers/delete-memo/handler.js.map +1 -0
  51. package/dist/handlers/delete-memo/index.js +3 -0
  52. package/dist/handlers/delete-memo/index.js.map +1 -0
  53. package/dist/handlers/delete-memo/tool.js +19 -0
  54. package/dist/handlers/delete-memo/tool.js.map +1 -0
  55. package/dist/handlers/delete-note/handler.js +64 -0
  56. package/dist/handlers/delete-note/handler.js.map +1 -0
  57. package/dist/handlers/delete-note/index.js +3 -0
  58. package/dist/handlers/delete-note/index.js.map +1 -0
  59. package/dist/handlers/delete-note/tool.js +19 -0
  60. package/dist/handlers/delete-note/tool.js.map +1 -0
  61. package/dist/handlers/delete-skill-sheet-project/handler.js +14 -0
  62. package/dist/handlers/delete-skill-sheet-project/handler.js.map +1 -0
  63. package/dist/handlers/delete-skill-sheet-project/index.js +2 -0
  64. package/dist/handlers/delete-skill-sheet-project/index.js.map +1 -0
  65. package/dist/handlers/delete-skill-sheet-project/tool.js +19 -0
  66. package/dist/handlers/delete-skill-sheet-project/tool.js.map +1 -0
  67. package/dist/handlers/delete-skill-sheet-skill/handler.js +17 -0
  68. package/dist/handlers/delete-skill-sheet-skill/handler.js.map +1 -0
  69. package/dist/handlers/delete-skill-sheet-skill/index.js +2 -0
  70. package/dist/handlers/delete-skill-sheet-skill/index.js.map +1 -0
  71. package/dist/handlers/delete-skill-sheet-skill/tool.js +19 -0
  72. package/dist/handlers/delete-skill-sheet-skill/tool.js.map +1 -0
  73. package/dist/handlers/get-categories/handler.js +40 -0
  74. package/dist/handlers/get-categories/handler.js.map +1 -0
  75. package/dist/handlers/get-categories/index.js +3 -0
  76. package/dist/handlers/get-categories/index.js.map +1 -0
  77. package/dist/handlers/get-categories/tool.js +13 -0
  78. package/dist/handlers/get-categories/tool.js.map +1 -0
  79. package/dist/handlers/get-memo/handler.js +62 -0
  80. package/dist/handlers/get-memo/handler.js.map +1 -0
  81. package/dist/handlers/get-memo/index.js +3 -0
  82. package/dist/handlers/get-memo/index.js.map +1 -0
  83. package/dist/handlers/get-memo/tool.js +19 -0
  84. package/dist/handlers/get-memo/tool.js.map +1 -0
  85. package/dist/handlers/get-note/handler.js +70 -0
  86. package/dist/handlers/get-note/handler.js.map +1 -0
  87. package/dist/handlers/get-note/index.js +3 -0
  88. package/dist/handlers/get-note/index.js.map +1 -0
  89. package/dist/handlers/get-note/tool.js +19 -0
  90. package/dist/handlers/get-note/tool.js.map +1 -0
  91. package/dist/handlers/get-skill-sheet/handler.js +88 -0
  92. package/dist/handlers/get-skill-sheet/handler.js.map +1 -0
  93. package/dist/handlers/get-skill-sheet/index.js +3 -0
  94. package/dist/handlers/get-skill-sheet/index.js.map +1 -0
  95. package/dist/handlers/get-skill-sheet/tool.js +13 -0
  96. package/dist/handlers/get-skill-sheet/tool.js.map +1 -0
  97. package/dist/handlers/get-skill-sheet-projects/handler.js +14 -0
  98. package/dist/handlers/get-skill-sheet-projects/handler.js.map +1 -0
  99. package/dist/handlers/get-skill-sheet-projects/index.js +2 -0
  100. package/dist/handlers/get-skill-sheet-projects/index.js.map +1 -0
  101. package/dist/handlers/get-skill-sheet-projects/tool.js +18 -0
  102. package/dist/handlers/get-skill-sheet-projects/tool.js.map +1 -0
  103. package/dist/handlers/get-skill-sheet-skills/handler.js +13 -0
  104. package/dist/handlers/get-skill-sheet-skills/handler.js.map +1 -0
  105. package/dist/handlers/get-skill-sheet-skills/index.js +2 -0
  106. package/dist/handlers/get-skill-sheet-skills/index.js.map +1 -0
  107. package/dist/handlers/get-skill-sheet-skills/tool.js +13 -0
  108. package/dist/handlers/get-skill-sheet-skills/tool.js.map +1 -0
  109. package/dist/handlers/index.js +26 -0
  110. package/dist/handlers/index.js.map +1 -0
  111. package/dist/handlers/list-ideas/handler.js +52 -0
  112. package/dist/handlers/list-ideas/handler.js.map +1 -0
  113. package/dist/handlers/list-ideas/index.js +3 -0
  114. package/dist/handlers/list-ideas/index.js.map +1 -0
  115. package/dist/handlers/list-ideas/tool.js +13 -0
  116. package/dist/handlers/list-ideas/tool.js.map +1 -0
  117. package/dist/handlers/search-memo/handler.js +84 -0
  118. package/dist/handlers/search-memo/handler.js.map +1 -0
  119. package/dist/handlers/search-memo/index.js +3 -0
  120. package/dist/handlers/search-memo/index.js.map +1 -0
  121. package/dist/handlers/search-memo/tool.js +45 -0
  122. package/dist/handlers/search-memo/tool.js.map +1 -0
  123. package/dist/handlers/search-memo-tool.js +41 -0
  124. package/dist/handlers/search-memo-tool.js.map +1 -0
  125. package/dist/handlers/search-memo.js +80 -0
  126. package/dist/handlers/search-memo.js.map +1 -0
  127. package/dist/handlers/search-notes/handler.js +74 -0
  128. package/dist/handlers/search-notes/handler.js.map +1 -0
  129. package/dist/handlers/search-notes/index.js +3 -0
  130. package/dist/handlers/search-notes/index.js.map +1 -0
  131. package/dist/handlers/search-notes/tool.js +33 -0
  132. package/dist/handlers/search-notes/tool.js.map +1 -0
  133. package/dist/handlers/skill-sheet-basic-info/handler.js +12 -0
  134. package/dist/handlers/skill-sheet-basic-info/handler.js.map +1 -0
  135. package/dist/handlers/skill-sheet-basic-info/index.js +2 -0
  136. package/dist/handlers/skill-sheet-basic-info/index.js.map +1 -0
  137. package/dist/handlers/skill-sheet-basic-info/tool.js +30 -0
  138. package/dist/handlers/skill-sheet-basic-info/tool.js.map +1 -0
  139. package/dist/handlers/skill-sheet-projects/handlers.js +48 -0
  140. package/dist/handlers/skill-sheet-projects/handlers.js.map +1 -0
  141. package/dist/handlers/skill-sheet-projects/index.js +2 -0
  142. package/dist/handlers/skill-sheet-projects/index.js.map +1 -0
  143. package/dist/handlers/skill-sheet-projects/tools.js +228 -0
  144. package/dist/handlers/skill-sheet-projects/tools.js.map +1 -0
  145. package/dist/handlers/skill-sheet-projects/types.js +2 -0
  146. package/dist/handlers/skill-sheet-projects/types.js.map +1 -0
  147. package/dist/handlers/skill-sheet-self-pr/handler.js +12 -0
  148. package/dist/handlers/skill-sheet-self-pr/handler.js.map +1 -0
  149. package/dist/handlers/skill-sheet-self-pr/index.js +2 -0
  150. package/dist/handlers/skill-sheet-self-pr/index.js.map +1 -0
  151. package/dist/handlers/skill-sheet-self-pr/tool.js +18 -0
  152. package/dist/handlers/skill-sheet-self-pr/tool.js.map +1 -0
  153. package/dist/handlers/skill-sheet-skills/handlers.js +57 -0
  154. package/dist/handlers/skill-sheet-skills/handlers.js.map +1 -0
  155. package/dist/handlers/skill-sheet-skills/index.js +2 -0
  156. package/dist/handlers/skill-sheet-skills/index.js.map +1 -0
  157. package/dist/handlers/skill-sheet-skills/tools.js +161 -0
  158. package/dist/handlers/skill-sheet-skills/tools.js.map +1 -0
  159. package/dist/handlers/skill-sheet-skills/types.js +2 -0
  160. package/dist/handlers/skill-sheet-skills/types.js.map +1 -0
  161. package/dist/handlers/update-idea/handler.js +77 -0
  162. package/dist/handlers/update-idea/handler.js.map +1 -0
  163. package/dist/handlers/update-idea/index.js +3 -0
  164. package/dist/handlers/update-idea/index.js.map +1 -0
  165. package/dist/handlers/update-idea/tool.js +23 -0
  166. package/dist/handlers/update-idea/tool.js.map +1 -0
  167. package/dist/handlers/update-memo/handler.js +110 -0
  168. package/dist/handlers/update-memo/handler.js.map +1 -0
  169. package/dist/handlers/update-memo/index.js +3 -0
  170. package/dist/handlers/update-memo/index.js.map +1 -0
  171. package/dist/handlers/update-memo/tool.js +49 -0
  172. package/dist/handlers/update-memo/tool.js.map +1 -0
  173. package/dist/handlers/update-note/handler.js +98 -0
  174. package/dist/handlers/update-note/handler.js.map +1 -0
  175. package/dist/handlers/update-note/index.js +3 -0
  176. package/dist/handlers/update-note/index.js.map +1 -0
  177. package/dist/handlers/update-note/tool.js +34 -0
  178. package/dist/handlers/update-note/tool.js.map +1 -0
  179. package/dist/handlers/update-skill-sheet/handler.js +115 -0
  180. package/dist/handlers/update-skill-sheet/handler.js.map +1 -0
  181. package/dist/handlers/update-skill-sheet/index.js +3 -0
  182. package/dist/handlers/update-skill-sheet/index.js.map +1 -0
  183. package/dist/handlers/update-skill-sheet/tool.js +122 -0
  184. package/dist/handlers/update-skill-sheet/tool.js.map +1 -0
  185. package/dist/handlers/update-skill-sheet-basic-info/handler.js +13 -0
  186. package/dist/handlers/update-skill-sheet-basic-info/handler.js.map +1 -0
  187. package/dist/handlers/update-skill-sheet-basic-info/index.js +2 -0
  188. package/dist/handlers/update-skill-sheet-basic-info/index.js.map +1 -0
  189. package/dist/handlers/update-skill-sheet-basic-info/tool.js +30 -0
  190. package/dist/handlers/update-skill-sheet-basic-info/tool.js.map +1 -0
  191. package/dist/handlers/update-skill-sheet-project/handler.js +16 -0
  192. package/dist/handlers/update-skill-sheet-project/handler.js.map +1 -0
  193. package/dist/handlers/update-skill-sheet-project/index.js +2 -0
  194. package/dist/handlers/update-skill-sheet-project/index.js.map +1 -0
  195. package/dist/handlers/update-skill-sheet-project/tool.js +101 -0
  196. package/dist/handlers/update-skill-sheet-project/tool.js.map +1 -0
  197. package/dist/handlers/update-skill-sheet-self-pr/handler.js +13 -0
  198. package/dist/handlers/update-skill-sheet-self-pr/handler.js.map +1 -0
  199. package/dist/handlers/update-skill-sheet-self-pr/index.js +2 -0
  200. package/dist/handlers/update-skill-sheet-self-pr/index.js.map +1 -0
  201. package/dist/handlers/update-skill-sheet-self-pr/tool.js +18 -0
  202. package/dist/handlers/update-skill-sheet-self-pr/tool.js.map +1 -0
  203. package/dist/handlers/update-skill-sheet-skill/handler.js +25 -0
  204. package/dist/handlers/update-skill-sheet-skill/handler.js.map +1 -0
  205. package/dist/handlers/update-skill-sheet-skill/index.js +2 -0
  206. package/dist/handlers/update-skill-sheet-skill/index.js.map +1 -0
  207. package/dist/handlers/update-skill-sheet-skill/tool.js +45 -0
  208. package/dist/handlers/update-skill-sheet-skill/tool.js.map +1 -0
  209. package/dist/handlers/update-skill-sheet-skills/handler.js +25 -0
  210. package/dist/handlers/update-skill-sheet-skills/handler.js.map +1 -0
  211. package/dist/handlers/update-skill-sheet-skills/index.js +2 -0
  212. package/dist/handlers/update-skill-sheet-skills/index.js.map +1 -0
  213. package/dist/handlers/update-skill-sheet-skills/tool.js +51 -0
  214. package/dist/handlers/update-skill-sheet-skills/tool.js.map +1 -0
  215. package/dist/index.js +9 -0
  216. package/dist/index.js.map +1 -0
  217. package/dist/old-index.js +210 -0
  218. package/dist/old-index.js.map +1 -0
  219. package/dist/server/paput-server.js +38 -0
  220. package/dist/server/paput-server.js.map +1 -0
  221. package/dist/server.js +36 -0
  222. package/dist/server.js.map +1 -0
  223. package/dist/services/api/base.js +35 -0
  224. package/dist/services/api/base.js.map +1 -0
  225. package/dist/services/api/category.js +4 -0
  226. package/dist/services/api/category.js.map +1 -0
  227. package/dist/services/api/client.js +50 -0
  228. package/dist/services/api/client.js.map +1 -0
  229. package/dist/services/api/idea.js +64 -0
  230. package/dist/services/api/idea.js.map +1 -0
  231. package/dist/services/api/index.js +7 -0
  232. package/dist/services/api/index.js.map +1 -0
  233. package/dist/services/api/memo.js +90 -0
  234. package/dist/services/api/memo.js.map +1 -0
  235. package/dist/services/api/note.js +82 -0
  236. package/dist/services/api/note.js.map +1 -0
  237. package/dist/services/api/skill-sheet.js +96 -0
  238. package/dist/services/api/skill-sheet.js.map +1 -0
  239. package/dist/services/api-service.js +83 -0
  240. package/dist/services/api-service.js.map +1 -0
  241. package/dist/services/index.js +2 -0
  242. package/dist/services/index.js.map +1 -0
  243. package/dist/services/paput-api.js +45 -0
  244. package/dist/services/paput-api.js.map +1 -0
  245. package/dist/tool.js +91 -0
  246. package/dist/tool.js.map +1 -0
  247. package/dist/tools/memo.js +134 -0
  248. package/dist/tools/memo.js.map +1 -0
  249. package/dist/types/categories.js +2 -0
  250. package/dist/types/categories.js.map +1 -0
  251. package/dist/types/constants.js +26 -0
  252. package/dist/types/constants.js.map +1 -0
  253. package/dist/types/create-memo.js +2 -0
  254. package/dist/types/create-memo.js.map +1 -0
  255. package/dist/types/delete-memo.js +2 -0
  256. package/dist/types/delete-memo.js.map +1 -0
  257. package/dist/types/get-memo.js +2 -0
  258. package/dist/types/get-memo.js.map +1 -0
  259. package/dist/types/idea.js +2 -0
  260. package/dist/types/idea.js.map +1 -0
  261. package/dist/types/index.js +12 -0
  262. package/dist/types/index.js.map +1 -0
  263. package/dist/types/mcp.js +2 -0
  264. package/dist/types/mcp.js.map +1 -0
  265. package/dist/types/note.js +2 -0
  266. package/dist/types/note.js.map +1 -0
  267. package/dist/types/paput.js +2 -0
  268. package/dist/types/paput.js.map +1 -0
  269. package/dist/types/search-memo.js +2 -0
  270. package/dist/types/search-memo.js.map +1 -0
  271. package/dist/types/skill-sheet.js +2 -0
  272. package/dist/types/skill-sheet.js.map +1 -0
  273. package/dist/types/tool.js +2 -0
  274. package/dist/types/tool.js.map +1 -0
  275. package/dist/types/update-memo.js +2 -0
  276. package/dist/types/update-memo.js.map +1 -0
  277. package/dist/utils/config.js +23 -0
  278. package/dist/utils/config.js.map +1 -0
  279. package/dist/utils/error-handler.js +10 -0
  280. package/dist/utils/error-handler.js.map +1 -0
  281. package/dist/utils/logger.js +19 -0
  282. package/dist/utils/logger.js.map +1 -0
  283. package/package.json +48 -0
package/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 mizuko
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,208 @@
1
+ # PaPut MCP サーバー
2
+
3
+ [PaPut](https://paput.io) と連携する Model Context Protocol (MCP) サーバーです。
4
+ AI アシスタント(Windsurf、Cursor、Claude Desktop 等)から PaPut の様々な機能を利用できます。
5
+
6
+ ## 機能
7
+
8
+ ### メモ管理
9
+
10
+ - メモの作成、検索、取得、更新、削除
11
+ - カテゴリの設定と管理
12
+ - 公開/非公開設定
13
+
14
+ ### ノート管理
15
+
16
+ - ノートの作成、検索、取得、更新、削除
17
+ - メモとの関連付け
18
+
19
+ ### アイデア管理
20
+
21
+ - アイデアの作成、一覧表示、更新、削除
22
+
23
+ ### スキルシート管理
24
+
25
+ - スキルシートの取得
26
+ - 基本情報の更新(生年月日、性別、最寄駅、経験年数)
27
+ - 自己PRの更新
28
+ - スキル情報の個別管理(追加、更新、削除、一括更新)
29
+ - プロジェクト情報の個別管理(追加、更新、削除、検索)
30
+
31
+ ## インストール
32
+
33
+ npm を使用してグローバルにインストールする場合:
34
+
35
+ ```bash
36
+ npm install -g paput-mcp
37
+ ```
38
+
39
+ または、npx を使用して直接実行することもできます:
40
+
41
+ ```bash
42
+ npx paput-mcp
43
+ ```
44
+
45
+ ## 設定方法
46
+
47
+ ### 各 AI アシスタントの設定
48
+
49
+ API キーは PaPut の設定画面から取得できます。
50
+
51
+ ```json
52
+ "paput": {
53
+ "command": "npx",
54
+ "args": ["-y", "paput-mcp"],
55
+ "env": {
56
+ "PAPUT_API_KEY": "あなたのAPIキー",
57
+ "PAPUT_PROJECT_MATCH": "プロジェクト名の一部(オプション)"
58
+ }
59
+ }
60
+ ```
61
+
62
+ ### プロジェクト自動紐付け機能
63
+
64
+ `PAPUT_PROJECT_MATCH` 環境変数を設定すると、メモ作成・更新時に自動的にプロジェクトが紐付けられます。
65
+
66
+ ```json
67
+ "env": {
68
+ "PAPUT_API_KEY": "your-api-key",
69
+ "PAPUT_PROJECT_MATCH": "ECサイト" // プロジェクトタイトルの一部を指定
70
+ }
71
+ ```
72
+
73
+ - 指定した文字列を含むプロジェクトが自動的に選択されます
74
+ - 複数マッチした場合は最初のプロジェクトが選択されます
75
+
76
+ ## 使用方法
77
+
78
+ 設定が完了したら、AI アシスタントから以下のツールを利用できます:
79
+
80
+ ### 利用可能なツール
81
+
82
+ #### メモ管理
83
+
84
+ - `paput_create_memo` - メモを作成
85
+ - `paput_search_memo` - メモを検索
86
+ - `paput_get_memo` - メモの詳細を取得
87
+ - `paput_update_memo` - メモを更新
88
+ - `paput_get_categories` - カテゴリー一覧を取得
89
+
90
+ #### ノート管理
91
+
92
+ - `paput_create_note` - ノートを作成
93
+ - `paput_search_notes` - ノートを検索
94
+ - `paput_get_note` - ノートの詳細を取得
95
+ - `paput_update_note` - ノートを更新
96
+
97
+ #### アイデア管理
98
+
99
+ - `paput_list_ideas` - アイデア一覧を取得
100
+ - `paput_create_idea` - アイデアを作成
101
+ - `paput_update_idea` - アイデアを更新
102
+ - `paput_delete_idea` - アイデアを削除
103
+
104
+ #### スキルシート管理
105
+
106
+ - `paput_get_skill_sheet` - スキルシートを取得
107
+ - `paput_update_skill_sheet_basic_info` - スキルシート基本情報を更新
108
+ - `paput_update_skill_sheet_self_pr` - スキルシート自己PRを更新
109
+ - `paput_get_skill_sheet_skills` - スキルシートスキル一覧を取得
110
+ - `paput_update_skill_sheet_skills` - スキルシートのスキル一覧を一括更新
111
+ - `paput_add_skill_sheet_skill` - スキルシートにスキルを追加
112
+ - `paput_update_skill_sheet_skill` - スキルシートのスキルを更新
113
+ - `paput_delete_skill_sheet_skill` - スキルシートからスキルを削除
114
+ - `paput_get_skill_sheet_projects` - スキルシートプロジェクト一覧を取得
115
+ - `paput_add_skill_sheet_project` - スキルシートにプロジェクトを追加
116
+ - `paput_update_skill_sheet_project` - スキルシートのプロジェクトを更新
117
+ - `paput_delete_skill_sheet_project` - スキルシートからプロジェクトを削除
118
+
119
+ 以下、推奨する使用方法です。
120
+
121
+ ### AI アシスタントのルール設定
122
+
123
+ AI アシスタントの設定(.windsurfrules など)に以下を追加してください。(あくまで例です。ご自身の要件に応じて調整してください。)
124
+
125
+ ```
126
+ ## メモ作成依頼について(paput-mcp)
127
+ メモ作成を依頼した場合、以下を準拠する
128
+ - 一つのメモが大きくなりすぎないように、最小の粒度でメモを作成する
129
+ - タイトル、内容、カテゴリー(複数可)を提示する
130
+ - 文章は、です/ます 調にしない
131
+ - カテゴリーは、言語、フレームワーク、ツールくらいの粒度で設定する(例: バックエンド のような大きな括りは設定しない)
132
+ - プロジェクト固有のコードを含めない
133
+ - 勝手に MCP を経由してメモを作成せず、明示的に指示するまではチャット上にメモを提示すること
134
+ - 基本的に非公開に設定し、明示的に指示した場合のみ公開にする
135
+ - 内容には、マークダウンの # で始まる行を含めない(タイトルに相当するため)
136
+ ```
137
+
138
+ ### プロンプト例
139
+
140
+ 1. 登録すべきメモを提示してもらう(推奨)
141
+
142
+ ```
143
+ ここまでの開発をメモにして提示してください。
144
+ ```
145
+
146
+ 2. メモ確認し問題がなかったら、登録する
147
+
148
+ ```
149
+ 提案された内容で、PaPut にメモを作成してください。
150
+ ```
151
+
152
+ いきなり 2 の方法を実施すると、意図しないメモが登録されてしまう可能性があるため、1 の方法を挟んでからメモを登録することを推奨します。
153
+ また、各 AI アシスタントのルール設定で、自分好みのメモを作成してもらえるように、ある程度コントロールすることが可能です。
154
+
155
+ ## Claude Code の Custom Slash Command の使用例
156
+
157
+ 以下の設定を `~/.claude/commands/paput.md` ファイルとして保存すると、Claude Code で `/paput` コマンドが使用できます:
158
+
159
+ ````markdown
160
+ ---
161
+ allowed-tools: mcp__paput__paput_create_memo, mcp__paput__paput_search_memo, mcp__paput__paput_get_categories
162
+ description: 問題解決時の知見やベストプラクティスをPaPutにメモとして保存
163
+ argument-hint: (任意) 保存したい知見の概要
164
+ ---
165
+
166
+ ## PaPut メモ作成コマンド
167
+
168
+ このコマンドは、コーディング中に得られた知見を PaPut にメモとして保存します。
169
+
170
+ ### 使用方法
171
+
172
+ ```bash
173
+ # 会話全体から知見を自動抽出
174
+ /paput
175
+
176
+ # 特定の知見についてメモ化(例)
177
+ /paput Bunでのマイグレーション手順
178
+ /paput JWT認証のエラーハンドリング方法
179
+ /paput クリーンアーキテクチャでのリポジトリ実装パターン
180
+ ```
181
+
182
+ ### メモ作成のタイミング
183
+
184
+ 以下のような場面で、自動的にメモの下書きを提示します:
185
+
186
+ 1. **問題解決時の知見** - バグ修正や問題解決で得られた知識
187
+ 2. **設計・アーキテクチャ決定** - システム設計の重要な決定事項
188
+ 3. **ベストプラクティスの発見** - より良い実装方法の発見
189
+ 4. **デバッグ手法の確立** - 効果的なデバッグ方法の発見
190
+ 5. **タスク完了時に得られた知見** - タスク完了後の学び
191
+
192
+ ### 処理フロー
193
+
194
+ 1. 現在の会話内容から、保存すべき知見を分析
195
+ 2. メモの下書きを提示(タイトル、内容、カテゴリー)
196
+ 3. ユーザーの確認・修正を待つ
197
+ 4. 承認されたら PaPut に登録
198
+
199
+ ### メモ作成ルール
200
+
201
+ - 一つのメモが大きくなりすぎないよう、最小の粒度で作成
202
+ - タイトル、内容、カテゴリー(複数可)を提示
203
+ - 文章は「です/ます」調にしない
204
+ - カテゴリーは言語、フレームワーク、ツールレベルの粒度
205
+ - プロジェクト固有のコードは含めない
206
+ - 基本的に非公開設定(明示的な指示がない限り)
207
+ - 内容にマークダウンの # で始まる行は含めない
208
+ ````
@@ -0,0 +1,16 @@
1
+ import { addSkillSheetProject } from '../../services/api/skill-sheet.js';
2
+ export async function handler(params, apiClient) {
3
+ if (!params) {
4
+ throw new Error('Project parameters are required');
5
+ }
6
+ const response = await addSkillSheetProject(apiClient, params);
7
+ return {
8
+ content: [
9
+ {
10
+ type: 'text',
11
+ text: `プロジェクトを追加しました: ${JSON.stringify(response, null, 2)}`,
12
+ },
13
+ ],
14
+ };
15
+ }
16
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/add-skill-sheet-project/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEzE,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,MAA2C,EAC3C,SAAoB;IAEpB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,SAAS,EAAE,MAAa,CAAC,CAAC;IAEtE,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,kBAAkB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;aAC5D;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { addSkillSheetProjectTool } from './tool.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/add-skill-sheet-project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,96 @@
1
+ import { handler } from './handler.js';
2
+ export const addSkillSheetProjectTool = {
3
+ definition: {
4
+ name: 'paput_add_skill_sheet_project',
5
+ description: 'PaPut のスキルシートにプロジェクトを追加します',
6
+ inputSchema: {
7
+ type: 'object',
8
+ properties: {
9
+ type: {
10
+ type: 'number',
11
+ description: 'プロジェクトタイプ(1: 業務, 2: 個人)',
12
+ },
13
+ title: {
14
+ type: 'string',
15
+ description: 'プロジェクトタイトル',
16
+ },
17
+ start_period: {
18
+ type: 'string',
19
+ description: '開始期間(YYYY-MM形式)',
20
+ },
21
+ end_period: {
22
+ type: 'string',
23
+ description: '終了期間(YYYY-MM形式)',
24
+ },
25
+ description: {
26
+ type: 'string',
27
+ description: 'プロジェクトの説明',
28
+ },
29
+ role: {
30
+ type: 'string',
31
+ description: '役割',
32
+ },
33
+ scale: {
34
+ type: 'string',
35
+ description: '規模',
36
+ },
37
+ technologies: {
38
+ type: 'array',
39
+ description: '使用技術',
40
+ items: {
41
+ type: 'object',
42
+ properties: {
43
+ id: {
44
+ type: 'number',
45
+ description: 'カテゴリーID(不明な場合は省略)',
46
+ },
47
+ name: {
48
+ type: 'string',
49
+ description: '技術名',
50
+ },
51
+ },
52
+ required: ['name'],
53
+ },
54
+ },
55
+ processes: {
56
+ type: 'array',
57
+ description: '開発工程のID配列 (1: 要件定義, 2: 基本設計, 3: 詳細設計, 4: 実装, 5: テスト, 6: 保守)',
58
+ items: {
59
+ type: 'number',
60
+ },
61
+ },
62
+ memos: {
63
+ type: 'array',
64
+ description: '関連メモ',
65
+ items: {
66
+ type: 'object',
67
+ properties: {
68
+ id: {
69
+ type: 'number',
70
+ description: 'メモID',
71
+ },
72
+ title: {
73
+ type: 'string',
74
+ description: 'メモタイトル',
75
+ },
76
+ },
77
+ required: ['id', 'title'],
78
+ },
79
+ },
80
+ },
81
+ required: [
82
+ 'type',
83
+ 'title',
84
+ 'start_period',
85
+ 'description',
86
+ 'role',
87
+ 'scale',
88
+ 'technologies',
89
+ 'processes',
90
+ 'memos',
91
+ ],
92
+ },
93
+ },
94
+ handler,
95
+ };
96
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/add-skill-sheet-project/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,MAAM,wBAAwB,GAAgB;IACnD,UAAU,EAAE;QACV,IAAI,EAAE,+BAA+B;QACrC,WAAW,EAAE,4BAA4B;QACzC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yBAAyB;iBACvC;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,YAAY;iBAC1B;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iBAAiB;iBAC/B;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iBAAiB;iBAC/B;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,WAAW;iBACzB;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,IAAI;iBAClB;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,IAAI;iBAClB;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,MAAM;oBACnB,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,EAAE,EAAE;gCACF,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,mBAAmB;6BACjC;4BACD,IAAI,EAAE;gCACJ,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,KAAK;6BACnB;yBACF;wBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;qBACnB;iBACF;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,OAAO;oBACb,WAAW,EACT,6DAA6D;oBAC/D,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;qBACf;iBACF;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,MAAM;oBACnB,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,EAAE,EAAE;gCACF,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,MAAM;6BACpB;4BACD,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,QAAQ;6BACtB;yBACF;wBACD,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;qBAC1B;iBACF;aACF;YACD,QAAQ,EAAE;gBACR,MAAM;gBACN,OAAO;gBACP,cAAc;gBACd,aAAa;gBACb,MAAM;gBACN,OAAO;gBACP,cAAc;gBACd,WAAW;gBACX,OAAO;aACR;SACF;KACF;IACD,OAAO;CACR,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { addSkillSheetSkill } from '../../services/api/skill-sheet.js';
2
+ export async function handler(params, apiClient) {
3
+ await addSkillSheetSkill(apiClient, params);
4
+ return {
5
+ content: [
6
+ {
7
+ type: 'text',
8
+ text: 'スキルを追加しました',
9
+ },
10
+ ],
11
+ };
12
+ }
13
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/add-skill-sheet-skill/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAKvE,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,MAA2C,EAC3C,SAAoB;IAEpB,MAAM,kBAAkB,CAAC,SAAS,EAAE,MAAwB,CAAC,CAAC;IAE9D,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,YAAY;aACnB;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { addSkillSheetSkillTool } from './tool.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/add-skill-sheet-skill/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { handler } from './handler.js';
2
+ export const addSkillSheetSkillTool = {
3
+ definition: {
4
+ name: 'paput_add_skill_sheet_skill',
5
+ description: 'PaPut のスキルシートにスキルを追加します',
6
+ inputSchema: {
7
+ type: 'object',
8
+ properties: {
9
+ category: {
10
+ type: 'object',
11
+ properties: {
12
+ id: {
13
+ type: 'number',
14
+ description: 'カテゴリID',
15
+ },
16
+ name: {
17
+ type: 'string',
18
+ description: 'カテゴリ名',
19
+ },
20
+ },
21
+ required: ['id', 'name'],
22
+ },
23
+ category_type: {
24
+ type: 'number',
25
+ description: 'カテゴリタイプ(1: 言語, 2: フレームワーク, 3: データベース, 4: インフラ)',
26
+ },
27
+ level: {
28
+ type: 'string',
29
+ description: 'スキルレベル(A, B, C, D, E)',
30
+ },
31
+ years: {
32
+ type: 'number',
33
+ description: '経験年数',
34
+ },
35
+ },
36
+ required: ['category', 'category_type', 'level', 'years'],
37
+ },
38
+ },
39
+ handler,
40
+ };
41
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/add-skill-sheet-skill/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,MAAM,sBAAsB,GAAgB;IACjD,UAAU,EAAE;QACV,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,yBAAyB;QACtC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,EAAE,EAAE;4BACF,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,QAAQ;yBACtB;wBACD,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,OAAO;yBACrB;qBACF;oBACD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;iBACzB;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,gDAAgD;iBACnD;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uBAAuB;iBACrC;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,MAAM;iBACpB;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC;SAC1D;KACF;IACD,OAAO;CACR,CAAC"}
@@ -0,0 +1,65 @@
1
+ import { createIdea } from '../../services/api/idea.js';
2
+ export async function handleCreateIdea(args, apiClient) {
3
+ if (!args) {
4
+ return {
5
+ content: [
6
+ {
7
+ type: 'text',
8
+ text: 'パラメータが不足しています',
9
+ },
10
+ ],
11
+ isError: true,
12
+ };
13
+ }
14
+ // パラメータの検証
15
+ if (typeof args.title !== 'string') {
16
+ return {
17
+ content: [
18
+ {
19
+ type: 'text',
20
+ text: 'タイトルは文字列で指定してください',
21
+ },
22
+ ],
23
+ isError: true,
24
+ };
25
+ }
26
+ // パラメータの構築
27
+ const params = {
28
+ title: args.title,
29
+ };
30
+ try {
31
+ const result = await createIdea(apiClient, params);
32
+ if (!result.success) {
33
+ return {
34
+ content: [
35
+ {
36
+ type: 'text',
37
+ text: `アイデアの作成に失敗しました: ${result.error || '不明なエラー'}`,
38
+ },
39
+ ],
40
+ isError: true,
41
+ };
42
+ }
43
+ return {
44
+ content: [
45
+ {
46
+ type: 'text',
47
+ text: `アイデア「${params.title}」が正常に作成されました。`,
48
+ },
49
+ ],
50
+ };
51
+ }
52
+ catch (error) {
53
+ const errorMessage = error instanceof Error ? error.message : '不明なエラー';
54
+ return {
55
+ content: [
56
+ {
57
+ type: 'text',
58
+ text: `アイデアの作成中にエラーが発生しました: ${errorMessage}`,
59
+ },
60
+ ],
61
+ isError: true,
62
+ };
63
+ }
64
+ }
65
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/create-idea/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAyC,EACzC,SAAoB;IAEpB,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,SAAS,EAAE,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,99 @@
1
+ import { createMemo } from '../../services/api/memo.js';
2
+ import { searchSkillSheetProjects } from '../../services/api/skill-sheet.js';
3
+ export async function handleCreateMemo(args, apiClient) {
4
+ if (!args) {
5
+ return {
6
+ content: [
7
+ {
8
+ type: 'text',
9
+ text: 'パラメータが不足しています',
10
+ },
11
+ ],
12
+ isError: true,
13
+ };
14
+ }
15
+ // パラメータの検証
16
+ if (typeof args.title !== 'string' || typeof args.body !== 'string') {
17
+ return {
18
+ content: [
19
+ {
20
+ type: 'text',
21
+ text: 'タイトルと本文は文字列で指定してください',
22
+ },
23
+ ],
24
+ isError: true,
25
+ };
26
+ }
27
+ // パラメータの構築
28
+ const params = {
29
+ title: args.title,
30
+ body: args.body,
31
+ is_public: typeof args.is_public === 'boolean' ? args.is_public : false,
32
+ };
33
+ // カテゴリの処理
34
+ if (Array.isArray(args.categories)) {
35
+ params.categories = args.categories
36
+ .filter((item) => typeof item === 'string')
37
+ .map((name) => ({ name }));
38
+ }
39
+ // プロジェクトの処理
40
+ if (Array.isArray(args.projects)) {
41
+ params.projects = args.projects.filter((item) => typeof item === 'object' &&
42
+ item !== null &&
43
+ 'id' in item &&
44
+ typeof item.id === 'number');
45
+ }
46
+ else if (!args.projects && process.env.PAPUT_PROJECT_MATCH) {
47
+ // 環境変数が設定されている場合、プロジェクトを検索して自動紐付け
48
+ try {
49
+ const projects = await searchSkillSheetProjects(apiClient, process.env.PAPUT_PROJECT_MATCH);
50
+ if (projects.length > 0) {
51
+ // 最初にマッチしたプロジェクトを使用
52
+ params.projects = [projects[0]];
53
+ }
54
+ }
55
+ catch (error) {
56
+ // プロジェクト検索が失敗しても、メモ作成は続行
57
+ console.error('Failed to search projects:', error);
58
+ }
59
+ }
60
+ try {
61
+ const result = await createMemo(apiClient, params);
62
+ if (!result.success) {
63
+ return {
64
+ content: [
65
+ {
66
+ type: 'text',
67
+ text: `メモの作成に失敗しました: ${result.error || '不明なエラー'}`,
68
+ },
69
+ ],
70
+ isError: true,
71
+ };
72
+ }
73
+ let message = `メモ「${params.title}」が正常に作成されました。`;
74
+ if (params.projects && params.projects.length > 0) {
75
+ message += `\nプロジェクト: ${params.projects[0].title || `ID: ${params.projects[0].id}`}`;
76
+ }
77
+ return {
78
+ content: [
79
+ {
80
+ type: 'text',
81
+ text: message,
82
+ },
83
+ ],
84
+ };
85
+ }
86
+ catch (error) {
87
+ const errorMessage = error instanceof Error ? error.message : '不明なエラー';
88
+ return {
89
+ content: [
90
+ {
91
+ type: 'text',
92
+ text: `メモの作成中にエラーが発生しました: ${errorMessage}`,
93
+ },
94
+ ],
95
+ isError: true,
96
+ };
97
+ }
98
+ }
99
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/create-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/create-memo/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}