poker-mcp 1.0.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 (50) hide show
  1. package/README.md +241 -0
  2. package/config/mcp-manifest.json +1713 -0
  3. package/config/package-lock.json +1335 -0
  4. package/config/poker_mcp.code-workspace +8 -0
  5. package/package.json +51 -0
  6. package/src/config/ConfigManager.js +120 -0
  7. package/src/config/default.json +62 -0
  8. package/src/mcp/handlers/bodyHandlers.js +63 -0
  9. package/src/mcp/handlers/buildupFactorHandlers.js +43 -0
  10. package/src/mcp/handlers/calculationHandlers.js +265 -0
  11. package/src/mcp/handlers/detectorHandlers.js +201 -0
  12. package/src/mcp/handlers/index.js +43 -0
  13. package/src/mcp/handlers/sourceHandlers.js +25 -0
  14. package/src/mcp/handlers/transformHandlers.js +26 -0
  15. package/src/mcp/handlers/unitHandlers.js +305 -0
  16. package/src/mcp/handlers/zoneHandlers.js +83 -0
  17. package/src/mcp/middleware/errorHandler.js +49 -0
  18. package/src/mcp/middleware/requestValidator.js +129 -0
  19. package/src/mcp/server.js +76 -0
  20. package/src/mcp/tools/bodyTools.js +185 -0
  21. package/src/mcp/tools/buildupFactorTools.js +82 -0
  22. package/src/mcp/tools/calculationTools.js +58 -0
  23. package/src/mcp/tools/commonTools.js +22 -0
  24. package/src/mcp/tools/detectorTools.js +131 -0
  25. package/src/mcp/tools/index.js +34 -0
  26. package/src/mcp/tools/sourceTools.js +726 -0
  27. package/src/mcp/tools/sourceTools_fixed_part2.js +41 -0
  28. package/src/mcp/tools/transformTools.js +73 -0
  29. package/src/mcp/tools/unitTools.js +137 -0
  30. package/src/mcp/tools/zoneTools.js +65 -0
  31. package/src/mcp_server_stdio_v4.js +45 -0
  32. package/src/routes/restApi.js +184 -0
  33. package/src/services/CalculationService.js +525 -0
  34. package/src/services/DataManager.js +738 -0
  35. package/src/services/TaskManager.js +1622 -0
  36. package/src/utils/MaterialAlternatives.js +189 -0
  37. package/src/utils/errorHandler.js +68 -0
  38. package/src/utils/errors.js +37 -0
  39. package/src/utils/logger.js +24 -0
  40. package/src/utils/logger_no_color.js +28 -0
  41. package/src/utils/mcpErrors.js +225 -0
  42. package/src/validators/CMBValidator.js +191 -0
  43. package/src/validators/DetectorValidator.js +512 -0
  44. package/src/validators/ManifestValidator.js +249 -0
  45. package/src/validators/NuclideValidator.js +171 -0
  46. package/src/validators/PhysicsValidator.js +401 -0
  47. package/src/validators/PhysicsValidatorSimple.js +87 -0
  48. package/src/validators/SourceValidator.js +515 -0
  49. package/src/validators/TransformValidator.js +472 -0
  50. package/src/validators/UnitValidator.js +562 -0
@@ -0,0 +1,131 @@
1
+ // mcp/tools/detectorTools.js
2
+ export const detectorTools = [
3
+ {
4
+ name: 'poker_proposeDetector',
5
+ description: '新しい検出器を提案します',
6
+ inputSchema: {
7
+ type: 'object',
8
+ properties: {
9
+ name: {
10
+ type: 'string',
11
+ description: '検出器の名前(一意である必要があります)',
12
+ pattern: '^[a-zA-Z0-9_]+$',
13
+ maxLength: 50
14
+ },
15
+ origin: {
16
+ type: 'string',
17
+ description: '検出器の基準位置(x y z形式)',
18
+ pattern: '^-?\\d+(\\.\\d+)?\\s+-?\\d+(\\.\\d+)?\\s+-?\\d+(\\.\\d+)?$'
19
+ },
20
+ grid: {
21
+ type: 'array',
22
+ description: 'エッジベクトルと分割数の組の配列(配列の数が検出器の次元を表す: 1D/2D/3D)',
23
+ minItems: 0,
24
+ maxItems: 3,
25
+ items: {
26
+ type: 'object',
27
+ properties: {
28
+ edge: {
29
+ type: 'string',
30
+ description: 'エッジベクトル(x y z形式)',
31
+ pattern: '^-?\\d+(\\.\\d+)?\\s+-?\\d+(\\.\\d+)?\\s+-?\\d+(\\.\\d+)?$'
32
+ },
33
+ number: {
34
+ type: 'integer',
35
+ description: '分割数',
36
+ minimum: 1,
37
+ maximum: 10000
38
+ }
39
+ },
40
+ required: ['edge', 'number'],
41
+ additionalProperties: false
42
+ }
43
+ },
44
+ transform: {
45
+ type: 'string',
46
+ description: '適用する変換名(オプション)',
47
+ pattern: '^[a-zA-Z0-9_]+$',
48
+ maxLength: 50
49
+ },
50
+ show_path_trace: {
51
+ type: 'boolean',
52
+ description: '透過線の経路トレースをサマリーに出力するか',
53
+ default: false
54
+ }
55
+ },
56
+ required: ['name', 'origin', 'show_path_trace'],
57
+ additionalProperties: false
58
+ }
59
+ },
60
+
61
+ {
62
+ name: 'poker_updateDetector',
63
+ description: '既存検出器のパラメータを更新します',
64
+ inputSchema: {
65
+ type: 'object',
66
+ properties: {
67
+ name: {
68
+ type: 'string',
69
+ description: '更新する検出器の名前'
70
+ },
71
+ origin: {
72
+ type: 'string',
73
+ description: '新しい検出器の基準位置(x y z形式)',
74
+ pattern: '^-?\\d+(\\.\\d+)?\\s+-?\\d+(\\.\\d+)?\\s+-?\\d+(\\.\\d+)?$'
75
+ },
76
+ grid: {
77
+ type: 'array',
78
+ description: '新しいエッジベクトルと分割数の組の配列',
79
+ minItems: 0,
80
+ maxItems: 3,
81
+ items: {
82
+ type: 'object',
83
+ properties: {
84
+ edge: {
85
+ type: 'string',
86
+ description: 'エッジベクトル(x y z形式)',
87
+ pattern: '^-?\\d+(\\.\\d+)?\\s+-?\\d+(\\.\\d+)?\\s+-?\\d+(\\.\\d+)?$'
88
+ },
89
+ number: {
90
+ type: 'integer',
91
+ description: '分割数',
92
+ minimum: 1,
93
+ maximum: 10000
94
+ }
95
+ },
96
+ required: ['edge', 'number'],
97
+ additionalProperties: false
98
+ }
99
+ },
100
+ transform: {
101
+ type: 'string',
102
+ description: '新しい変換名',
103
+ pattern: '^[a-zA-Z0-9_]+$',
104
+ maxLength: 50
105
+ },
106
+ show_path_trace: {
107
+ type: 'boolean',
108
+ description: '透過線の経路トレースをサマリーに出力するか'
109
+ }
110
+ },
111
+ required: ['name'],
112
+ additionalProperties: false
113
+ }
114
+ },
115
+
116
+ {
117
+ name: 'poker_deleteDetector',
118
+ description: '検出器を削除します',
119
+ inputSchema: {
120
+ type: 'object',
121
+ properties: {
122
+ name: {
123
+ type: 'string',
124
+ description: '削除する検出器の名前'
125
+ }
126
+ },
127
+ required: ['name'],
128
+ additionalProperties: false
129
+ }
130
+ }
131
+ ];
@@ -0,0 +1,34 @@
1
+ // mcp/tools/index.js
2
+ import { bodyTools } from './bodyTools.js';
3
+ import { zoneTools } from './zoneTools.js';
4
+ import { transformTools } from './transformTools.js';
5
+ import { buildupFactorTools } from './buildupFactorTools.js';
6
+ import { sourceTools } from './sourceTools.js';
7
+ import { detectorTools } from './detectorTools.js';
8
+ import { commonTools } from './commonTools.js';
9
+ import { unitTools } from './unitTools.js';
10
+ import { calculationTools } from './calculationTools.js';
11
+
12
+ export const allTools = [
13
+ ...bodyTools,
14
+ ...zoneTools,
15
+ ...transformTools,
16
+ ...buildupFactorTools,
17
+ ...sourceTools,
18
+ ...detectorTools,
19
+ ...commonTools,
20
+ ...unitTools,
21
+ ...calculationTools
22
+ ];
23
+
24
+ export {
25
+ bodyTools,
26
+ zoneTools,
27
+ transformTools,
28
+ buildupFactorTools,
29
+ sourceTools,
30
+ detectorTools,
31
+ commonTools,
32
+ unitTools,
33
+ calculationTools
34
+ };