mingpan 0.1.3 → 0.1.4

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 (134) hide show
  1. package/README.md +56 -11
  2. package/dist/core/bazi/BaziCore.d.ts +7 -1
  3. package/dist/core/bazi/BaziCore.d.ts.map +1 -1
  4. package/dist/core/bazi/BaziCore.js +37 -11
  5. package/dist/core/bazi/BaziCore.js.map +1 -1
  6. package/dist/core/bazi/types.d.ts +4 -0
  7. package/dist/core/bazi/types.d.ts.map +1 -1
  8. package/dist/index.d.ts +10 -5
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +14 -1578
  11. package/dist/index.js.map +1 -1
  12. package/dist/output/fortuneTextRenderer.d.ts +8 -7
  13. package/dist/output/fortuneTextRenderer.d.ts.map +1 -1
  14. package/dist/output/fortuneTextRenderer.js +83 -21
  15. package/dist/output/fortuneTextRenderer.js.map +1 -1
  16. package/dist/output/qimenTextRenderer.d.ts +2 -6
  17. package/dist/output/qimenTextRenderer.d.ts.map +1 -1
  18. package/dist/output/qimenTextRenderer.js +12 -145
  19. package/dist/output/qimenTextRenderer.js.map +1 -1
  20. package/dist/server.d.ts +11 -0
  21. package/dist/server.d.ts.map +1 -0
  22. package/dist/server.js +33 -0
  23. package/dist/server.js.map +1 -0
  24. package/dist/services/bazi/BaziService.d.ts +1 -17
  25. package/dist/services/bazi/BaziService.d.ts.map +1 -1
  26. package/dist/services/bazi/BaziService.js +9 -194
  27. package/dist/services/bazi/BaziService.js.map +1 -1
  28. package/dist/services/bazi/analyzers/TenGodsAnalyzer.js +12 -12
  29. package/dist/services/bazi/analyzers/TenGodsAnalyzer.js.map +1 -1
  30. package/dist/services/bazi/index.d.ts +0 -2
  31. package/dist/services/bazi/index.d.ts.map +1 -1
  32. package/dist/services/bazi/index.js +1 -5
  33. package/dist/services/bazi/index.js.map +1 -1
  34. package/dist/services/bazi/types.d.ts +4 -112
  35. package/dist/services/bazi/types.d.ts.map +1 -1
  36. package/dist/services/bazi/types.js +3 -102
  37. package/dist/services/bazi/types.js.map +1 -1
  38. package/dist/services/daliuren/DaliurenService.d.ts +11 -1
  39. package/dist/services/daliuren/DaliurenService.d.ts.map +1 -1
  40. package/dist/services/daliuren/DaliurenService.js +30 -0
  41. package/dist/services/daliuren/DaliurenService.js.map +1 -1
  42. package/dist/services/daliuren/calculators/TianDiPanCalculator.d.ts.map +1 -1
  43. package/dist/services/daliuren/calculators/TianDiPanCalculator.js +3 -4
  44. package/dist/services/daliuren/calculators/TianDiPanCalculator.js.map +1 -1
  45. package/dist/services/daliuren/data/constants.d.ts +7 -0
  46. package/dist/services/daliuren/data/constants.d.ts.map +1 -1
  47. package/dist/services/daliuren/data/constants.js +17 -1
  48. package/dist/services/daliuren/data/constants.js.map +1 -1
  49. package/dist/services/daliuren/types.d.ts +13 -0
  50. package/dist/services/daliuren/types.d.ts.map +1 -1
  51. package/dist/services/meihua/calculators/TiyongCalculator.d.ts.map +1 -1
  52. package/dist/services/meihua/calculators/TiyongCalculator.js +6 -5
  53. package/dist/services/meihua/calculators/TiyongCalculator.js.map +1 -1
  54. package/dist/services/qimen/QimenService.d.ts +1 -18
  55. package/dist/services/qimen/QimenService.d.ts.map +1 -1
  56. package/dist/services/qimen/QimenService.js +9 -43
  57. package/dist/services/qimen/QimenService.js.map +1 -1
  58. package/dist/services/qimen/calculators/BaMenCalculator.d.ts +14 -22
  59. package/dist/services/qimen/calculators/BaMenCalculator.d.ts.map +1 -1
  60. package/dist/services/qimen/calculators/BaMenCalculator.js +41 -59
  61. package/dist/services/qimen/calculators/BaMenCalculator.js.map +1 -1
  62. package/dist/services/qimen/calculators/JiuGongCalculator.d.ts +6 -13
  63. package/dist/services/qimen/calculators/JiuGongCalculator.d.ts.map +1 -1
  64. package/dist/services/qimen/calculators/JiuGongCalculator.js +11 -41
  65. package/dist/services/qimen/calculators/JiuGongCalculator.js.map +1 -1
  66. package/dist/services/qimen/calculators/JiuXingCalculator.d.ts +13 -23
  67. package/dist/services/qimen/calculators/JiuXingCalculator.d.ts.map +1 -1
  68. package/dist/services/qimen/calculators/JiuXingCalculator.js +23 -68
  69. package/dist/services/qimen/calculators/JiuXingCalculator.js.map +1 -1
  70. package/dist/services/qimen/calculators/JuShuCalculator.d.ts +8 -5
  71. package/dist/services/qimen/calculators/JuShuCalculator.d.ts.map +1 -1
  72. package/dist/services/qimen/calculators/JuShuCalculator.js +14 -19
  73. package/dist/services/qimen/calculators/JuShuCalculator.js.map +1 -1
  74. package/dist/services/qimen/calculators/SanQiLiuYiCalculator.d.ts +11 -20
  75. package/dist/services/qimen/calculators/SanQiLiuYiCalculator.d.ts.map +1 -1
  76. package/dist/services/qimen/calculators/SanQiLiuYiCalculator.js +29 -42
  77. package/dist/services/qimen/calculators/SanQiLiuYiCalculator.js.map +1 -1
  78. package/dist/services/qimen/calculators/ZhuanPanCalculator.d.ts +34 -41
  79. package/dist/services/qimen/calculators/ZhuanPanCalculator.d.ts.map +1 -1
  80. package/dist/services/qimen/calculators/ZhuanPanCalculator.js +102 -130
  81. package/dist/services/qimen/calculators/ZhuanPanCalculator.js.map +1 -1
  82. package/dist/services/qimen/types.d.ts +3 -77
  83. package/dist/services/qimen/types.d.ts.map +1 -1
  84. package/dist/services/qimen/types.js +3 -2
  85. package/dist/services/qimen/types.js.map +1 -1
  86. package/dist/shared/logger.d.ts +5 -0
  87. package/dist/shared/logger.d.ts.map +1 -1
  88. package/dist/shared/logger.js +11 -4
  89. package/dist/shared/logger.js.map +1 -1
  90. package/dist/tools/baziTools.d.ts +13 -0
  91. package/dist/tools/baziTools.d.ts.map +1 -0
  92. package/dist/tools/baziTools.js +331 -0
  93. package/dist/tools/baziTools.js.map +1 -0
  94. package/dist/tools/divinationTools.d.ts +9 -0
  95. package/dist/tools/divinationTools.d.ts.map +1 -0
  96. package/dist/tools/divinationTools.js +209 -0
  97. package/dist/tools/divinationTools.js.map +1 -0
  98. package/dist/tools/qimenTools.d.ts +10 -0
  99. package/dist/tools/qimenTools.d.ts.map +1 -0
  100. package/dist/tools/qimenTools.js +132 -0
  101. package/dist/tools/qimenTools.js.map +1 -0
  102. package/dist/tools/schemas.d.ts +99 -0
  103. package/dist/tools/schemas.d.ts.map +1 -0
  104. package/dist/tools/schemas.js +162 -0
  105. package/dist/tools/schemas.js.map +1 -0
  106. package/dist/tools/ziweiTools.d.ts +14 -0
  107. package/dist/tools/ziweiTools.d.ts.map +1 -0
  108. package/dist/tools/ziweiTools.js +483 -0
  109. package/dist/tools/ziweiTools.js.map +1 -0
  110. package/dist/utils/timeNormalization.d.ts +42 -17
  111. package/dist/utils/timeNormalization.d.ts.map +1 -1
  112. package/dist/utils/timeNormalization.js +99 -41
  113. package/dist/utils/timeNormalization.js.map +1 -1
  114. package/package.json +15 -9
  115. package/dist/services/bazi/analyzers/HiddenStemsAnalyzer.d.ts +0 -16
  116. package/dist/services/bazi/analyzers/HiddenStemsAnalyzer.d.ts.map +0 -1
  117. package/dist/services/bazi/analyzers/HiddenStemsAnalyzer.js +0 -60
  118. package/dist/services/bazi/analyzers/HiddenStemsAnalyzer.js.map +0 -1
  119. package/dist/services/bazi/analyzers/NaYinAnalyzer.d.ts +0 -33
  120. package/dist/services/bazi/analyzers/NaYinAnalyzer.d.ts.map +0 -1
  121. package/dist/services/bazi/analyzers/NaYinAnalyzer.js +0 -209
  122. package/dist/services/bazi/analyzers/NaYinAnalyzer.js.map +0 -1
  123. package/dist/services/bazi/analyzers/ShenShaAnalyzer.d.ts +0 -236
  124. package/dist/services/bazi/analyzers/ShenShaAnalyzer.d.ts.map +0 -1
  125. package/dist/services/bazi/analyzers/ShenShaAnalyzer.js +0 -2079
  126. package/dist/services/bazi/analyzers/ShenShaAnalyzer.js.map +0 -1
  127. package/dist/services/bazi/analyzers/TraditionalAnalyzer.d.ts +0 -46
  128. package/dist/services/bazi/analyzers/TraditionalAnalyzer.d.ts.map +0 -1
  129. package/dist/services/bazi/analyzers/TraditionalAnalyzer.js +0 -260
  130. package/dist/services/bazi/analyzers/TraditionalAnalyzer.js.map +0 -1
  131. package/dist/services/qimen/calculators/ZeRiCalculator.d.ts +0 -78
  132. package/dist/services/qimen/calculators/ZeRiCalculator.d.ts.map +0 -1
  133. package/dist/services/qimen/calculators/ZeRiCalculator.js +0 -431
  134. package/dist/services/qimen/calculators/ZeRiCalculator.js.map +0 -1
@@ -4,22 +4,41 @@
4
4
  * Rotating style Qimen calculator (following《神奇之门》)
5
5
  *
6
6
  * 转盘式核心规则:
7
- * 1. 三奇六仪按物理方向旋转(非洛书飞布)
8
- * 2. 阳遁顺转(物理顺时针):1→8→3→4→9→2→7→6
9
- * 3. 阴遁逆转(物理逆时针):1→6→7→2→9→4→3→8
10
- * 4. 八门、九星同样按物理方向转动
11
- * 5. 中宫寄坤二
12
- * 6. 天禽星随天芮星(寄坤二宫)
7
+ * 1. 天盘、九星、八门是三个「物理转盘」,盘内元素相对顺序恒定不变
8
+ * 2. 转盘环序(物理顺时针,从坎一宫起):坎→艮→震→巽→离→坤→兑→乾
9
+ * - 九星环序:蓬任冲辅英芮柱心(禽寄芮,随坤二宫)
10
+ * - 八门环序:休生伤杜景死惊开
11
+ * 3. 天盘干与九星同转:值符星携旬首六仪转到时干(遁干)所在的地盘宫
12
+ * 4. 值使门随时辰飞宫:从值符原始宫起,按旬内时辰序数,
13
+ * 阳遁顺数宫位数字(1→2→…→9→1)、阴遁逆数
14
+ * 5. 中五宫寄坤二宫;天禽随天芮
15
+ *
16
+ * 参照:《神奇之门》(张志春)、kentang2017/kinqimen pan_sky/pan_star/pan_door(MIT)
13
17
  */
14
18
  Object.defineProperty(exports, "__esModule", { value: true });
15
19
  exports.ZhuanPanCalculator = void 0;
16
20
  const constants_1 = require("../data/constants");
21
+ /**
22
+ * 转盘九星环序(物理顺时针,天禽寄天芮不在环上)
23
+ * 与 PHYSICAL_CLOCKWISE_ORDER=[坎1,艮8,震3,巽4,离9,坤2,兑7,乾6] 一一对应
24
+ */
25
+ const JIU_XING_RING = ['蓬', '任', '冲', '辅', '英', '芮', '柱', '心'];
17
26
  // ============= 转盘式计算器 =============
18
27
  /**
19
28
  * 转盘式奇门计算器
20
29
  * 实现《神奇之门》中的转盘式排盘法
21
30
  */
22
31
  class ZhuanPanCalculator {
32
+ /**
33
+ * 获取参考干(时干/日干/月干/年干)遁干后的地盘落宫
34
+ * 甲遁于旬首六仪之下;落中五宫者寄坤二
35
+ */
36
+ static getShiGanLuoGong(diPanGanGong, ganZhi) {
37
+ const gan = ganZhi.charAt(0);
38
+ const dunGan = this.getDunGan(gan, ganZhi);
39
+ const gong = diPanGanGong[dunGan];
40
+ return gong === 5 ? constants_1.ZHONG_GONG_JI_ZHUAN : gong;
41
+ }
23
42
  /**
24
43
  * 计算转盘式天盘布局
25
44
  * @param diPanGanGong 地盘干->宫位映射
@@ -27,95 +46,123 @@ class ZhuanPanCalculator {
27
46
  * @param yinYangDun 阴阳遁
28
47
  * @returns 天盘各宫的干
29
48
  *
30
- * 原理(转盘式):
31
- * 1. 找到时干(或日干/月干/年干)在地盘的落宫
32
- * 2. 计算该宫到值符星原始宫的旋转步数
33
- * 3. 将整个地盘旋转相应步数
34
- * 4. 阳遁顺时针旋转,阴遁逆时针旋转
49
+ * 原理(转盘式刚体旋转):
50
+ * 1. 旬首六仪(值符所携之干)在地盘的原始宫
51
+ * 2. 参考干(时干等,甲用旬首仪)在地盘的落宫
52
+ * 3. 将整个地盘沿转盘环旋转,使旬首仪从原始宫转到参考干落宫
53
+ * 4. 中五宫之干寄坤二宫随盘转动;天盘中宫显示坤二宫之干
35
54
  */
36
55
  static calculateTianPan(diPanGanGong, ganZhi, yinYangDun) {
37
56
  const isYang = yinYangDun === '阳遁';
38
- const gan = ganZhi.charAt(0);
39
- // 时干对应的遁甲干
40
- const dunGan = this.getDunGan(gan, ganZhi);
41
- // 找到遁甲干在地盘的落宫
42
- let startGong = diPanGanGong[dunGan];
43
- if (startGong === 5) {
44
- startGong = constants_1.ZHONG_GONG_JI_ZHUAN;
57
+ const xunShou = (0, constants_1.getXunShou)(ganZhi);
58
+ const fuGan = (0, constants_1.getLiuYiGan)(xunShou);
59
+ const shiGong = this.getShiGanLuoGong(diPanGanGong, ganZhi);
60
+ let fuGong = diPanGanGong[fuGan];
61
+ if (fuGong === 5) {
62
+ fuGong = constants_1.ZHONG_GONG_JI_ZHUAN; // 中五寄坤二
45
63
  }
46
- // 转盘式:整体旋转
47
- // 计算需要旋转的步数:从遁甲干原始宫位到当前地盘落宫的步数
64
+ const steps = (0, constants_1.getRotationSteps)(fuGong, shiGong, isYang);
48
65
  const gongGan = {};
49
66
  const ganGong = {};
50
- // 转盘式布局:从起始宫开始,按物理方向旋转布入三奇六仪
51
- for (let i = 0; i < 9; i++) {
52
- const currentGan = constants_1.SAN_QI_LIU_YI[i];
53
- const gong = this.getGongByRotation(startGong, i, isYang);
54
- gongGan[gong] = currentGan;
55
- ganGong[currentGan] = gong;
67
+ // 地盘坤二宫本干与中五宫寄干(若中五有干,二者同落一宫)
68
+ const kunGan = constants_1.SAN_QI_LIU_YI.find(g => diPanGanGong[g] === 2);
69
+ const zhongGan = constants_1.SAN_QI_LIU_YI.find(g => diPanGanGong[g] === 5);
70
+ for (const gan of constants_1.SAN_QI_LIU_YI) {
71
+ const src = diPanGanGong[gan];
72
+ const srcActual = src === 5 ? constants_1.ZHONG_GONG_JI_ZHUAN : src;
73
+ const dst = (0, constants_1.rotate)(srcActual, steps, isYang);
74
+ ganGong[gan] = dst;
75
+ gongGan[dst] = gan;
76
+ }
77
+ // 中五寄干与坤二本干同宫时,坤二本干优先显示
78
+ if (zhongGan !== undefined && kunGan !== undefined) {
79
+ const kunDst = ganGong[kunGan];
80
+ gongGan[kunDst] = kunGan;
56
81
  }
82
+ // 天盘中五宫寄坤二,显示坤二宫天盘干
83
+ gongGan[5] = gongGan[constants_1.ZHONG_GONG_JI_ZHUAN];
57
84
  return { gongGan, ganGong };
58
85
  }
59
86
  /**
60
87
  * 计算转盘式八门布局
61
- * @param zhiFuGong 值符星落宫(旬首遁干在地盘的宫位)
62
- * @param hourZhi 时支
88
+ * @param zhiFuGong 值符星原始宫位(旬首遁干在地盘的宫位,值使门原始宫与其相同)
89
+ * @param refGanZhi 参考干支(时盘为时干支,余类推)
63
90
  * @param yinYangDun 阴阳遁
64
91
  * @returns 八门布局
65
92
  *
66
93
  * 原理(转盘式):
67
- * 1. 确定值使门(值符星原始宫位对应的门)
68
- * 2. 值使门从值符星落宫起,按时辰数旋转
69
- * 3. 阳遁顺时针,阴遁逆时针
70
- * 4. 其他七门依次排列(按物理方向旋转)
94
+ * 1. 值使门 = 值符星原始宫位对应的门(中五宫寄坤二取死门)
95
+ * 2. 值使门落宫:从值符原始宫起,按参考干支的旬内序数(甲为0),
96
+ * 阳遁顺数宫位数字、阴遁逆数;落中五宫寄坤二
97
+ * 3. 其余七门按八门环序(休生伤杜景死惊开)随盘刚体旋转
71
98
  */
72
- static calculateBaMen(zhiFuGong, hourZhi, yinYangDun) {
99
+ static calculateBaMen(zhiFuGong, refGanZhi, yinYangDun) {
73
100
  const isYang = yinYangDun === '阳遁';
74
- // 1. 确定值使门(值符星原始宫位对应的门)
101
+ // 1. 确定值使门(值符原始宫对应的门)
75
102
  const zhiShiMen = this.getMenByGong(zhiFuGong);
76
103
  const zhiShiGong = constants_1.BA_MEN_GONG[zhiShiMen];
77
- // 2. 计算时辰数(子时为1
78
- const hourNum = constants_1.DI_ZHI.indexOf(hourZhi) + 1;
79
- // 3. 计算值使门落宫(转盘式旋转)
80
- const zhiShiLuoGong = (0, constants_1.rotate)(zhiFuGong, hourNum - 1, isYang);
81
- // 4. 计算所有八门的落宫(转盘式)
82
- const gongMen = this.calculateAllMenZhuanPan(zhiShiMen, zhiShiLuoGong, isYang);
104
+ // 2. 旬内序数:甲为0,乙为1,……癸为9(时干支/日干支在其旬内的位置)
105
+ const idx = constants_1.JIA_ZI_60.indexOf(refGanZhi);
106
+ if (idx === -1) {
107
+ throw new Error(`无效的干支: ${refGanZhi}`);
108
+ }
109
+ const steps = idx % 10;
110
+ // 3. 值使门落宫(宫位数字顺逆数,落中五寄坤二)
111
+ const anchor = zhiShiGong === 5 ? constants_1.ZHONG_GONG_JI_ZHUAN : zhiShiGong;
112
+ let luoGong = (((anchor - 1 + (isYang ? steps : -steps)) % 9) + 9) % 9 + 1;
113
+ if (luoGong === 5) {
114
+ luoGong = constants_1.ZHONG_GONG_JI_ZHUAN;
115
+ }
116
+ // 4. 八门刚体旋转:值使门从原始宫转到落宫
117
+ const ringSteps = (0, constants_1.getRotationSteps)(anchor, luoGong, isYang);
118
+ const gongMen = {};
119
+ for (let i = 0; i < 8; i++) {
120
+ const men = constants_1.BA_MEN_ORDER[i];
121
+ const home = constants_1.PHYSICAL_CLOCKWISE_ORDER[i]; // 八门原始宫与环序一一对应
122
+ gongMen[(0, constants_1.rotate)(home, ringSteps, isYang)] = men;
123
+ }
124
+ // 中宫寄坤二,使用坤二的门
125
+ gongMen[5] = gongMen[constants_1.ZHONG_GONG_JI_ZHUAN];
83
126
  return {
84
127
  gongMen,
85
128
  zhiShiMen,
86
129
  zhiShiGong,
87
- zhiShiLuoGong,
130
+ zhiShiLuoGong: luoGong,
88
131
  };
89
132
  }
90
133
  /**
91
134
  * 计算转盘式九星布局
92
- * @param xunShouGong 旬首遁干在地盘的宫位
93
- * @param hourZhi 时支
135
+ * @param xunShouGong 旬首遁干在地盘的宫位(值符星原始宫)
136
+ * @param shiGanLuoGong 参考干(时干等,甲用旬首仪)的地盘落宫
94
137
  * @param yinYangDun 阴阳遁
95
138
  * @returns 九星布局
96
139
  *
97
140
  * 原理(转盘式):
98
- * 1. 确定值符星(旬首落宫对应的星)
99
- * 2. 值符星从地盘旬首落宫起,按时辰数旋转
100
- * 3. 阳遁顺时针,阴遁逆时针
101
- * 4. 天禽星(中五宫)随天芮星,或寄坤二
141
+ * 1. 值符星 = 旬首遁干原始宫对应的星(中五宫为天禽,寄坤二随天芮)
142
+ * 2. 值符星随时干:转盘旋转使值符星从原始宫转到参考干落宫
143
+ * 3. 其余诸星按九星环序(蓬任冲辅英芮柱心)随盘刚体旋转
102
144
  */
103
- static calculateJiuXing(xunShouGong, hourZhi, yinYangDun) {
145
+ static calculateJiuXing(xunShouGong, shiGanLuoGong, yinYangDun) {
104
146
  const isYang = yinYangDun === '阳遁';
105
147
  // 1. 确定值符星(旬首落宫对应的星)
106
148
  const zhiFuXing = this.getXingByGong(xunShouGong);
107
149
  const zhiFuGong = constants_1.JIU_XING_GONG[zhiFuXing];
108
- // 2. 计算时辰数(子时为1)
109
- const hourNum = constants_1.DI_ZHI.indexOf(hourZhi) + 1;
110
- // 3. 计算值符星落宫(转盘式旋转)
111
- const zhiFuLuoGong = (0, constants_1.rotate)(xunShouGong, hourNum - 1, isYang);
112
- // 4. 计算所有九星的落宫(转盘式)
113
- const gongXing = this.calculateAllXingZhuanPan(zhiFuXing, zhiFuLuoGong, isYang);
150
+ // 天禽寄坤二,随天芮所在环位转动
151
+ const homeSlot = xunShouGong === 5 ? constants_1.ZHONG_GONG_JI_ZHUAN : xunShouGong;
152
+ // 2. 刚体旋转:值符星原始环位转到参考干落宫
153
+ const steps = (0, constants_1.getRotationSteps)(homeSlot, shiGanLuoGong, isYang);
154
+ const gongXing = {};
155
+ for (let i = 0; i < 8; i++) {
156
+ const home = constants_1.PHYSICAL_CLOCKWISE_ORDER[i];
157
+ gongXing[(0, constants_1.rotate)(home, steps, isYang)] = JIU_XING_RING[i];
158
+ }
159
+ // 天禽随天芮寄坤二,中宫显示天禽
160
+ gongXing[5] = '禽';
114
161
  return {
115
162
  gongXing,
116
163
  zhiFuXing,
117
164
  zhiFuGong,
118
- zhiFuLuoGong,
165
+ zhiFuLuoGong: shiGanLuoGong,
119
166
  };
120
167
  }
121
168
  // ============= 私有辅助方法 =============
@@ -131,31 +178,6 @@ class ZhuanPanCalculator {
131
178
  const xunShou = (0, constants_1.getXunShou)(ganZhi);
132
179
  return (0, constants_1.getLiuYiGan)(xunShou);
133
180
  }
134
- /**
135
- * 根据起始宫位和步数计算目标宫位(转盘式9宫旋转)
136
- * 包含中宫处理
137
- */
138
- static getGongByRotation(startGong, steps, isYang) {
139
- // 中宫寄坤二
140
- if (startGong === 5) {
141
- startGong = constants_1.ZHONG_GONG_JI_ZHUAN;
142
- }
143
- // 对于9宫布局(含中宫),需要特殊处理
144
- // 前4步走外圈前半,第5步到中宫,后4步走外圈后半
145
- if (steps === 4) {
146
- return 5; // 第5个位置是中宫
147
- }
148
- // 调整步数:跳过中宫的计算
149
- const adjustedSteps = steps > 4 ? steps - 1 : steps;
150
- if (isYang) {
151
- const startIdx = (0, constants_1.getPhysicalClockwiseIndex)(startGong);
152
- return (0, constants_1.getPhysicalClockwiseGong)(startIdx + adjustedSteps);
153
- }
154
- else {
155
- const startIdx = (0, constants_1.getPhysicalCounterClockwiseIndex)(startGong);
156
- return (0, constants_1.getPhysicalCounterClockwiseGong)(startIdx + adjustedSteps);
157
- }
158
- }
159
181
  /**
160
182
  * 根据宫位获取原始门
161
183
  */
@@ -183,56 +205,6 @@ class ZhuanPanCalculator {
183
205
  }
184
206
  return '芮'; // 默认天芮
185
207
  }
186
- /**
187
- * 计算所有八门的落宫(转盘式)
188
- * 整体按物理方向旋转
189
- */
190
- static calculateAllMenZhuanPan(zhiShiMen, zhiShiLuoGong, isYang) {
191
- const gongMen = {};
192
- // 找到值使门在八门顺序中的索引
193
- const zhiShiIdx = constants_1.BA_MEN_ORDER.indexOf(zhiShiMen);
194
- // 获取值使门落宫索引
195
- let actualLuoGong = zhiShiLuoGong === 5 ? constants_1.ZHONG_GONG_JI_ZHUAN : zhiShiLuoGong;
196
- // 转盘式:依次排列八门,按物理方向旋转
197
- for (let i = 0; i < 8; i++) {
198
- const menIdx = (zhiShiIdx + i) % 8;
199
- const men = constants_1.BA_MEN_ORDER[menIdx];
200
- // 转盘式旋转
201
- const gong = (0, constants_1.rotate)(actualLuoGong, i, isYang);
202
- gongMen[gong] = men;
203
- }
204
- // 中宫寄坤二,使用坤二的门
205
- gongMen[5] = gongMen[constants_1.ZHONG_GONG_JI_ZHUAN];
206
- return gongMen;
207
- }
208
- /**
209
- * 计算所有九星的落宫(转盘式)
210
- * 整体按物理方向旋转,天禽星随天芮星
211
- */
212
- static calculateAllXingZhuanPan(zhiFuXing, zhiFuLuoGong, isYang) {
213
- const gongXing = {};
214
- // 九星顺序(不含天禽,因为天禽随天芮)
215
- const xingOrderWithoutQin = ['蓬', '芮', '冲', '辅', '心', '柱', '任', '英'];
216
- // 找到值符星在顺序中的索引
217
- let zhiFuIdx = xingOrderWithoutQin.indexOf(zhiFuXing);
218
- if (zhiFuIdx === -1) {
219
- // 如果值符星是天禽,则以天芮为准
220
- zhiFuIdx = xingOrderWithoutQin.indexOf('芮');
221
- }
222
- // 获取值符星落宫
223
- let actualLuoGong = zhiFuLuoGong === 5 ? constants_1.ZHONG_GONG_JI_ZHUAN : zhiFuLuoGong;
224
- // 转盘式:依次排列八星,按物理方向旋转
225
- for (let i = 0; i < 8; i++) {
226
- const xingIdx = (zhiFuIdx + i) % 8;
227
- const xing = xingOrderWithoutQin[xingIdx];
228
- // 转盘式旋转
229
- const gong = (0, constants_1.rotate)(actualLuoGong, i, isYang);
230
- gongXing[gong] = xing;
231
- }
232
- // 天禽星寄中宫,实际显示时随天芮
233
- gongXing[5] = '禽';
234
- return gongXing;
235
- }
236
208
  /**
237
209
  * 根据宫位找门
238
210
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ZhuanPanCalculator.js","sourceRoot":"","sources":["../../../../src/services/qimen/calculators/ZhuanPanCalculator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ZhuanPanCalculator.js","sourceRoot":"","sources":["../../../../src/services/qimen/calculators/ZhuanPanCalculator.ts"],"names":[],"mappings":"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"}
@@ -305,83 +305,9 @@ export interface ShenShaInfo {
305
305
  /** 简要说明 */
306
306
  description: string;
307
307
  }
308
- /** 择日评级 */
309
- export type ZeRiGrade = '优' | '良' | '中' | '差';
310
- /** 方位名称 */
311
- export type Direction = '北' | '东北' | '东' | '东南' | '南' | '西南' | '西' | '西北' | '中';
312
- /** 择日输入接口 */
313
- export interface ZeRiInput {
314
- /** 起始日期 */
315
- startDate: Date;
316
- /** 结束日期 */
317
- endDate: Date;
318
- /** 事类 */
319
- shiLei: ShiLei;
320
- /** 返回数量限制(默认10) */
321
- limit?: number;
322
- /** 最小评分阈值 (0-100) */
323
- minScore?: number;
324
- /** 是否输出方位 */
325
- includeDirection?: boolean;
326
- /** 是否排除节气交接日 */
327
- excludeJieQiDay?: boolean;
328
- /** 是否排除岁破日 */
329
- excludeSuiPo?: boolean;
330
- /** 是否排除月破日 */
331
- excludeYuePo?: boolean;
332
- /** 盘类型 */
333
- panType?: PanType;
334
- /** 盘式 */
335
- panStyle?: PanStyle;
336
- /** 置闰方法 */
337
- zhiRunMethod?: ZhiRunMethod;
338
- }
339
- /** 择日评分 */
340
- export interface ZeRiScore {
341
- /** 总分 (0-100) */
342
- totalScore: number;
343
- /** 格局得分 */
344
- geJuScore: number;
345
- /** 用神得分 */
346
- yongShenScore: number;
347
- /** 神煞得分 */
348
- shenShaScore: number;
349
- /** 推荐理由 */
350
- recommendation: string;
351
- }
352
- /** 方位信息 */
353
- export interface DirectionInfo {
354
- /** 三吉门方位 */
355
- sanJiMen: Array<{
356
- men: BaMen;
357
- gong: GongWei;
358
- direction: Direction;
359
- }>;
360
- /** 用神方位 */
361
- yongShen: Array<{
362
- name: string;
363
- gong: GongWei;
364
- direction: Direction;
365
- }>;
366
- }
367
- /** 择日结果 */
368
- export interface ZeRiResult {
369
- /** 推荐时间 */
370
- datetime: Date;
371
- /** 评分详情 */
372
- score: ZeRiScore;
373
- /** 评级 */
374
- grade: ZeRiGrade;
375
- /** 有利因素 */
376
- highlights: string[];
377
- /** 注意事项 */
378
- warnings: string[];
379
- /** 方位信息 */
380
- direction?: DirectionInfo;
381
- /** 完整奇门盘 */
382
- qimenResult: QimenResult;
383
- }
384
- /** 奇门遁甲计算错误 */
308
+ /**
309
+ * 奇门计算错误
310
+ */
385
311
  export declare class QimenCalculationError extends Error {
386
312
  code: string;
387
313
  details?: unknown | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/qimen/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/qimen/types.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,9 @@
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.QimenCalculationError = void 0;
7
- // ============= 错误类型 =============
8
- /** 奇门遁甲计算错误 */
7
+ /**
8
+ * 奇门计算错误
9
+ */
9
10
  class QimenCalculationError extends Error {
10
11
  code;
11
12
  details;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/qimen/types.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAscH,mCAAmC;AAEnC,eAAe;AACf,MAAa,qBAAsB,SAAQ,KAAK;IAGrC;IACA;IAHT,YACE,OAAe,EACR,IAAY,EACZ,OAAiB;QAExB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAU;QAGxB,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AATD,sDASC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/qimen/types.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAiXH;;GAEG;AACH,MAAa,qBAAsB,SAAQ,KAAK;IAGrC;IACA;IAHT,YACE,OAAe,EACR,IAAY,EACZ,OAAiB;QAExB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAU;QAGxB,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AATD,sDASC"}
@@ -17,6 +17,11 @@ export declare class Logger {
17
17
  info(message: string, data?: unknown): void;
18
18
  warn(message: string, data?: unknown): void;
19
19
  error(message: string, error?: unknown, data?: unknown): void;
20
+ /**
21
+ * 所有日志一律寫 stderr:stdio MCP 服務器的 stdout
22
+ * 必須是純 JSON-RPC 流,任何混入都會破壞客戶端解析
23
+ */
24
+ private write;
20
25
  }
21
26
  /**
22
27
  * Factory function to create logger instances
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAY3D;;;GAGG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,GAAE,MAAkB;IAKvC,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,aAAa;IAMrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAM5C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAM3C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAM3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;CAQ9D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS;IACpB;;OAEG;mBACY,MAAM,GAAG,MAAM;IAK9B;;OAEG;mBACY,MAAM,GAAG,MAAM;IAM9B;;OAEG;mBACY,MAAM,GAAG,MAAM;IAM9B;;;;;OAKG;eACQ,CAAC,SAAS,MAAM,OAAO,CAAC,iBAAiB,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CA4BvF,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAY3D;;;GAGG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,GAAE,MAAkB;IAKvC,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,aAAa;IAMrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAM5C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAM3C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAM3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAS7D;;;OAGG;IACH,OAAO,CAAC,KAAK;CAGd;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS;IACpB;;OAEG;mBACY,MAAM,GAAG,MAAM;IAK9B;;OAEG;mBACY,MAAM,GAAG,MAAM;IAM9B;;OAEG;mBACY,MAAM,GAAG,MAAM;IAM9B;;;;;OAKG;eACQ,CAAC,SAAS,MAAM,OAAO,CAAC,iBAAiB,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CA4BvF,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -35,17 +35,17 @@ class Logger {
35
35
  }
36
36
  debug(message, data) {
37
37
  if (this.shouldLog('debug')) {
38
- console.debug(this.formatMessage('debug', message, data));
38
+ this.write('debug', this.formatMessage('debug', message, data));
39
39
  }
40
40
  }
41
41
  info(message, data) {
42
42
  if (this.shouldLog('info')) {
43
- console.info(this.formatMessage('info', message, data));
43
+ this.write('info', this.formatMessage('info', message, data));
44
44
  }
45
45
  }
46
46
  warn(message, data) {
47
47
  if (this.shouldLog('warn')) {
48
- console.warn(this.formatMessage('warn', message, data));
48
+ this.write('warn', this.formatMessage('warn', message, data));
49
49
  }
50
50
  }
51
51
  error(message, error, data) {
@@ -53,9 +53,16 @@ class Logger {
53
53
  const errorData = error instanceof Error
54
54
  ? { message: error.message, stack: error.stack, ...((data && typeof data === 'object') ? data : {}) }
55
55
  : { error, ...((data && typeof data === 'object') ? data : {}) };
56
- console.error(this.formatMessage('error', message, errorData));
56
+ this.write('error', this.formatMessage('error', message, errorData));
57
57
  }
58
58
  }
59
+ /**
60
+ * 所有日志一律寫 stderr:stdio MCP 服務器的 stdout
61
+ * 必須是純 JSON-RPC 流,任何混入都會破壞客戶端解析
62
+ */
63
+ write(level, line) {
64
+ process.stderr.write(line + '\n');
65
+ }
59
66
  }
60
67
  exports.Logger = Logger;
61
68
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA4EH,oCAEC;AA1ED,MAAM,UAAU,GAA6B;IAC3C,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,+CAA+C;AAC/C,MAAM,YAAY,GAAI,OAAO,CAAC,GAAG,CAAC,SAAsB,IAAI,MAAM,CAAC;AAEnE;;;GAGG;AACH,MAAa,MAAM;IACT,OAAO,CAAS;IAChB,QAAQ,CAAS;IAEzB,YAAY,UAAkB,SAAS;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAEO,SAAS,CAAC,KAAe;QAC/B,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC;IAC5C,CAAC;IAEO,aAAa,CAAC,KAAe,EAAE,OAAe,EAAE,IAAc;QACpE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,OAAO,IAAI,SAAS,MAAM,KAAK,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,OAAO,KAAK,OAAO,GAAG,OAAO,EAAE,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,IAAc;QACnC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAc;QAClC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAc;QAClC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,KAAe,EAAE,IAAc;QACpD,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,KAAK,YAAY,KAAK;gBACtC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;gBACrG,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,KAAe,EAAE,IAAY;QACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;CACF;AArDD,wBAqDC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,OAAe;IAC1C,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACU,QAAA,SAAS,GAAG;IACvB;;OAEG;IACH,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3C,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,IAAY;QACnB,+CAA+C;QAC/C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;YAAE,OAAO,YAAY,CAAC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,IAAY;QACnB,0CAA0C;QAC1C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAmB,GAAM,EAAE,aAAuB;QAC1D,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,GAAyC,CAAC;QAEtF,MAAM,MAAM,GAA4B,EAAE,GAAI,GAA+B,EAAE,CAAC;QAEhF,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YAChC,IAAI,GAAG,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9B,8CAA8C;oBAC9C,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;wBACvC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACrC,CAAC;yBAAM,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC9C,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACrC,CAAC;yBAAM,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC9C,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACrC,CAAC;yBAAM,CAAC;wBACN,sCAAsC;wBACtC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;oBACrE,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC;AAEF,kBAAe,MAAM,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * 八字命理 MCP 工具
3
+ *
4
+ * 工具列表:
5
+ * - bazi_basic 基礎排盤(四柱、藏干、十神、五行力量)
6
+ * - bazi_dayun 大運列表
7
+ * - bazi_liunian 流年列表
8
+ * - bazi_liuyue 流月列表(節氣月)
9
+ * - bazi_liuri 流日列表
10
+ */
11
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
12
+ export declare function registerBaziTools(server: McpServer): void;
13
+ //# sourceMappingURL=baziTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baziTools.d.ts","sourceRoot":"","sources":["../../src/tools/baziTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmCzE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsXzD"}