paput-mcp 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
@@ -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"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { handleCreateSkillSheet } from './handler.js';
|
|
2
|
+
export const createSkillSheetTool = {
|
|
3
|
+
definition: {
|
|
4
|
+
name: 'paput_create_skill_sheet',
|
|
5
|
+
description: 'PaPut にスキルシートを作成します。既にスキルシートが存在する場合は更新ツール(paput_update_skill_sheet)を使用してください。',
|
|
6
|
+
inputSchema: {
|
|
7
|
+
type: 'object',
|
|
8
|
+
properties: {
|
|
9
|
+
nearest_station: {
|
|
10
|
+
type: 'string',
|
|
11
|
+
description: '最寄り駅(オプション)',
|
|
12
|
+
},
|
|
13
|
+
gender: {
|
|
14
|
+
type: 'number',
|
|
15
|
+
description: '性別(1: 男性, 2: 女性)',
|
|
16
|
+
},
|
|
17
|
+
birth_date: {
|
|
18
|
+
type: 'string',
|
|
19
|
+
description: '生年月日(YYYY-MM-DD形式)',
|
|
20
|
+
},
|
|
21
|
+
years_of_experience: {
|
|
22
|
+
type: 'number',
|
|
23
|
+
description: '経験年数',
|
|
24
|
+
},
|
|
25
|
+
self_pr: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
description: '自己PR(オプション)',
|
|
28
|
+
},
|
|
29
|
+
skills: {
|
|
30
|
+
type: 'array',
|
|
31
|
+
description: 'スキルリスト(オプション)',
|
|
32
|
+
items: {
|
|
33
|
+
type: 'object',
|
|
34
|
+
properties: {
|
|
35
|
+
category: {
|
|
36
|
+
type: 'object',
|
|
37
|
+
properties: {
|
|
38
|
+
id: { type: 'number' },
|
|
39
|
+
name: { type: 'string' },
|
|
40
|
+
},
|
|
41
|
+
required: ['id', 'name'],
|
|
42
|
+
},
|
|
43
|
+
category_type: {
|
|
44
|
+
type: 'number',
|
|
45
|
+
description: 'カテゴリタイプ(1: 言語, 2: フレームワーク, 3: データベース, 4: インフラ)',
|
|
46
|
+
},
|
|
47
|
+
level: {
|
|
48
|
+
type: 'string',
|
|
49
|
+
description: 'スキルレベル(A, B, C, D, E)',
|
|
50
|
+
},
|
|
51
|
+
years: {
|
|
52
|
+
type: 'number',
|
|
53
|
+
description: '経験年数',
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
required: ['category', 'category_type', 'level', 'years'],
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
projects: {
|
|
60
|
+
type: 'array',
|
|
61
|
+
description: 'プロジェクトリスト(オプション)',
|
|
62
|
+
items: {
|
|
63
|
+
type: 'object',
|
|
64
|
+
properties: {
|
|
65
|
+
id: { type: 'number' },
|
|
66
|
+
type: { type: 'number', description: 'プロジェクトタイプ(1: 業務, 2: 個人)' },
|
|
67
|
+
title: { type: 'string' },
|
|
68
|
+
start_period: { type: 'string' },
|
|
69
|
+
end_period: { type: ['string', 'null'] },
|
|
70
|
+
description: { type: 'string' },
|
|
71
|
+
role: { type: 'string' },
|
|
72
|
+
scale: { type: 'string' },
|
|
73
|
+
technologies: {
|
|
74
|
+
type: 'array',
|
|
75
|
+
items: {
|
|
76
|
+
type: 'object',
|
|
77
|
+
properties: {
|
|
78
|
+
id: { type: 'number' },
|
|
79
|
+
name: { type: 'string' },
|
|
80
|
+
},
|
|
81
|
+
required: ['id', 'name'],
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
processes: {
|
|
85
|
+
type: 'array',
|
|
86
|
+
items: { type: 'number' },
|
|
87
|
+
},
|
|
88
|
+
memos: {
|
|
89
|
+
type: 'array',
|
|
90
|
+
items: {
|
|
91
|
+
type: 'object',
|
|
92
|
+
properties: {
|
|
93
|
+
id: { type: 'number' },
|
|
94
|
+
title: { type: 'string' },
|
|
95
|
+
},
|
|
96
|
+
required: ['id', 'title'],
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
required: [
|
|
101
|
+
'id',
|
|
102
|
+
'type',
|
|
103
|
+
'title',
|
|
104
|
+
'start_period',
|
|
105
|
+
'description',
|
|
106
|
+
'role',
|
|
107
|
+
'scale',
|
|
108
|
+
'technologies',
|
|
109
|
+
'processes',
|
|
110
|
+
'memos',
|
|
111
|
+
],
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
required: ['gender', 'birth_date', 'years_of_experience'],
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
handler: handleCreateSkillSheet,
|
|
119
|
+
};
|
|
120
|
+
//# sourceMappingURL=tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/create-skill-sheet/tool.ts"],"names":[],"mappings":"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"}
|