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.
- package/README.md +26 -31
- package/dist/handlers/create-idea/handler.js +64 -0
- package/dist/handlers/create-idea/handler.js.map +1 -0
- package/dist/handlers/create-idea/index.js +3 -0
- package/dist/handlers/create-idea/index.js.map +1 -0
- package/dist/handlers/create-idea/tool.js +23 -0
- package/dist/handlers/create-idea/tool.js.map +1 -0
- package/dist/handlers/create-memo/handler.js +72 -0
- package/dist/handlers/create-memo/handler.js.map +1 -0
- package/dist/handlers/create-memo/index.js +3 -0
- package/dist/handlers/create-memo/index.js.map +1 -0
- package/dist/handlers/create-memo/tool.js +35 -0
- package/dist/handlers/create-memo/tool.js.map +1 -0
- package/dist/handlers/create-memo-tool.js +35 -0
- package/dist/handlers/create-memo-tool.js.map +1 -0
- package/dist/handlers/create-memo.js +5 -3
- package/dist/handlers/create-memo.js.map +1 -1
- package/dist/handlers/create-note/handler.js +71 -0
- package/dist/handlers/create-note/handler.js.map +1 -0
- package/dist/handlers/create-note/index.js +3 -0
- package/dist/handlers/create-note/index.js.map +1 -0
- package/dist/handlers/create-note/tool.js +31 -0
- package/dist/handlers/create-note/tool.js.map +1 -0
- package/dist/handlers/create-skill-sheet/handler.js +72 -0
- package/dist/handlers/create-skill-sheet/handler.js.map +1 -0
- package/dist/handlers/create-skill-sheet/index.js +3 -0
- package/dist/handlers/create-skill-sheet/index.js.map +1 -0
- package/dist/handlers/create-skill-sheet/tool.js +120 -0
- package/dist/handlers/create-skill-sheet/tool.js.map +1 -0
- package/dist/handlers/delete-idea/handler.js +63 -0
- package/dist/handlers/delete-idea/handler.js.map +1 -0
- package/dist/handlers/delete-idea/index.js +3 -0
- package/dist/handlers/delete-idea/index.js.map +1 -0
- package/dist/handlers/delete-idea/tool.js +19 -0
- package/dist/handlers/delete-idea/tool.js.map +1 -0
- package/dist/handlers/delete-memo/handler.js +51 -0
- package/dist/handlers/delete-memo/handler.js.map +1 -0
- package/dist/handlers/delete-memo/index.js +3 -0
- package/dist/handlers/delete-memo/index.js.map +1 -0
- package/dist/handlers/delete-memo/tool.js +19 -0
- package/dist/handlers/delete-memo/tool.js.map +1 -0
- package/dist/handlers/delete-note/handler.js +63 -0
- package/dist/handlers/delete-note/handler.js.map +1 -0
- package/dist/handlers/delete-note/index.js +3 -0
- package/dist/handlers/delete-note/index.js.map +1 -0
- package/dist/handlers/delete-note/tool.js +19 -0
- package/dist/handlers/delete-note/tool.js.map +1 -0
- package/dist/handlers/get-categories/handler.js +39 -0
- package/dist/handlers/get-categories/handler.js.map +1 -0
- package/dist/handlers/get-categories/index.js +3 -0
- package/dist/handlers/get-categories/index.js.map +1 -0
- package/dist/handlers/get-categories/tool.js +13 -0
- package/dist/handlers/get-categories/tool.js.map +1 -0
- package/dist/handlers/get-memo/handler.js +57 -0
- package/dist/handlers/get-memo/handler.js.map +1 -0
- package/dist/handlers/get-memo/index.js +3 -0
- package/dist/handlers/get-memo/index.js.map +1 -0
- package/dist/handlers/get-memo/tool.js +19 -0
- package/dist/handlers/get-memo/tool.js.map +1 -0
- package/dist/handlers/get-note/handler.js +69 -0
- package/dist/handlers/get-note/handler.js.map +1 -0
- package/dist/handlers/get-note/index.js +3 -0
- package/dist/handlers/get-note/index.js.map +1 -0
- package/dist/handlers/get-note/tool.js +19 -0
- package/dist/handlers/get-note/tool.js.map +1 -0
- package/dist/handlers/get-skill-sheet/handler.js +80 -0
- package/dist/handlers/get-skill-sheet/handler.js.map +1 -0
- package/dist/handlers/get-skill-sheet/index.js +3 -0
- package/dist/handlers/get-skill-sheet/index.js.map +1 -0
- package/dist/handlers/get-skill-sheet/tool.js +13 -0
- package/dist/handlers/get-skill-sheet/tool.js.map +1 -0
- package/dist/handlers/index.js +15 -1
- package/dist/handlers/index.js.map +1 -1
- package/dist/handlers/list-ideas/handler.js +51 -0
- package/dist/handlers/list-ideas/handler.js.map +1 -0
- package/dist/handlers/list-ideas/index.js +3 -0
- package/dist/handlers/list-ideas/index.js.map +1 -0
- package/dist/handlers/list-ideas/tool.js +13 -0
- package/dist/handlers/list-ideas/tool.js.map +1 -0
- package/dist/handlers/search-memo/handler.js +80 -0
- package/dist/handlers/search-memo/handler.js.map +1 -0
- package/dist/handlers/search-memo/index.js +3 -0
- package/dist/handlers/search-memo/index.js.map +1 -0
- package/dist/handlers/search-memo/tool.js +41 -0
- package/dist/handlers/search-memo/tool.js.map +1 -0
- package/dist/handlers/search-memo-tool.js +41 -0
- package/dist/handlers/search-memo-tool.js.map +1 -0
- package/dist/handlers/search-memo.js +80 -0
- package/dist/handlers/search-memo.js.map +1 -0
- package/dist/handlers/search-notes/handler.js +73 -0
- package/dist/handlers/search-notes/handler.js.map +1 -0
- package/dist/handlers/search-notes/index.js +3 -0
- package/dist/handlers/search-notes/index.js.map +1 -0
- package/dist/handlers/search-notes/tool.js +33 -0
- package/dist/handlers/search-notes/tool.js.map +1 -0
- package/dist/handlers/update-memo/handler.js +83 -0
- package/dist/handlers/update-memo/handler.js.map +1 -0
- package/dist/handlers/update-memo/index.js +3 -0
- package/dist/handlers/update-memo/index.js.map +1 -0
- package/dist/handlers/update-memo/tool.js +49 -0
- package/dist/handlers/update-memo/tool.js.map +1 -0
- package/dist/handlers/update-note/handler.js +97 -0
- package/dist/handlers/update-note/handler.js.map +1 -0
- package/dist/handlers/update-note/index.js +3 -0
- package/dist/handlers/update-note/index.js.map +1 -0
- package/dist/handlers/update-note/tool.js +34 -0
- package/dist/handlers/update-note/tool.js.map +1 -0
- package/dist/handlers/update-skill-sheet/handler.js +115 -0
- package/dist/handlers/update-skill-sheet/handler.js.map +1 -0
- package/dist/handlers/update-skill-sheet/index.js +3 -0
- package/dist/handlers/update-skill-sheet/index.js.map +1 -0
- package/dist/handlers/update-skill-sheet/tool.js +119 -0
- package/dist/handlers/update-skill-sheet/tool.js.map +1 -0
- package/dist/server.js +1 -0
- package/dist/server.js.map +1 -1
- package/dist/services/api-service.js +453 -4
- package/dist/services/api-service.js.map +1 -1
- package/dist/tool.js +69 -45
- package/dist/tool.js.map +1 -1
- package/dist/types/categories.js +2 -0
- package/dist/types/categories.js.map +1 -0
- package/dist/types/constants.js +26 -0
- package/dist/types/constants.js.map +1 -0
- package/dist/types/delete-memo.js +2 -0
- package/dist/types/delete-memo.js.map +1 -0
- package/dist/types/get-memo.js +2 -0
- package/dist/types/get-memo.js.map +1 -0
- package/dist/types/idea.js +2 -0
- package/dist/types/idea.js.map +1 -0
- package/dist/types/index.js +10 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/note.js +2 -0
- package/dist/types/note.js.map +1 -0
- package/dist/types/search-memo.js +2 -0
- package/dist/types/search-memo.js.map +1 -0
- package/dist/types/skill-sheet.js +2 -0
- package/dist/types/skill-sheet.js.map +1 -0
- package/dist/types/tool.js +2 -0
- package/dist/types/tool.js.map +1 -0
- package/dist/types/update-memo.js +2 -0
- package/dist/types/update-memo.js.map +1 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -25,54 +25,48 @@ npx paput-mcp
|
|
|
25
25
|
|
|
26
26
|
## 設定方法
|
|
27
27
|
|
|
28
|
-
###
|
|
28
|
+
### 各 AI アシスタントの設定
|
|
29
29
|
|
|
30
30
|
API キーは PaPut の設定画面から取得できます。
|
|
31
31
|
|
|
32
32
|
```json
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
"
|
|
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
|
-
|
|
42
|
+
## 使用方法
|
|
45
43
|
|
|
46
|
-
|
|
47
|
-
|
|
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
|
-
###
|
|
47
|
+
### AI アシスタントのルール設定
|
|
60
48
|
|
|
61
|
-
|
|
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
|
-
|
|
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 @@
|
|
|
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 @@
|
|
|
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.
|
|
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
|
-
|
|
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
|
|
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,
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|