mingyu-core 0.1.6 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -4
- package/dist/bazi/baziAnalysisFormatter.d.ts.map +1 -1
- package/dist/bazi/baziAnalysisFormatter.js +3 -2
- package/dist/bazi/baziAnalysisFormatter.js.map +1 -1
- package/dist/bazi/baziCalculator.d.ts.map +1 -1
- package/dist/bazi/baziCalculator.js +6 -3
- package/dist/bazi/baziCalculator.js.map +1 -1
- package/dist/bazi/baziCalculatorHelpers.d.ts +2 -2
- package/dist/bazi/baziCalculatorHelpers.d.ts.map +1 -1
- package/dist/bazi/baziCalculatorHelpers.js +2 -19
- package/dist/bazi/baziCalculatorHelpers.js.map +1 -1
- package/dist/bazi/baziEnhancement/classicPatterns.d.ts +1 -0
- package/dist/bazi/baziEnhancement/classicPatterns.d.ts.map +1 -1
- package/dist/bazi/baziEnhancement/classicPatterns.js +41 -12
- package/dist/bazi/baziEnhancement/classicPatterns.js.map +1 -1
- package/dist/bazi/baziPromptEnhancement.d.ts +14 -0
- package/dist/bazi/baziPromptEnhancement.d.ts.map +1 -0
- package/dist/bazi/baziPromptEnhancement.js +414 -0
- package/dist/bazi/baziPromptEnhancement.js.map +1 -0
- package/dist/bazi/baziShenSha/helpers/dayRules.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/helpers/dayRules.js +3 -2
- package/dist/bazi/baziShenSha/helpers/dayRules.js.map +1 -1
- package/dist/bazi/baziShenSha/helpers/disasterRules.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/helpers/disasterRules.js +9 -16
- package/dist/bazi/baziShenSha/helpers/disasterRules.js.map +1 -1
- package/dist/bazi/baziShenSha/helpers/luRules.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/helpers/luRules.js +12 -28
- package/dist/bazi/baziShenSha/helpers/luRules.js.map +1 -1
- package/dist/bazi/baziShenSha/helpers/nobleRules.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/helpers/nobleRules.js +11 -13
- package/dist/bazi/baziShenSha/helpers/nobleRules.js.map +1 -1
- package/dist/bazi/baziShenSha/helpers/types.d.ts +2 -0
- package/dist/bazi/baziShenSha/helpers/types.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/index.d.ts +6 -2
- package/dist/bazi/baziShenSha/index.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/index.js +7 -2
- package/dist/bazi/baziShenSha/index.js.map +1 -1
- package/dist/bazi/baziShenSha/variants.d.ts +17 -0
- package/dist/bazi/baziShenSha/variants.d.ts.map +1 -0
- package/dist/bazi/baziShenSha/variants.js +12 -0
- package/dist/bazi/baziShenSha/variants.js.map +1 -0
- package/dist/bazi/baziTypes.d.ts +2 -0
- package/dist/bazi/baziTypes.d.ts.map +1 -1
- package/dist/bazi/baziTypes.js.map +1 -1
- package/dist/bazi/fortuneModalSelection.d.ts +6 -0
- package/dist/bazi/fortuneModalSelection.d.ts.map +1 -0
- package/dist/bazi/fortuneModalSelection.js +22 -0
- package/dist/bazi/fortuneModalSelection.js.map +1 -0
- package/dist/bazi/fortuneSelection/helpers/breakdown.d.ts +6 -0
- package/dist/bazi/fortuneSelection/helpers/breakdown.d.ts.map +1 -0
- package/dist/bazi/fortuneSelection/helpers/breakdown.js +137 -0
- package/dist/bazi/fortuneSelection/helpers/breakdown.js.map +1 -0
- package/dist/bazi/fortuneSelection/helpers/resolvers.d.ts +9 -0
- package/dist/bazi/fortuneSelection/helpers/resolvers.d.ts.map +1 -0
- package/dist/bazi/fortuneSelection/helpers/resolvers.js +74 -0
- package/dist/bazi/fortuneSelection/helpers/resolvers.js.map +1 -0
- package/dist/bazi/fortuneSelection/helpers/types.d.ts +71 -0
- package/dist/bazi/fortuneSelection/helpers/types.d.ts.map +1 -0
- package/dist/bazi/fortuneSelection/helpers/types.js +2 -0
- package/dist/bazi/fortuneSelection/helpers/types.js.map +1 -0
- package/dist/bazi/fortuneSelection/index.d.ts +6 -0
- package/dist/bazi/fortuneSelection/index.d.ts.map +1 -0
- package/dist/bazi/fortuneSelection/index.js +484 -0
- package/dist/bazi/fortuneSelection/index.js.map +1 -0
- package/dist/bazi/harmonyTransform.d.ts +16 -0
- package/dist/bazi/harmonyTransform.d.ts.map +1 -0
- package/dist/bazi/harmonyTransform.js +285 -0
- package/dist/bazi/harmonyTransform.js.map +1 -0
- package/dist/bazi/index.d.ts +20 -0
- package/dist/bazi/index.d.ts.map +1 -1
- package/dist/bazi/index.js +15 -0
- package/dist/bazi/index.js.map +1 -1
- package/dist/bazi/kongWang.d.ts +4 -0
- package/dist/bazi/kongWang.d.ts.map +1 -0
- package/dist/bazi/kongWang.js +21 -0
- package/dist/bazi/kongWang.js.map +1 -0
- package/dist/bazi/kongWangAnalysis.d.ts.map +1 -1
- package/dist/bazi/kongWangAnalysis.js +2 -13
- package/dist/bazi/kongWangAnalysis.js.map +1 -1
- package/dist/bazi/tombStorage.d.ts.map +1 -1
- package/dist/bazi/tombStorage.js +23 -10
- package/dist/bazi/tombStorage.js.map +1 -1
- package/dist/divination/algorithms/_shared/wuxing.d.ts +1 -1
- package/dist/divination/algorithms/_shared/wuxing.js +2 -2
- package/dist/divination/algorithms/liuyao.d.ts +5 -0
- package/dist/divination/algorithms/liuyao.d.ts.map +1 -1
- package/dist/divination/algorithms/liuyao.js +22 -18
- package/dist/divination/algorithms/liuyao.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/classic-patterns.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/classic-patterns.js +58 -93
- package/dist/divination/algorithms/qimen/helpers/classic-patterns.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/layout.d.ts +6 -5
- package/dist/divination/algorithms/qimen/helpers/layout.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/layout.js +84 -48
- package/dist/divination/algorithms/qimen/helpers/layout.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/pattern-combos.d.ts +28 -0
- package/dist/divination/algorithms/qimen/helpers/pattern-combos.d.ts.map +1 -0
- package/dist/divination/algorithms/qimen/helpers/pattern-combos.js +250 -0
- package/dist/divination/algorithms/qimen/helpers/pattern-combos.js.map +1 -0
- package/dist/divination/algorithms/qimen/helpers/patterns.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/patterns.js +1 -3
- package/dist/divination/algorithms/qimen/helpers/patterns.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/seasonality.d.ts +1 -1
- package/dist/divination/algorithms/qimen/helpers/seasonality.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/index.d.ts +3 -2
- package/dist/divination/algorithms/qimen/index.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/index.js +27 -10
- package/dist/divination/algorithms/qimen/index.js.map +1 -1
- package/dist/divination/tarot.d.ts +1 -1
- package/dist/prompt-evidence/format.d.ts +5 -0
- package/dist/prompt-evidence/format.d.ts.map +1 -0
- package/dist/prompt-evidence/format.js +55 -0
- package/dist/prompt-evidence/format.js.map +1 -0
- package/dist/prompt-evidence/types.d.ts +15 -0
- package/dist/prompt-evidence/types.d.ts.map +1 -0
- package/dist/prompt-evidence/types.js +2 -0
- package/dist/prompt-evidence/types.js.map +1 -0
- package/dist/types/analysis.d.ts +21 -0
- package/dist/types/analysis.d.ts.map +1 -1
- package/dist/types/divination.d.ts +46 -2
- package/dist/types/divination.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/divination/config.d.ts +0 -41
- package/dist/divination/config.d.ts.map +0 -1
- package/dist/divination/config.js +0 -111
- package/dist/divination/config.js.map +0 -1
- package/dist/divination/engine/liuren-template.d.ts +0 -4
- package/dist/divination/engine/liuren-template.d.ts.map +0 -1
- package/dist/divination/engine/liuren-template.js +0 -39
- package/dist/divination/engine/liuren-template.js.map +0 -1
- package/dist/divination/engine/liuyao-template.d.ts +0 -3
- package/dist/divination/engine/liuyao-template.d.ts.map +0 -1
- package/dist/divination/engine/liuyao-template.js +0 -46
- package/dist/divination/engine/liuyao-template.js.map +0 -1
- package/dist/divination/engine/method-text.d.ts +0 -6
- package/dist/divination/engine/method-text.d.ts.map +0 -1
- package/dist/divination/engine/method-text.js +0 -105
- package/dist/divination/engine/method-text.js.map +0 -1
- package/dist/divination/share-text.d.ts +0 -2
- package/dist/divination/share-text.d.ts.map +0 -1
- package/dist/divination/share-text.js +0 -8
- package/dist/divination/share-text.js.map +0 -1
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export interface FortunePromptPayload {
|
|
2
|
+
scopeLabel: string;
|
|
3
|
+
summaryLines: string[];
|
|
4
|
+
evidenceLines?: string[];
|
|
5
|
+
breakdownTitle?: string;
|
|
6
|
+
breakdownLines?: string[];
|
|
7
|
+
detailGroups?: Array<{
|
|
8
|
+
title: string;
|
|
9
|
+
lines: string[];
|
|
10
|
+
}>;
|
|
11
|
+
}
|
|
12
|
+
export interface FortuneSelectionContext {
|
|
13
|
+
scope: 'dayun' | 'year' | 'month' | 'day';
|
|
14
|
+
cycleIndex: number;
|
|
15
|
+
cycleLabel: string;
|
|
16
|
+
cycleGanZhi: string;
|
|
17
|
+
cycleStartYear: number;
|
|
18
|
+
cycleAge: number;
|
|
19
|
+
cycleType: string;
|
|
20
|
+
isXiaoyun: boolean;
|
|
21
|
+
year?: number;
|
|
22
|
+
yearGanZhi?: string;
|
|
23
|
+
yearAge?: number;
|
|
24
|
+
month?: number;
|
|
25
|
+
monthGanZhi?: string;
|
|
26
|
+
monthLabel?: string;
|
|
27
|
+
monthStartDate?: string;
|
|
28
|
+
monthEndDate?: string;
|
|
29
|
+
monthJieqiName?: string;
|
|
30
|
+
monthJieqiDate?: string;
|
|
31
|
+
yearBreakdown?: Array<{
|
|
32
|
+
year: number;
|
|
33
|
+
ganZhi: string;
|
|
34
|
+
age: number;
|
|
35
|
+
}>;
|
|
36
|
+
monthBreakdown?: Array<{
|
|
37
|
+
month: number;
|
|
38
|
+
label: string;
|
|
39
|
+
ganZhi: string;
|
|
40
|
+
startDate: string;
|
|
41
|
+
endDate: string;
|
|
42
|
+
startDateTime?: string;
|
|
43
|
+
endDateTime?: string;
|
|
44
|
+
startTermName?: string;
|
|
45
|
+
endTermName?: string;
|
|
46
|
+
}>;
|
|
47
|
+
dayBreakdown?: Array<{
|
|
48
|
+
date: string;
|
|
49
|
+
label: string;
|
|
50
|
+
ganZhi: string;
|
|
51
|
+
startDateTime?: string;
|
|
52
|
+
endDateTime?: string;
|
|
53
|
+
boundaryNote?: string;
|
|
54
|
+
}>;
|
|
55
|
+
hourBreakdown?: Array<{
|
|
56
|
+
label: string;
|
|
57
|
+
ganZhi: string;
|
|
58
|
+
timeRange?: string;
|
|
59
|
+
}>;
|
|
60
|
+
displayLabel: string;
|
|
61
|
+
displayText: string;
|
|
62
|
+
promptPayload: FortunePromptPayload;
|
|
63
|
+
}
|
|
64
|
+
export interface BaziFortuneSelectionValue {
|
|
65
|
+
scope: 'natal' | 'dayun' | 'year' | 'month' | 'day';
|
|
66
|
+
cycleIndex?: number;
|
|
67
|
+
year?: number;
|
|
68
|
+
month?: number;
|
|
69
|
+
day?: number;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/bazi/fortuneSelection/helpers/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,KAAK,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,KAAK,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;KACb,CAAC,CAAC;IACH,cAAc,CAAC,EAAE,KAAK,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;IACH,aAAa,CAAC,EAAE,KAAK,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,oBAAoB,CAAC;CACrC;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/bazi/fortuneSelection/helpers/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { BaziChartResult } from '../baziTypes';
|
|
2
|
+
import type { BaziFortuneSelectionValue, FortuneSelectionContext } from './helpers/types';
|
|
3
|
+
export type { BaziFortuneSelectionValue, FortuneSelectionContext } from './helpers/types';
|
|
4
|
+
export declare function normalizeFortuneSelection(result: BaziChartResult, selection: BaziFortuneSelectionValue): BaziFortuneSelectionValue;
|
|
5
|
+
export declare function buildFortuneSelectionContext(result: BaziChartResult, selection: BaziFortuneSelectionValue): FortuneSelectionContext | null;
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bazi/fortuneSelection/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAapD,OAAO,KAAK,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1F,YAAY,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AA4L1F,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,yBAAyB,GACnC,yBAAyB,CA2D3B;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,yBAAyB,GACnC,uBAAuB,GAAG,IAAI,CA8ThC"}
|
|
@@ -0,0 +1,484 @@
|
|
|
1
|
+
import { getMonthDaysInfo, getYearInfo } from '../calendarTool.js';
|
|
2
|
+
import { BASIC_MAPPINGS } from '../baziMappingsData.js';
|
|
3
|
+
import { getTenGod, getTenGodForBranch } from '../baziUtils.js';
|
|
4
|
+
import { formatPromptEvidenceBundle } from '../../prompt-evidence/format.js';
|
|
5
|
+
import { getDayHourBreakdown } from './helpers/breakdown.js';
|
|
6
|
+
import { formatCycleLabel, formatYearLabel, resolveCycleIndex, resolveSelectedDay, resolveSelectedMonth, resolveSelectedYear, } from './helpers/resolvers.js';
|
|
7
|
+
const PILLAR_LABELS = {
|
|
8
|
+
year: '年柱',
|
|
9
|
+
month: '月柱',
|
|
10
|
+
day: '日柱',
|
|
11
|
+
hour: '时柱',
|
|
12
|
+
};
|
|
13
|
+
const PILLAR_KEYS = ['year', 'month', 'day', 'hour'];
|
|
14
|
+
function splitGanZhi(ganZhi) {
|
|
15
|
+
if (!ganZhi || ganZhi.length < 2)
|
|
16
|
+
return null;
|
|
17
|
+
return {
|
|
18
|
+
gan: ganZhi[0],
|
|
19
|
+
zhi: ganZhi[1],
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function formatGanZhiTenGod(result, ganZhi) {
|
|
23
|
+
const parts = splitGanZhi(ganZhi);
|
|
24
|
+
if (!parts || !result.dayMaster?.gan)
|
|
25
|
+
return '未知';
|
|
26
|
+
return `天干${parts.gan}为${getTenGod(parts.gan, result.dayMaster.gan)},地支${parts.zhi}主气为${getTenGodForBranch(parts.zhi, result.dayMaster.gan)}`;
|
|
27
|
+
}
|
|
28
|
+
function formatYearBreakdownLine(result, item) {
|
|
29
|
+
return `${item.year}年(${item.age}岁) ${item.ganZhi}|十神 ${formatGanZhiTenGod(result, item.ganZhi)}`;
|
|
30
|
+
}
|
|
31
|
+
function formatMonthBreakdownLine(result, item) {
|
|
32
|
+
return `${item.month}月(${item.label}) ${item.ganZhi}|十神 ${formatGanZhiTenGod(result, item.ganZhi)}|日期范围 ${item.startDate} 至 ${item.endDate}|交节 ${item.startTermName || ''} ${item.startDateTime || ''} 起,${item.endTermName || ''} ${item.endDateTime || ''} 交下节`;
|
|
33
|
+
}
|
|
34
|
+
function formatDayBreakdownLine(result, item) {
|
|
35
|
+
return `${item.date} ${item.ganZhi}|十神 ${formatGanZhiTenGod(result, item.ganZhi)}${item.boundaryNote ? `|${item.boundaryNote}` : ''}`;
|
|
36
|
+
}
|
|
37
|
+
function buildGanZhiTriggerSummary(result, ganZhi, scopeLabel) {
|
|
38
|
+
const parts = splitGanZhi(ganZhi);
|
|
39
|
+
if (!parts || !result.pillars)
|
|
40
|
+
return `${scopeLabel}触发:原局资料不足,暂无法判断合冲刑害。`;
|
|
41
|
+
const triggers = [];
|
|
42
|
+
PILLAR_KEYS.forEach((key) => {
|
|
43
|
+
const pillar = result.pillars[key];
|
|
44
|
+
if (!pillar)
|
|
45
|
+
return;
|
|
46
|
+
const pillarLabel = PILLAR_LABELS[key];
|
|
47
|
+
if (parts.gan === pillar.gan) {
|
|
48
|
+
triggers.push(`天干${parts.gan}与${pillarLabel}${pillar.gan}伏吟`);
|
|
49
|
+
}
|
|
50
|
+
if (BASIC_MAPPINGS.TIAN_GAN_WU_HE[parts.gan] === pillar.gan) {
|
|
51
|
+
triggers.push(`天干${parts.gan}合${pillarLabel}${pillar.gan}`);
|
|
52
|
+
}
|
|
53
|
+
if (BASIC_MAPPINGS.TIAN_GAN_CHONG[parts.gan] === pillar.gan) {
|
|
54
|
+
triggers.push(`天干${parts.gan}冲${pillarLabel}${pillar.gan}`);
|
|
55
|
+
}
|
|
56
|
+
if (parts.zhi === pillar.zhi) {
|
|
57
|
+
triggers.push(`地支${parts.zhi}与${pillarLabel}${pillar.zhi}伏吟`);
|
|
58
|
+
}
|
|
59
|
+
if (BASIC_MAPPINGS.DI_ZHI_LIU_HE[parts.zhi] === pillar.zhi) {
|
|
60
|
+
triggers.push(`地支${parts.zhi}合${pillarLabel}${pillar.zhi}`);
|
|
61
|
+
}
|
|
62
|
+
if (BASIC_MAPPINGS.DI_ZHI_CHONG[parts.zhi] === pillar.zhi) {
|
|
63
|
+
triggers.push(`地支${parts.zhi}冲${pillarLabel}${pillar.zhi}`);
|
|
64
|
+
}
|
|
65
|
+
if (BASIC_MAPPINGS.DI_ZHI_XING[parts.zhi]?.includes(pillar.zhi)) {
|
|
66
|
+
triggers.push(`地支${parts.zhi}刑${pillarLabel}${pillar.zhi}`);
|
|
67
|
+
}
|
|
68
|
+
if (BASIC_MAPPINGS.DI_ZHI_HAI[parts.zhi] === pillar.zhi) {
|
|
69
|
+
triggers.push(`地支${parts.zhi}害${pillarLabel}${pillar.zhi}`);
|
|
70
|
+
}
|
|
71
|
+
if (BASIC_MAPPINGS.DI_ZHI_PO[parts.zhi] === pillar.zhi) {
|
|
72
|
+
triggers.push(`地支${parts.zhi}破${pillarLabel}${pillar.zhi}`);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
return `${scopeLabel}触发:${triggers.length ? triggers.join(';') : '未见明显合冲刑害破,重点看十神生克、原局喜忌与岁运层级。'}`;
|
|
76
|
+
}
|
|
77
|
+
function buildFortuneEvidenceLines(params) {
|
|
78
|
+
const items = [
|
|
79
|
+
{
|
|
80
|
+
level: '主证',
|
|
81
|
+
title: '用户已选择年限运限',
|
|
82
|
+
detail: `${params.scopeLabel},所属大运为${params.cycleLabel}(${params.cycleGanZhi})。`,
|
|
83
|
+
source: '年限选择器',
|
|
84
|
+
weight: 100,
|
|
85
|
+
tags: [params.scope],
|
|
86
|
+
},
|
|
87
|
+
];
|
|
88
|
+
if (params.parentText) {
|
|
89
|
+
items.push({
|
|
90
|
+
level: '辅证',
|
|
91
|
+
title: '上层岁运背景',
|
|
92
|
+
detail: params.parentText,
|
|
93
|
+
source: '年限选择器',
|
|
94
|
+
weight: 86,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
if (params.selectedGanZhi) {
|
|
98
|
+
items.push({
|
|
99
|
+
level: '主证',
|
|
100
|
+
title: params.selectedTitle,
|
|
101
|
+
detail: `${params.selectedGanZhi};${params.selectedTenGod ?? '十神资料不足'}`,
|
|
102
|
+
source: '排盘计算',
|
|
103
|
+
weight: 82,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
if (params.triggerSummary) {
|
|
107
|
+
items.push({
|
|
108
|
+
level: params.triggerSummary.includes('未见明显') ? '反证' : '主证',
|
|
109
|
+
title: '刑冲合害触发',
|
|
110
|
+
detail: params.triggerSummary,
|
|
111
|
+
source: '所选干支与原局四柱比对',
|
|
112
|
+
weight: params.triggerSummary.includes('未见明显') ? 58 : 78,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
if (params.timingText) {
|
|
116
|
+
items.push({
|
|
117
|
+
level: '应期',
|
|
118
|
+
title: '应期边界',
|
|
119
|
+
detail: params.timingText,
|
|
120
|
+
source: '年限选择器',
|
|
121
|
+
weight: 64,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
items.push({
|
|
125
|
+
level: '限制',
|
|
126
|
+
title: '断事层级限制',
|
|
127
|
+
detail: params.limitText,
|
|
128
|
+
source: '解读边界',
|
|
129
|
+
weight: 20,
|
|
130
|
+
});
|
|
131
|
+
return formatPromptEvidenceBundle({
|
|
132
|
+
items,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
export function normalizeFortuneSelection(result, selection) {
|
|
136
|
+
if (selection.scope === 'natal' || !result.luckInfo.cycles.length) {
|
|
137
|
+
return { scope: 'natal' };
|
|
138
|
+
}
|
|
139
|
+
const cycleIndex = resolveCycleIndex(result, selection);
|
|
140
|
+
const cycle = result.luckInfo.cycles[cycleIndex];
|
|
141
|
+
if (!cycle) {
|
|
142
|
+
return { scope: 'natal' };
|
|
143
|
+
}
|
|
144
|
+
const year = resolveSelectedYear(cycle, selection);
|
|
145
|
+
if (selection.scope === 'dayun') {
|
|
146
|
+
return {
|
|
147
|
+
scope: 'dayun',
|
|
148
|
+
cycleIndex,
|
|
149
|
+
year,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
if (!year) {
|
|
153
|
+
return {
|
|
154
|
+
scope: 'dayun',
|
|
155
|
+
cycleIndex,
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
const month = resolveSelectedMonth(selection);
|
|
159
|
+
if (selection.scope === 'year') {
|
|
160
|
+
return {
|
|
161
|
+
scope: 'year',
|
|
162
|
+
cycleIndex,
|
|
163
|
+
year,
|
|
164
|
+
month,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
const day = resolveSelectedDay(year, month, selection);
|
|
168
|
+
if (selection.scope === 'month') {
|
|
169
|
+
return {
|
|
170
|
+
scope: 'month',
|
|
171
|
+
cycleIndex,
|
|
172
|
+
year,
|
|
173
|
+
month,
|
|
174
|
+
day,
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
return {
|
|
178
|
+
scope: 'day',
|
|
179
|
+
cycleIndex,
|
|
180
|
+
year,
|
|
181
|
+
month,
|
|
182
|
+
day,
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
export function buildFortuneSelectionContext(result, selection) {
|
|
186
|
+
const normalized = normalizeFortuneSelection(result, selection);
|
|
187
|
+
if (normalized.scope === 'natal') {
|
|
188
|
+
return null;
|
|
189
|
+
}
|
|
190
|
+
const cycle = result.luckInfo.cycles[normalized.cycleIndex ?? -1];
|
|
191
|
+
if (!cycle) {
|
|
192
|
+
return null;
|
|
193
|
+
}
|
|
194
|
+
const cycleLabel = formatCycleLabel(cycle);
|
|
195
|
+
const yearItem = cycle.years.find((item) => item.year === normalized.year);
|
|
196
|
+
const monthInfoList = normalized.year ? getYearInfo(normalized.year).months : [];
|
|
197
|
+
const monthInfo = normalized.month ? monthInfoList[normalized.month - 1] : undefined;
|
|
198
|
+
const dayInfoList = normalized.year && normalized.month ? getMonthDaysInfo(normalized.year, normalized.month) : [];
|
|
199
|
+
const dayInfo = dayInfoList.find((item) => item.day === normalized.day);
|
|
200
|
+
const baseContext = {
|
|
201
|
+
cycleIndex: normalized.cycleIndex ?? 0,
|
|
202
|
+
cycleLabel,
|
|
203
|
+
cycleGanZhi: cycle.ganZhi,
|
|
204
|
+
cycleStartYear: cycle.year,
|
|
205
|
+
cycleAge: cycle.age,
|
|
206
|
+
cycleType: cycle.type,
|
|
207
|
+
isXiaoyun: cycle.isXiaoyun,
|
|
208
|
+
year: yearItem?.year,
|
|
209
|
+
yearGanZhi: yearItem?.ganZhi,
|
|
210
|
+
yearAge: yearItem?.age,
|
|
211
|
+
};
|
|
212
|
+
if (normalized.scope === 'dayun') {
|
|
213
|
+
const breakdown = cycle.years.map((item) => ({
|
|
214
|
+
year: item.year,
|
|
215
|
+
ganZhi: item.ganZhi,
|
|
216
|
+
age: item.age,
|
|
217
|
+
}));
|
|
218
|
+
const cycleTenGod = formatGanZhiTenGod(result, cycle.ganZhi);
|
|
219
|
+
const cycleTriggerSummary = buildGanZhiTriggerSummary(result, cycle.ganZhi, '大运');
|
|
220
|
+
return {
|
|
221
|
+
...baseContext,
|
|
222
|
+
scope: 'dayun',
|
|
223
|
+
yearBreakdown: breakdown,
|
|
224
|
+
displayLabel: cycleLabel,
|
|
225
|
+
displayText: `${cycleLabel}(${cycle.year}年起,${cycle.age}岁交运)`,
|
|
226
|
+
promptPayload: {
|
|
227
|
+
scopeLabel: `分析对象:${cycleLabel}`,
|
|
228
|
+
summaryLines: [
|
|
229
|
+
`大运干支:${cycle.ganZhi}`,
|
|
230
|
+
`大运十神:${cycleTenGod}`,
|
|
231
|
+
cycleTriggerSummary,
|
|
232
|
+
`起运年份:${cycle.year}年`,
|
|
233
|
+
`起运年龄:${cycle.age}岁`,
|
|
234
|
+
cycle.isXiaoyun
|
|
235
|
+
? '类型:未起运,行童运'
|
|
236
|
+
: `类型:${cycle.type === '小运' ? '童运' : cycle.type}`,
|
|
237
|
+
],
|
|
238
|
+
evidenceLines: buildFortuneEvidenceLines({
|
|
239
|
+
scope: 'dayun',
|
|
240
|
+
scopeLabel: `${cycleLabel}`,
|
|
241
|
+
cycleLabel,
|
|
242
|
+
cycleGanZhi: cycle.ganZhi,
|
|
243
|
+
selectedTitle: '大运干支与十神',
|
|
244
|
+
selectedGanZhi: cycle.ganZhi,
|
|
245
|
+
selectedTenGod: cycleTenGod,
|
|
246
|
+
triggerSummary: cycleTriggerSummary,
|
|
247
|
+
timingText: `${cycle.year}年起,约${cycle.age}岁交运;只作为十年阶段主题与强弱背景。`,
|
|
248
|
+
limitText: '大运不能替代流年给出精确年份;需要用户继续选择流年后才能断年度触发。',
|
|
249
|
+
}),
|
|
250
|
+
breakdownTitle: '该大运包含的流年',
|
|
251
|
+
breakdownLines: breakdown.map((item) => formatYearBreakdownLine(result, item)),
|
|
252
|
+
detailGroups: [
|
|
253
|
+
{
|
|
254
|
+
title: '该大运包含的流年',
|
|
255
|
+
lines: breakdown.map((item) => formatYearBreakdownLine(result, item)),
|
|
256
|
+
},
|
|
257
|
+
],
|
|
258
|
+
},
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
if (!yearItem) {
|
|
262
|
+
return null;
|
|
263
|
+
}
|
|
264
|
+
if (normalized.scope === 'year') {
|
|
265
|
+
const breakdown = monthInfoList.map((item, index) => ({
|
|
266
|
+
month: index + 1,
|
|
267
|
+
label: item.month,
|
|
268
|
+
ganZhi: item.ganZhi,
|
|
269
|
+
startDate: item.startDate,
|
|
270
|
+
endDate: item.endDate,
|
|
271
|
+
startDateTime: item.startDateTime,
|
|
272
|
+
endDateTime: item.endDateTime,
|
|
273
|
+
startTermName: item.startTermName,
|
|
274
|
+
endTermName: item.endTermName,
|
|
275
|
+
}));
|
|
276
|
+
const cycleYearLines = cycle.years.map((item) => formatYearBreakdownLine(result, item));
|
|
277
|
+
const monthLines = breakdown.map((item) => formatMonthBreakdownLine(result, item));
|
|
278
|
+
const yearTenGod = formatGanZhiTenGod(result, yearItem.ganZhi);
|
|
279
|
+
const yearTriggerSummary = buildGanZhiTriggerSummary(result, yearItem.ganZhi, '流年');
|
|
280
|
+
return {
|
|
281
|
+
...baseContext,
|
|
282
|
+
scope: 'year',
|
|
283
|
+
monthBreakdown: breakdown,
|
|
284
|
+
displayLabel: formatYearLabel(yearItem),
|
|
285
|
+
displayText: `${yearItem.year}年 ${yearItem.ganZhi}(${yearItem.age}岁)`,
|
|
286
|
+
promptPayload: {
|
|
287
|
+
scopeLabel: `分析对象:${yearItem.year}年流年`,
|
|
288
|
+
summaryLines: [
|
|
289
|
+
`所属大运:${cycleLabel}`,
|
|
290
|
+
`流年干支:${yearItem.ganZhi}`,
|
|
291
|
+
`流年十神:${yearTenGod}`,
|
|
292
|
+
yearTriggerSummary,
|
|
293
|
+
`对应年龄:${yearItem.age}岁`,
|
|
294
|
+
].filter(Boolean),
|
|
295
|
+
evidenceLines: buildFortuneEvidenceLines({
|
|
296
|
+
scope: 'year',
|
|
297
|
+
scopeLabel: `${yearItem.year}年流年`,
|
|
298
|
+
cycleLabel,
|
|
299
|
+
cycleGanZhi: cycle.ganZhi,
|
|
300
|
+
selectedTitle: '流年干支与十神',
|
|
301
|
+
selectedGanZhi: yearItem.ganZhi,
|
|
302
|
+
selectedTenGod: yearTenGod,
|
|
303
|
+
triggerSummary: yearTriggerSummary,
|
|
304
|
+
parentText: `所属大运:${cycleLabel}(${cycle.ganZhi}),年度判断必须承接该十年阶段。`,
|
|
305
|
+
timingText: `${yearItem.year}年(${yearItem.age}岁)为年度触发;流月列表只作月份窗口参考。`,
|
|
306
|
+
limitText: '未选择具体流月或流日时,不得把某月某日硬断成唯一应期。',
|
|
307
|
+
}),
|
|
308
|
+
breakdownTitle: '该流年包含的流月',
|
|
309
|
+
breakdownLines: monthLines,
|
|
310
|
+
detailGroups: [
|
|
311
|
+
{
|
|
312
|
+
title: '所属大运包含的流年',
|
|
313
|
+
lines: cycleYearLines,
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
title: '该流年包含的流月',
|
|
317
|
+
lines: monthLines,
|
|
318
|
+
},
|
|
319
|
+
],
|
|
320
|
+
},
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
if (!monthInfo || !normalized.month) {
|
|
324
|
+
return null;
|
|
325
|
+
}
|
|
326
|
+
if (normalized.scope === 'month') {
|
|
327
|
+
const breakdown = dayInfoList.map((item) => ({
|
|
328
|
+
date: item.solarDate,
|
|
329
|
+
label: item.solarLabel,
|
|
330
|
+
ganZhi: item.ganZhi,
|
|
331
|
+
startDateTime: item.startDateTime,
|
|
332
|
+
endDateTime: item.endDateTime,
|
|
333
|
+
boundaryNote: item.boundaryNote,
|
|
334
|
+
}));
|
|
335
|
+
const yearMonthBreakdown = monthInfoList.map((item, index) => ({
|
|
336
|
+
month: index + 1,
|
|
337
|
+
label: item.month,
|
|
338
|
+
ganZhi: item.ganZhi,
|
|
339
|
+
startDate: item.startDate,
|
|
340
|
+
endDate: item.endDate,
|
|
341
|
+
startDateTime: item.startDateTime,
|
|
342
|
+
endDateTime: item.endDateTime,
|
|
343
|
+
startTermName: item.startTermName,
|
|
344
|
+
endTermName: item.endTermName,
|
|
345
|
+
}));
|
|
346
|
+
const yearMonthLines = yearMonthBreakdown.map((item) => formatMonthBreakdownLine(result, item));
|
|
347
|
+
const dayLines = breakdown.map((item) => formatDayBreakdownLine(result, item));
|
|
348
|
+
const monthTenGod = formatGanZhiTenGod(result, monthInfo.ganZhi);
|
|
349
|
+
const monthTriggerSummary = buildGanZhiTriggerSummary(result, monthInfo.ganZhi, '流月');
|
|
350
|
+
return {
|
|
351
|
+
...baseContext,
|
|
352
|
+
scope: 'month',
|
|
353
|
+
month: normalized.month,
|
|
354
|
+
monthGanZhi: monthInfo.ganZhi,
|
|
355
|
+
monthLabel: monthInfo.month,
|
|
356
|
+
monthBreakdown: [
|
|
357
|
+
{
|
|
358
|
+
month: normalized.month,
|
|
359
|
+
label: monthInfo.month,
|
|
360
|
+
ganZhi: monthInfo.ganZhi,
|
|
361
|
+
startDate: monthInfo.startDate,
|
|
362
|
+
endDate: monthInfo.endDate,
|
|
363
|
+
startDateTime: monthInfo.startDateTime,
|
|
364
|
+
endDateTime: monthInfo.endDateTime,
|
|
365
|
+
startTermName: monthInfo.startTermName,
|
|
366
|
+
endTermName: monthInfo.endTermName,
|
|
367
|
+
},
|
|
368
|
+
],
|
|
369
|
+
dayBreakdown: breakdown,
|
|
370
|
+
displayLabel: `${yearItem.year}年${monthInfo.month}`,
|
|
371
|
+
displayText: `${yearItem.year}年 ${monthInfo.month}(${monthInfo.ganZhi},${monthInfo.startDateTime || monthInfo.startDate} 起,至 ${monthInfo.endDateTime || monthInfo.endDate} 交下节)`,
|
|
372
|
+
promptPayload: {
|
|
373
|
+
scopeLabel: `分析对象:${yearItem.year}年${monthInfo.month}流月`,
|
|
374
|
+
summaryLines: [
|
|
375
|
+
`所属大运:${cycleLabel}`,
|
|
376
|
+
`所属流年:${yearItem.year}年 ${yearItem.ganZhi}`,
|
|
377
|
+
`流月:${monthInfo.month} ${monthInfo.ganZhi}`,
|
|
378
|
+
`流月十神:${monthTenGod}`,
|
|
379
|
+
monthTriggerSummary,
|
|
380
|
+
`日期范围:${monthInfo.startDate} 至 ${monthInfo.endDate}`,
|
|
381
|
+
`交节时刻:${monthInfo.startTermName || ''} ${monthInfo.startDateTime || ''} 起,${monthInfo.endTermName || ''} ${monthInfo.endDateTime || ''} 交下节`,
|
|
382
|
+
],
|
|
383
|
+
evidenceLines: buildFortuneEvidenceLines({
|
|
384
|
+
scope: 'month',
|
|
385
|
+
scopeLabel: `${yearItem.year}年${monthInfo.month}流月`,
|
|
386
|
+
cycleLabel,
|
|
387
|
+
cycleGanZhi: cycle.ganZhi,
|
|
388
|
+
selectedTitle: '流月干支与十神',
|
|
389
|
+
selectedGanZhi: monthInfo.ganZhi,
|
|
390
|
+
selectedTenGod: monthTenGod,
|
|
391
|
+
triggerSummary: monthTriggerSummary,
|
|
392
|
+
parentText: `所属大运:${cycleLabel}(${cycle.ganZhi});所属流年:${yearItem.year}年${yearItem.ganZhi}。`,
|
|
393
|
+
timingText: `${monthInfo.startDate}至${monthInfo.endDate},以节气月为准;${monthInfo.startTermName || ''} ${monthInfo.startDateTime || ''} 起,${monthInfo.endTermName || ''} ${monthInfo.endDateTime || ''} 交下节。`,
|
|
394
|
+
limitText: '流月只细化年度主题,不能推翻本命、大运与流年主线;未选择流日时不硬给具体日期。',
|
|
395
|
+
}),
|
|
396
|
+
breakdownTitle: '该流月包含的流日',
|
|
397
|
+
breakdownLines: dayLines,
|
|
398
|
+
detailGroups: [
|
|
399
|
+
{
|
|
400
|
+
title: '所属流年包含的流月',
|
|
401
|
+
lines: yearMonthLines,
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
title: '该流月包含的流日',
|
|
405
|
+
lines: dayLines,
|
|
406
|
+
},
|
|
407
|
+
],
|
|
408
|
+
},
|
|
409
|
+
};
|
|
410
|
+
}
|
|
411
|
+
if (!dayInfo || !normalized.day) {
|
|
412
|
+
return null;
|
|
413
|
+
}
|
|
414
|
+
const actualDate = dayInfo.solarDate;
|
|
415
|
+
const [actualYear, actualMonth, actualDay] = actualDate.split('-').map(Number);
|
|
416
|
+
const hourBreakdown = getDayHourBreakdown(actualYear, actualMonth, actualDay);
|
|
417
|
+
const previousDate = new Date(actualYear, actualMonth - 1, actualDay - 1);
|
|
418
|
+
const ziChuStart = `${previousDate.getFullYear()}-${String(previousDate.getMonth() + 1).padStart(2, '0')}-${String(previousDate.getDate()).padStart(2, '0')} 23:00`;
|
|
419
|
+
const ziChuEnd = `${actualDate} 22:59`;
|
|
420
|
+
const dayTenGod = formatGanZhiTenGod(result, dayInfo.ganZhi);
|
|
421
|
+
const dayTriggerSummary = buildGanZhiTriggerSummary(result, dayInfo.ganZhi, '流日');
|
|
422
|
+
const monthDayLines = dayInfoList.map((item) => formatDayBreakdownLine(result, {
|
|
423
|
+
date: item.solarDate,
|
|
424
|
+
ganZhi: item.ganZhi,
|
|
425
|
+
boundaryNote: item.boundaryNote,
|
|
426
|
+
}));
|
|
427
|
+
const hourLines = hourBreakdown.map((item) => `${item.label} ${item.timeRange || ''} ${item.ganZhi}`.trim());
|
|
428
|
+
return {
|
|
429
|
+
...baseContext,
|
|
430
|
+
scope: 'day',
|
|
431
|
+
month: normalized.month,
|
|
432
|
+
monthGanZhi: monthInfo.ganZhi,
|
|
433
|
+
monthLabel: monthInfo.month,
|
|
434
|
+
hourBreakdown,
|
|
435
|
+
dayBreakdown: [
|
|
436
|
+
{
|
|
437
|
+
date: actualDate,
|
|
438
|
+
label: dayInfo.solarLabel,
|
|
439
|
+
ganZhi: dayInfo.ganZhi,
|
|
440
|
+
},
|
|
441
|
+
],
|
|
442
|
+
displayLabel: actualDate,
|
|
443
|
+
displayText: `${actualDate}(${dayInfo.ganZhi})`,
|
|
444
|
+
promptPayload: {
|
|
445
|
+
scopeLabel: `分析对象:${actualDate}流日`,
|
|
446
|
+
summaryLines: [
|
|
447
|
+
`所属大运:${cycleLabel}`,
|
|
448
|
+
`所属流年:${yearItem.year}年 ${yearItem.ganZhi}`,
|
|
449
|
+
`所属流月:${monthInfo.month} ${monthInfo.ganZhi}`,
|
|
450
|
+
`流日:${actualDate} ${dayInfo.ganZhi}`,
|
|
451
|
+
`流日十神:${dayTenGod}`,
|
|
452
|
+
dayTriggerSummary,
|
|
453
|
+
`按子初换日:${ziChuStart} 至 ${ziChuEnd}`,
|
|
454
|
+
...(dayInfo.boundaryNote ? [`交节提示:${dayInfo.boundaryNote}`] : []),
|
|
455
|
+
],
|
|
456
|
+
evidenceLines: buildFortuneEvidenceLines({
|
|
457
|
+
scope: 'day',
|
|
458
|
+
scopeLabel: `${actualDate}流日`,
|
|
459
|
+
cycleLabel,
|
|
460
|
+
cycleGanZhi: cycle.ganZhi,
|
|
461
|
+
selectedTitle: '流日干支与十神',
|
|
462
|
+
selectedGanZhi: dayInfo.ganZhi,
|
|
463
|
+
selectedTenGod: dayTenGod,
|
|
464
|
+
triggerSummary: dayTriggerSummary,
|
|
465
|
+
parentText: `所属大运:${cycleLabel}(${cycle.ganZhi});所属流年:${yearItem.year}年${yearItem.ganZhi};所属流月:${monthInfo.month}${monthInfo.ganZhi}。`,
|
|
466
|
+
timingText: `按子初换日:${ziChuStart}至${ziChuEnd};流时列表只作当日内短时触发参考。`,
|
|
467
|
+
limitText: '流日只判断当日执行、沟通、避险和即时触发,不得改写长期命局或整年趋势。',
|
|
468
|
+
}),
|
|
469
|
+
breakdownTitle: '该流日包含的流时',
|
|
470
|
+
breakdownLines: hourLines,
|
|
471
|
+
detailGroups: [
|
|
472
|
+
{
|
|
473
|
+
title: '所属流月包含的流日',
|
|
474
|
+
lines: monthDayLines,
|
|
475
|
+
},
|
|
476
|
+
{
|
|
477
|
+
title: '该流日包含的流时',
|
|
478
|
+
lines: hourLines,
|
|
479
|
+
},
|
|
480
|
+
],
|
|
481
|
+
},
|
|
482
|
+
};
|
|
483
|
+
}
|
|
484
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bazi/fortuneSelection/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file 合化程度评分
|
|
3
|
+
* @description 在已识别天干五合、地支六合的基础上,按月令、透干、根气、冲破、清杂、争合给出结构化评分。
|
|
4
|
+
*/
|
|
5
|
+
import type { HarmonyTransformProfile } from '../types/analysis';
|
|
6
|
+
export interface HarmonyPillarInput {
|
|
7
|
+
label?: string;
|
|
8
|
+
gan: string;
|
|
9
|
+
zhi: string;
|
|
10
|
+
hiddenStems?: string[];
|
|
11
|
+
}
|
|
12
|
+
export declare function assessStemHarmonyTransform(stem1: string, pillar1: string, stem2: string, pillar2: string, monthBranch: string, allPillars: HarmonyPillarInput[]): HarmonyTransformProfile;
|
|
13
|
+
export declare function assessBranchHarmonyTransform(branch1: string, pillar1: string, branch2: string, pillar2: string, monthBranch: string, allPillars: HarmonyPillarInput[]): HarmonyTransformProfile;
|
|
14
|
+
export declare function assessAllHarmonyTransforms(pillars: HarmonyPillarInput[], monthBranch?: string): HarmonyTransformProfile[];
|
|
15
|
+
export declare function formatHarmonyTransformProfile(profile: HarmonyTransformProfile): string[];
|
|
16
|
+
//# sourceMappingURL=harmonyTransform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harmonyTransform.d.ts","sourceRoot":"","sources":["../../src/bazi/harmonyTransform.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAGV,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAK3B,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAsJD,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,kBAAkB,EAAE,GAC/B,uBAAuB,CAiGzB;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,kBAAkB,EAAE,GAC/B,uBAAuB,CA0EzB;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,kBAAkB,EAAE,EAC7B,WAAW,CAAC,EAAE,MAAM,GACnB,uBAAuB,EAAE,CAyC3B;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,EAAE,CAWxF"}
|