paput-mcp 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/README.md +26 -31
  2. package/dist/handlers/create-idea/handler.js +64 -0
  3. package/dist/handlers/create-idea/handler.js.map +1 -0
  4. package/dist/handlers/create-idea/index.js +3 -0
  5. package/dist/handlers/create-idea/index.js.map +1 -0
  6. package/dist/handlers/create-idea/tool.js +23 -0
  7. package/dist/handlers/create-idea/tool.js.map +1 -0
  8. package/dist/handlers/create-memo/handler.js +72 -0
  9. package/dist/handlers/create-memo/handler.js.map +1 -0
  10. package/dist/handlers/create-memo/index.js +3 -0
  11. package/dist/handlers/create-memo/index.js.map +1 -0
  12. package/dist/handlers/create-memo/tool.js +35 -0
  13. package/dist/handlers/create-memo/tool.js.map +1 -0
  14. package/dist/handlers/create-memo-tool.js +35 -0
  15. package/dist/handlers/create-memo-tool.js.map +1 -0
  16. package/dist/handlers/create-memo.js +5 -3
  17. package/dist/handlers/create-memo.js.map +1 -1
  18. package/dist/handlers/create-note/handler.js +71 -0
  19. package/dist/handlers/create-note/handler.js.map +1 -0
  20. package/dist/handlers/create-note/index.js +3 -0
  21. package/dist/handlers/create-note/index.js.map +1 -0
  22. package/dist/handlers/create-note/tool.js +31 -0
  23. package/dist/handlers/create-note/tool.js.map +1 -0
  24. package/dist/handlers/create-skill-sheet/handler.js +72 -0
  25. package/dist/handlers/create-skill-sheet/handler.js.map +1 -0
  26. package/dist/handlers/create-skill-sheet/index.js +3 -0
  27. package/dist/handlers/create-skill-sheet/index.js.map +1 -0
  28. package/dist/handlers/create-skill-sheet/tool.js +120 -0
  29. package/dist/handlers/create-skill-sheet/tool.js.map +1 -0
  30. package/dist/handlers/delete-idea/handler.js +63 -0
  31. package/dist/handlers/delete-idea/handler.js.map +1 -0
  32. package/dist/handlers/delete-idea/index.js +3 -0
  33. package/dist/handlers/delete-idea/index.js.map +1 -0
  34. package/dist/handlers/delete-idea/tool.js +19 -0
  35. package/dist/handlers/delete-idea/tool.js.map +1 -0
  36. package/dist/handlers/delete-memo/handler.js +51 -0
  37. package/dist/handlers/delete-memo/handler.js.map +1 -0
  38. package/dist/handlers/delete-memo/index.js +3 -0
  39. package/dist/handlers/delete-memo/index.js.map +1 -0
  40. package/dist/handlers/delete-memo/tool.js +19 -0
  41. package/dist/handlers/delete-memo/tool.js.map +1 -0
  42. package/dist/handlers/delete-note/handler.js +63 -0
  43. package/dist/handlers/delete-note/handler.js.map +1 -0
  44. package/dist/handlers/delete-note/index.js +3 -0
  45. package/dist/handlers/delete-note/index.js.map +1 -0
  46. package/dist/handlers/delete-note/tool.js +19 -0
  47. package/dist/handlers/delete-note/tool.js.map +1 -0
  48. package/dist/handlers/get-categories/handler.js +39 -0
  49. package/dist/handlers/get-categories/handler.js.map +1 -0
  50. package/dist/handlers/get-categories/index.js +3 -0
  51. package/dist/handlers/get-categories/index.js.map +1 -0
  52. package/dist/handlers/get-categories/tool.js +13 -0
  53. package/dist/handlers/get-categories/tool.js.map +1 -0
  54. package/dist/handlers/get-memo/handler.js +57 -0
  55. package/dist/handlers/get-memo/handler.js.map +1 -0
  56. package/dist/handlers/get-memo/index.js +3 -0
  57. package/dist/handlers/get-memo/index.js.map +1 -0
  58. package/dist/handlers/get-memo/tool.js +19 -0
  59. package/dist/handlers/get-memo/tool.js.map +1 -0
  60. package/dist/handlers/get-note/handler.js +69 -0
  61. package/dist/handlers/get-note/handler.js.map +1 -0
  62. package/dist/handlers/get-note/index.js +3 -0
  63. package/dist/handlers/get-note/index.js.map +1 -0
  64. package/dist/handlers/get-note/tool.js +19 -0
  65. package/dist/handlers/get-note/tool.js.map +1 -0
  66. package/dist/handlers/get-skill-sheet/handler.js +80 -0
  67. package/dist/handlers/get-skill-sheet/handler.js.map +1 -0
  68. package/dist/handlers/get-skill-sheet/index.js +3 -0
  69. package/dist/handlers/get-skill-sheet/index.js.map +1 -0
  70. package/dist/handlers/get-skill-sheet/tool.js +13 -0
  71. package/dist/handlers/get-skill-sheet/tool.js.map +1 -0
  72. package/dist/handlers/index.js +15 -1
  73. package/dist/handlers/index.js.map +1 -1
  74. package/dist/handlers/list-ideas/handler.js +51 -0
  75. package/dist/handlers/list-ideas/handler.js.map +1 -0
  76. package/dist/handlers/list-ideas/index.js +3 -0
  77. package/dist/handlers/list-ideas/index.js.map +1 -0
  78. package/dist/handlers/list-ideas/tool.js +13 -0
  79. package/dist/handlers/list-ideas/tool.js.map +1 -0
  80. package/dist/handlers/search-memo/handler.js +80 -0
  81. package/dist/handlers/search-memo/handler.js.map +1 -0
  82. package/dist/handlers/search-memo/index.js +3 -0
  83. package/dist/handlers/search-memo/index.js.map +1 -0
  84. package/dist/handlers/search-memo/tool.js +41 -0
  85. package/dist/handlers/search-memo/tool.js.map +1 -0
  86. package/dist/handlers/search-memo-tool.js +41 -0
  87. package/dist/handlers/search-memo-tool.js.map +1 -0
  88. package/dist/handlers/search-memo.js +80 -0
  89. package/dist/handlers/search-memo.js.map +1 -0
  90. package/dist/handlers/search-notes/handler.js +73 -0
  91. package/dist/handlers/search-notes/handler.js.map +1 -0
  92. package/dist/handlers/search-notes/index.js +3 -0
  93. package/dist/handlers/search-notes/index.js.map +1 -0
  94. package/dist/handlers/search-notes/tool.js +33 -0
  95. package/dist/handlers/search-notes/tool.js.map +1 -0
  96. package/dist/handlers/update-memo/handler.js +83 -0
  97. package/dist/handlers/update-memo/handler.js.map +1 -0
  98. package/dist/handlers/update-memo/index.js +3 -0
  99. package/dist/handlers/update-memo/index.js.map +1 -0
  100. package/dist/handlers/update-memo/tool.js +49 -0
  101. package/dist/handlers/update-memo/tool.js.map +1 -0
  102. package/dist/handlers/update-note/handler.js +97 -0
  103. package/dist/handlers/update-note/handler.js.map +1 -0
  104. package/dist/handlers/update-note/index.js +3 -0
  105. package/dist/handlers/update-note/index.js.map +1 -0
  106. package/dist/handlers/update-note/tool.js +34 -0
  107. package/dist/handlers/update-note/tool.js.map +1 -0
  108. package/dist/handlers/update-skill-sheet/handler.js +115 -0
  109. package/dist/handlers/update-skill-sheet/handler.js.map +1 -0
  110. package/dist/handlers/update-skill-sheet/index.js +3 -0
  111. package/dist/handlers/update-skill-sheet/index.js.map +1 -0
  112. package/dist/handlers/update-skill-sheet/tool.js +119 -0
  113. package/dist/handlers/update-skill-sheet/tool.js.map +1 -0
  114. package/dist/server.js +1 -0
  115. package/dist/server.js.map +1 -1
  116. package/dist/services/api-service.js +453 -4
  117. package/dist/services/api-service.js.map +1 -1
  118. package/dist/tool.js +69 -45
  119. package/dist/tool.js.map +1 -1
  120. package/dist/types/categories.js +2 -0
  121. package/dist/types/categories.js.map +1 -0
  122. package/dist/types/constants.js +26 -0
  123. package/dist/types/constants.js.map +1 -0
  124. package/dist/types/delete-memo.js +2 -0
  125. package/dist/types/delete-memo.js.map +1 -0
  126. package/dist/types/get-memo.js +2 -0
  127. package/dist/types/get-memo.js.map +1 -0
  128. package/dist/types/idea.js +2 -0
  129. package/dist/types/idea.js.map +1 -0
  130. package/dist/types/index.js +10 -0
  131. package/dist/types/index.js.map +1 -1
  132. package/dist/types/note.js +2 -0
  133. package/dist/types/note.js.map +1 -0
  134. package/dist/types/search-memo.js +2 -0
  135. package/dist/types/search-memo.js.map +1 -0
  136. package/dist/types/skill-sheet.js +2 -0
  137. package/dist/types/skill-sheet.js.map +1 -0
  138. package/dist/types/tool.js +2 -0
  139. package/dist/types/tool.js.map +1 -0
  140. package/dist/types/update-memo.js +2 -0
  141. package/dist/types/update-memo.js.map +1 -0
  142. package/package.json +3 -2
@@ -0,0 +1,119 @@
1
+ import { handleUpdateSkillSheet } from './handler.js';
2
+ export const updateSkillSheetTool = {
3
+ definition: {
4
+ name: 'paput_update_skill_sheet',
5
+ description: 'PaPut のスキルシートを更新します。指定されたフィールドのみが更新され、指定されていないフィールドは既存の値が保持されます。',
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
+ },
116
+ },
117
+ handler: handleUpdateSkillSheet,
118
+ };
119
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/update-skill-sheet/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,UAAU,EAAE;QACV,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE,kEAAkE;QAC/E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,MAAM;iBACpB;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kBAAkB;iBAChC;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oBAAoB;iBAClC;gBACD,mBAAmB,EAAE;oBACnB,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,MAAM;iBACpB;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,MAAM;iBACpB;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,QAAQ;oBACrB,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,QAAQ,EAAE;gCACR,IAAI,EAAE,QAAQ;gCACd,UAAU,EAAE;oCACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oCACtB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iCACzB;gCACD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;6BACzB;4BACD,aAAa,EAAE;gCACb,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,gDAAgD;6BAC9D;4BACD,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,uBAAuB;6BACrC;4BACD,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,MAAM;6BACpB;yBACF;wBACD,QAAQ,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC;qBAC1D;iBACF;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,WAAW;oBACxB,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACtB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;4BAChE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACzB,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAChC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;4BACxC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACzB,YAAY,EAAE;gCACZ,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE;oCACL,IAAI,EAAE,QAAQ;oCACd,UAAU,EAAE;wCACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wCACtB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qCACzB;oCACD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;iCACzB;6BACF;4BACD,SAAS,EAAE;gCACT,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;6BAC1B;4BACD,KAAK,EAAE;gCACL,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE;oCACL,IAAI,EAAE,QAAQ;oCACd,UAAU,EAAE;wCACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wCACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qCAC1B;oCACD,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;iCAC1B;6BACF;yBACF;wBACD,QAAQ,EAAE;4BACR,IAAI;4BACJ,MAAM;4BACN,OAAO;4BACP,cAAc;4BACd,aAAa;4BACb,MAAM;4BACN,OAAO;4BACP,cAAc;4BACd,WAAW;4BACX,OAAO;yBACR;qBACF;iBACF;aACF;SACF;KACF;IACD,OAAO,EAAE,sBAAsB;CAChC,CAAC"}
package/dist/server.js CHANGED
@@ -18,6 +18,7 @@ export class MCPServer {
18
18
  }, {
19
19
  capabilities: {
20
20
  tools: {},
21
+ resources: {},
21
22
  },
22
23
  });
23
24
  // ツールとエラーハンドリングのセットアップ
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,OAAO,SAAS;IACZ,MAAM,CAAS;IAEvB;QACE,UAAU;QACV,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,sBAAsB,CAAC;QAEnE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,WAAW;QACX,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CACtB;YACE,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO;SACjB,EACD;YACE,YAAY,EAAE;gBACZ,KAAK,EAAE,EAAE;aACV;SACF,CACF,CAAC;QAEF,uBAAuB;QACvB,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACvC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAE7C,SAAS,CAAC,OAAO,GAAG,CAAC,KAAU,EAAE,EAAE;YACjC,OAAO,CAAC,KAAK,CAAC,aAAa,KAAK,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC;QAEF,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;CACF"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,OAAO,SAAS;IACZ,MAAM,CAAS;IAEvB;QACE,UAAU;QACV,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,sBAAsB,CAAC;QAEnE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,WAAW;QACX,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CACtB;YACE,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO;SACjB,EACD;YACE,YAAY,EAAE;gBACZ,KAAK,EAAE,EAAE;gBACT,SAAS,EAAE,EAAE;aACd;SACF,CACF,CAAC;QAEF,uBAAuB;QACvB,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACvC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAE7C,SAAS,CAAC,OAAO,GAAG,CAAC,KAAU,EAAE,EAAE;YACjC,OAAO,CAAC,KAAK,CAAC,aAAa,KAAK,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC;QAEF,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;CACF"}
@@ -15,11 +15,460 @@ export class ApiService {
15
15
  },
16
16
  body: JSON.stringify({
17
17
  title: params.title,
18
- content: params.content,
18
+ body: params.body,
19
19
  is_public: params.is_public || false,
20
- categories: (params.categories || []).map((name) => ({
21
- name,
22
- })),
20
+ categories: params.categories || [],
21
+ }),
22
+ });
23
+ const data = await response.json();
24
+ if (!response.ok) {
25
+ return {
26
+ success: false,
27
+ error: data.error || '不明なエラー',
28
+ };
29
+ }
30
+ return {
31
+ success: true,
32
+ };
33
+ }
34
+ catch (error) {
35
+ return {
36
+ success: false,
37
+ error: error instanceof Error ? error.message : '不明なエラー',
38
+ };
39
+ }
40
+ }
41
+ async searchMemos(params) {
42
+ try {
43
+ const queryParams = new URLSearchParams();
44
+ if (params.word)
45
+ queryParams.append('word', params.word);
46
+ if (params.category_id !== undefined)
47
+ queryParams.append('category_id', params.category_id.toString());
48
+ if (params.ids && params.ids.length > 0) {
49
+ params.ids.forEach((id) => queryParams.append('ids[]', id.toString()));
50
+ }
51
+ if (params.is_public !== undefined)
52
+ queryParams.append('is_public', params.is_public.toString());
53
+ if (params.page !== undefined)
54
+ queryParams.append('page', params.page.toString());
55
+ if (params.limit !== undefined)
56
+ queryParams.append('limit', params.limit.toString());
57
+ const url = `${this.apiUrl}/api/v1/mcp/memos${queryParams.toString() ? '?' + queryParams.toString() : ''}`;
58
+ const response = await fetch(url, {
59
+ method: 'GET',
60
+ headers: {
61
+ 'X-API-Key': this.apiKey,
62
+ },
63
+ });
64
+ const data = await response.json();
65
+ if (!response.ok) {
66
+ return {
67
+ success: false,
68
+ error: data.error || '不明なエラー',
69
+ };
70
+ }
71
+ return {
72
+ success: true,
73
+ memos: data.memos,
74
+ total: data.total,
75
+ };
76
+ }
77
+ catch (error) {
78
+ return {
79
+ success: false,
80
+ error: error instanceof Error ? error.message : '不明なエラー',
81
+ };
82
+ }
83
+ }
84
+ async getMemo(params) {
85
+ const response = await fetch(`${this.apiUrl}/api/v1/mcp/memo/${params.id}`, {
86
+ method: 'GET',
87
+ headers: {
88
+ 'X-API-Key': this.apiKey,
89
+ },
90
+ });
91
+ if (!response.ok) {
92
+ const data = await response.json();
93
+ throw new Error(data.error || `Failed to get memo: ${response.status}`);
94
+ }
95
+ return await response.json();
96
+ }
97
+ async updateMemo(params) {
98
+ try {
99
+ const response = await fetch(`${this.apiUrl}/api/v1/mcp/memo`, {
100
+ method: 'PUT',
101
+ headers: {
102
+ 'Content-Type': 'application/json',
103
+ 'X-API-Key': this.apiKey,
104
+ },
105
+ body: JSON.stringify({
106
+ id: params.id,
107
+ title: params.title,
108
+ body: params.body,
109
+ is_public: params.is_public,
110
+ categories: params.categories,
111
+ }),
112
+ });
113
+ const data = await response.json();
114
+ if (!response.ok) {
115
+ return {
116
+ success: false,
117
+ error: data.error || '不明なエラー',
118
+ };
119
+ }
120
+ return {
121
+ success: true,
122
+ };
123
+ }
124
+ catch (error) {
125
+ return {
126
+ success: false,
127
+ error: error instanceof Error ? error.message : '不明なエラー',
128
+ };
129
+ }
130
+ }
131
+ async deleteMemo(params) {
132
+ try {
133
+ const response = await fetch(`${this.apiUrl}/api/v1/mcp/memo/${params.id}`, {
134
+ method: 'DELETE',
135
+ headers: {
136
+ 'X-API-Key': this.apiKey,
137
+ },
138
+ });
139
+ if (!response.ok) {
140
+ const data = await response.json();
141
+ return {
142
+ success: false,
143
+ error: data.error || `Failed to delete memo: ${response.status}`,
144
+ };
145
+ }
146
+ return {
147
+ success: true,
148
+ };
149
+ }
150
+ catch (error) {
151
+ return {
152
+ success: false,
153
+ error: error instanceof Error ? error.message : '不明なエラー',
154
+ };
155
+ }
156
+ }
157
+ async getCategories() {
158
+ const response = await fetch(`${this.apiUrl}/api/v1/mcp/categories`, {
159
+ method: 'GET',
160
+ headers: {
161
+ 'X-API-Key': this.apiKey,
162
+ },
163
+ });
164
+ if (!response.ok) {
165
+ const data = await response.json();
166
+ throw new Error(data.error || `Failed to get categories: ${response.status}`);
167
+ }
168
+ return await response.json();
169
+ }
170
+ // Note APIs
171
+ async createNote(params) {
172
+ try {
173
+ const response = await fetch(`${this.apiUrl}/api/v1/mcp/note`, {
174
+ method: 'POST',
175
+ headers: {
176
+ 'Content-Type': 'application/json',
177
+ 'X-API-Key': this.apiKey,
178
+ },
179
+ body: JSON.stringify({
180
+ title: params.title,
181
+ is_public: params.is_public || false,
182
+ memos: params.memos || [],
183
+ }),
184
+ });
185
+ const data = await response.json();
186
+ if (!response.ok) {
187
+ return {
188
+ success: false,
189
+ error: data.error || '不明なエラー',
190
+ };
191
+ }
192
+ return {
193
+ success: true,
194
+ id: data.id,
195
+ };
196
+ }
197
+ catch (error) {
198
+ return {
199
+ success: false,
200
+ error: error instanceof Error ? error.message : '不明なエラー',
201
+ };
202
+ }
203
+ }
204
+ async searchNotes(params) {
205
+ try {
206
+ const queryParams = new URLSearchParams();
207
+ if (params.word)
208
+ queryParams.append('word', params.word);
209
+ if (params.is_public !== undefined)
210
+ queryParams.append('is_public', params.is_public.toString());
211
+ if (params.page !== undefined)
212
+ queryParams.append('page', params.page.toString());
213
+ if (params.limit !== undefined)
214
+ queryParams.append('limit', params.limit.toString());
215
+ const url = `${this.apiUrl}/api/v1/mcp/notes${queryParams.toString() ? '?' + queryParams.toString() : ''}`;
216
+ const response = await fetch(url, {
217
+ method: 'GET',
218
+ headers: {
219
+ 'X-API-Key': this.apiKey,
220
+ },
221
+ });
222
+ const data = await response.json();
223
+ if (!response.ok) {
224
+ return {
225
+ success: false,
226
+ error: data.error || '不明なエラー',
227
+ };
228
+ }
229
+ return {
230
+ success: true,
231
+ notes: data.notes,
232
+ total: data.total,
233
+ };
234
+ }
235
+ catch (error) {
236
+ return {
237
+ success: false,
238
+ error: error instanceof Error ? error.message : '不明なエラー',
239
+ };
240
+ }
241
+ }
242
+ async getNote(params) {
243
+ const response = await fetch(`${this.apiUrl}/api/v1/mcp/note/${params.id}`, {
244
+ method: 'GET',
245
+ headers: {
246
+ 'X-API-Key': this.apiKey,
247
+ },
248
+ });
249
+ if (!response.ok) {
250
+ const data = await response.json();
251
+ throw new Error(data.error || `Failed to get note: ${response.status}`);
252
+ }
253
+ return await response.json();
254
+ }
255
+ async updateNote(params) {
256
+ try {
257
+ const response = await fetch(`${this.apiUrl}/api/v1/mcp/note`, {
258
+ method: 'PUT',
259
+ headers: {
260
+ 'Content-Type': 'application/json',
261
+ 'X-API-Key': this.apiKey,
262
+ },
263
+ body: JSON.stringify({
264
+ id: params.id,
265
+ title: params.title,
266
+ is_public: params.is_public,
267
+ memos: params.memos,
268
+ }),
269
+ });
270
+ const data = await response.json();
271
+ if (!response.ok) {
272
+ return {
273
+ success: false,
274
+ error: data.error || '不明なエラー',
275
+ };
276
+ }
277
+ return {
278
+ success: true,
279
+ };
280
+ }
281
+ catch (error) {
282
+ return {
283
+ success: false,
284
+ error: error instanceof Error ? error.message : '不明なエラー',
285
+ };
286
+ }
287
+ }
288
+ async deleteNote(params) {
289
+ try {
290
+ const response = await fetch(`${this.apiUrl}/api/v1/mcp/note/${params.id}`, {
291
+ method: 'DELETE',
292
+ headers: {
293
+ 'X-API-Key': this.apiKey,
294
+ },
295
+ });
296
+ if (!response.ok) {
297
+ const data = await response.json();
298
+ return {
299
+ success: false,
300
+ error: data.error || `Failed to delete note: ${response.status}`,
301
+ };
302
+ }
303
+ return {
304
+ success: true,
305
+ };
306
+ }
307
+ catch (error) {
308
+ return {
309
+ success: false,
310
+ error: error instanceof Error ? error.message : '不明なエラー',
311
+ };
312
+ }
313
+ }
314
+ // Idea APIs
315
+ async listIdeas() {
316
+ try {
317
+ const response = await fetch(`${this.apiUrl}/api/v1/mcp/ideas`, {
318
+ method: 'GET',
319
+ headers: {
320
+ 'X-API-Key': this.apiKey,
321
+ },
322
+ });
323
+ const data = await response.json();
324
+ if (!response.ok) {
325
+ return {
326
+ success: false,
327
+ ideas: [],
328
+ error: data.error || '不明なエラー',
329
+ };
330
+ }
331
+ return {
332
+ success: true,
333
+ ideas: data,
334
+ };
335
+ }
336
+ catch (error) {
337
+ return {
338
+ success: false,
339
+ ideas: [],
340
+ error: error instanceof Error ? error.message : '不明なエラー',
341
+ };
342
+ }
343
+ }
344
+ async createIdea(params) {
345
+ try {
346
+ const response = await fetch(`${this.apiUrl}/api/v1/mcp/idea`, {
347
+ method: 'POST',
348
+ headers: {
349
+ 'Content-Type': 'application/json',
350
+ 'X-API-Key': this.apiKey,
351
+ },
352
+ body: JSON.stringify({
353
+ title: params.title,
354
+ }),
355
+ });
356
+ const data = await response.json();
357
+ if (!response.ok) {
358
+ return {
359
+ success: false,
360
+ error: data.error || '不明なエラー',
361
+ };
362
+ }
363
+ return {
364
+ success: true,
365
+ };
366
+ }
367
+ catch (error) {
368
+ return {
369
+ success: false,
370
+ error: error instanceof Error ? error.message : '不明なエラー',
371
+ };
372
+ }
373
+ }
374
+ async deleteIdea(params) {
375
+ try {
376
+ const response = await fetch(`${this.apiUrl}/api/v1/mcp/idea/${params.id}`, {
377
+ method: 'DELETE',
378
+ headers: {
379
+ 'X-API-Key': this.apiKey,
380
+ },
381
+ });
382
+ if (!response.ok) {
383
+ const data = await response.json();
384
+ return {
385
+ success: false,
386
+ error: data.error || `Failed to delete idea: ${response.status}`,
387
+ };
388
+ }
389
+ return {
390
+ success: true,
391
+ };
392
+ }
393
+ catch (error) {
394
+ return {
395
+ success: false,
396
+ error: error instanceof Error ? error.message : '不明なエラー',
397
+ };
398
+ }
399
+ }
400
+ // Skill Sheet APIs
401
+ async getSkillSheet() {
402
+ const response = await fetch(`${this.apiUrl}/api/v1/mcp/skill-sheet`, {
403
+ method: 'GET',
404
+ headers: {
405
+ 'X-API-Key': this.apiKey,
406
+ },
407
+ });
408
+ if (!response.ok) {
409
+ const data = await response.json();
410
+ throw new Error(data.error || `Failed to get skill sheet: ${response.status}`);
411
+ }
412
+ const data = await response.json();
413
+ // Validate the response has the expected structure
414
+ if (!data || typeof data.id !== 'number') {
415
+ throw new Error('Invalid skill sheet response format');
416
+ }
417
+ return data;
418
+ }
419
+ async createSkillSheet(params) {
420
+ try {
421
+ const response = await fetch(`${this.apiUrl}/api/v1/mcp/skill-sheet`, {
422
+ method: 'POST',
423
+ headers: {
424
+ 'Content-Type': 'application/json',
425
+ 'X-API-Key': this.apiKey,
426
+ },
427
+ body: JSON.stringify({
428
+ nearest_station: params.nearest_station,
429
+ gender: params.gender,
430
+ birth_date: params.birth_date,
431
+ years_of_experience: params.years_of_experience,
432
+ self_pr: params.self_pr,
433
+ skills: params.skills,
434
+ projects: params.projects,
435
+ }),
436
+ });
437
+ const data = await response.json();
438
+ if (!response.ok) {
439
+ return {
440
+ success: false,
441
+ error: data.error || '不明なエラー',
442
+ };
443
+ }
444
+ return {
445
+ success: true,
446
+ id: data.id,
447
+ };
448
+ }
449
+ catch (error) {
450
+ return {
451
+ success: false,
452
+ error: error instanceof Error ? error.message : '不明なエラー',
453
+ };
454
+ }
455
+ }
456
+ async updateSkillSheet(params) {
457
+ try {
458
+ const response = await fetch(`${this.apiUrl}/api/v1/mcp/skill-sheet`, {
459
+ method: 'PUT',
460
+ headers: {
461
+ 'Content-Type': 'application/json',
462
+ 'X-API-Key': this.apiKey,
463
+ },
464
+ body: JSON.stringify({
465
+ nearest_station: params.nearest_station,
466
+ gender: params.gender,
467
+ birth_date: params.birth_date,
468
+ years_of_experience: params.years_of_experience,
469
+ self_pr: params.self_pr,
470
+ skills: params.skills,
471
+ projects: params.projects,
23
472
  }),
24
473
  });
25
474
  const data = await response.json();
@@ -1 +1 @@
1
- {"version":3,"file":"api-service.js","sourceRoot":"","sources":["../../src/services/api-service.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,UAAU;IACb,MAAM,CAAS;IACf,MAAM,CAAS;IAEvB,YAAY,MAAc,EAAE,MAAc;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAwB;QACvC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,kBAAkB,EAAE;gBAC7D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,WAAW,EAAE,IAAI,CAAC,MAAM;iBACzB;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,KAAK;oBACpC,UAAU,EAAE,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC;wBAC3D,IAAI;qBACL,CAAC,CAAC;iBACJ,CAAC;aACH,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAEnC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,QAAQ;iBAC9B,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;aACzD,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"api-service.js","sourceRoot":"","sources":["../../src/services/api-service.ts"],"names":[],"mappings":"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"}