@zhin.js/plugin-lottery 1.0.0 → 1.0.1

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 (178) hide show
  1. package/package.json +5 -5
  2. package/lib/agent/agent.d.ts +0 -3
  3. package/lib/agent/agent.d.ts.map +0 -1
  4. package/lib/agent/prompts.d.ts +0 -11
  5. package/lib/agent/prompts.d.ts.map +0 -1
  6. package/lib/agent/prompts.js +0 -11
  7. package/lib/agent/prompts.js.map +0 -1
  8. package/lib/agent/read-skills.d.ts +0 -3
  9. package/lib/agent/read-skills.d.ts.map +0 -1
  10. package/lib/agent/read-skills.js +0 -25
  11. package/lib/agent/read-skills.js.map +0 -1
  12. package/lib/agent/run-turn.d.ts +0 -14
  13. package/lib/agent/run-turn.d.ts.map +0 -1
  14. package/lib/agent/run-turn.js +0 -47
  15. package/lib/agent/run-turn.js.map +0 -1
  16. package/lib/agent/schedules/daily_pipeline.d.ts +0 -3
  17. package/lib/agent/schedules/daily_pipeline.d.ts.map +0 -1
  18. package/lib/agent/tools/compute_recommend.d.ts +0 -5
  19. package/lib/agent/tools/compute_recommend.d.ts.map +0 -1
  20. package/lib/agent/tools/get_model_state.d.ts +0 -5
  21. package/lib/agent/tools/get_model_state.d.ts.map +0 -1
  22. package/lib/agent/tools/history.d.ts +0 -6
  23. package/lib/agent/tools/history.d.ts.map +0 -1
  24. package/lib/agent/tools/list_pending.d.ts +0 -5
  25. package/lib/agent/tools/list_pending.d.ts.map +0 -1
  26. package/lib/agent/tools/save_prediction.d.ts +0 -6
  27. package/lib/agent/tools/save_prediction.d.ts.map +0 -1
  28. package/lib/agent/tools/stats_snapshot.d.ts +0 -5
  29. package/lib/agent/tools/stats_snapshot.d.ts.map +0 -1
  30. package/lib/agent/tools/sync.d.ts +0 -5
  31. package/lib/agent/tools/sync.d.ts.map +0 -1
  32. package/lib/db.d.ts +0 -33
  33. package/lib/db.d.ts.map +0 -1
  34. package/lib/db.js +0 -108
  35. package/lib/db.js.map +0 -1
  36. package/lib/evals/pipeline_smoke.eval.d.ts +0 -3
  37. package/lib/evals/pipeline_smoke.eval.d.ts.map +0 -1
  38. package/lib/evaluate/adaptive-sim.d.ts +0 -31
  39. package/lib/evaluate/adaptive-sim.d.ts.map +0 -1
  40. package/lib/evaluate/adaptive-sim.js +0 -155
  41. package/lib/evaluate/adaptive-sim.js.map +0 -1
  42. package/lib/evaluate/backtest.d.ts +0 -29
  43. package/lib/evaluate/backtest.d.ts.map +0 -1
  44. package/lib/evaluate/backtest.js +0 -87
  45. package/lib/evaluate/backtest.js.map +0 -1
  46. package/lib/evaluate/hit-rate.d.ts +0 -8
  47. package/lib/evaluate/hit-rate.d.ts.map +0 -1
  48. package/lib/evaluate/hit-rate.js +0 -120
  49. package/lib/evaluate/hit-rate.js.map +0 -1
  50. package/lib/evaluate/review-pending.d.ts +0 -13
  51. package/lib/evaluate/review-pending.d.ts.map +0 -1
  52. package/lib/evaluate/review-pending.js +0 -89
  53. package/lib/evaluate/review-pending.js.map +0 -1
  54. package/lib/evaluate/tracker.d.ts +0 -28
  55. package/lib/evaluate/tracker.d.ts.map +0 -1
  56. package/lib/evaluate/tracker.js +0 -265
  57. package/lib/evaluate/tracker.js.map +0 -1
  58. package/lib/evaluate/train-weights.d.ts +0 -28
  59. package/lib/evaluate/train-weights.d.ts.map +0 -1
  60. package/lib/evaluate/train-weights.js +0 -101
  61. package/lib/evaluate/train-weights.js.map +0 -1
  62. package/lib/evaluate/weight-guard.d.ts +0 -15
  63. package/lib/evaluate/weight-guard.d.ts.map +0 -1
  64. package/lib/evaluate/weight-guard.js +0 -46
  65. package/lib/evaluate/weight-guard.js.map +0 -1
  66. package/lib/games/kl8-groups.d.ts +0 -31
  67. package/lib/games/kl8-groups.d.ts.map +0 -1
  68. package/lib/games/kl8-groups.js +0 -62
  69. package/lib/games/kl8-groups.js.map +0 -1
  70. package/lib/games/registry.d.ts +0 -13
  71. package/lib/games/registry.d.ts.map +0 -1
  72. package/lib/games/registry.js +0 -45
  73. package/lib/games/registry.js.map +0 -1
  74. package/lib/index.d.ts +0 -3
  75. package/lib/index.d.ts.map +0 -1
  76. package/lib/index.js +0 -215
  77. package/lib/index.js.map +0 -1
  78. package/lib/pipeline.d.ts +0 -36
  79. package/lib/pipeline.d.ts.map +0 -1
  80. package/lib/pipeline.js +0 -130
  81. package/lib/pipeline.js.map +0 -1
  82. package/lib/push.d.ts +0 -3
  83. package/lib/push.d.ts.map +0 -1
  84. package/lib/push.js +0 -31
  85. package/lib/push.js.map +0 -1
  86. package/lib/recommend/game-pick.d.ts +0 -14
  87. package/lib/recommend/game-pick.d.ts.map +0 -1
  88. package/lib/recommend/game-pick.js +0 -169
  89. package/lib/recommend/game-pick.js.map +0 -1
  90. package/lib/recommend/report.d.ts +0 -22
  91. package/lib/recommend/report.d.ts.map +0 -1
  92. package/lib/recommend/report.js +0 -173
  93. package/lib/recommend/report.js.map +0 -1
  94. package/lib/src/agent/prompts.d.ts +0 -11
  95. package/lib/src/agent/prompts.d.ts.map +0 -1
  96. package/lib/src/agent/read-skills.d.ts +0 -3
  97. package/lib/src/agent/read-skills.d.ts.map +0 -1
  98. package/lib/src/agent/run-turn.d.ts +0 -14
  99. package/lib/src/agent/run-turn.d.ts.map +0 -1
  100. package/lib/src/db.d.ts +0 -33
  101. package/lib/src/db.d.ts.map +0 -1
  102. package/lib/src/evaluate/adaptive-sim.d.ts +0 -31
  103. package/lib/src/evaluate/adaptive-sim.d.ts.map +0 -1
  104. package/lib/src/evaluate/backtest.d.ts +0 -29
  105. package/lib/src/evaluate/backtest.d.ts.map +0 -1
  106. package/lib/src/evaluate/hit-rate.d.ts +0 -8
  107. package/lib/src/evaluate/hit-rate.d.ts.map +0 -1
  108. package/lib/src/evaluate/review-pending.d.ts +0 -13
  109. package/lib/src/evaluate/review-pending.d.ts.map +0 -1
  110. package/lib/src/evaluate/tracker.d.ts +0 -28
  111. package/lib/src/evaluate/tracker.d.ts.map +0 -1
  112. package/lib/src/evaluate/train-weights.d.ts +0 -28
  113. package/lib/src/evaluate/train-weights.d.ts.map +0 -1
  114. package/lib/src/evaluate/weight-guard.d.ts +0 -15
  115. package/lib/src/evaluate/weight-guard.d.ts.map +0 -1
  116. package/lib/src/games/kl8-groups.d.ts +0 -31
  117. package/lib/src/games/kl8-groups.d.ts.map +0 -1
  118. package/lib/src/games/registry.d.ts +0 -13
  119. package/lib/src/games/registry.d.ts.map +0 -1
  120. package/lib/src/index.d.ts +0 -3
  121. package/lib/src/index.d.ts.map +0 -1
  122. package/lib/src/lottery-agent-deps.d.ts +0 -24
  123. package/lib/src/lottery-agent-deps.d.ts.map +0 -1
  124. package/lib/src/lottery-tool-handlers.d.ts +0 -17
  125. package/lib/src/lottery-tool-handlers.d.ts.map +0 -1
  126. package/lib/src/pipeline.d.ts +0 -36
  127. package/lib/src/pipeline.d.ts.map +0 -1
  128. package/lib/src/push.d.ts +0 -3
  129. package/lib/src/push.d.ts.map +0 -1
  130. package/lib/src/recommend/game-pick.d.ts +0 -14
  131. package/lib/src/recommend/game-pick.d.ts.map +0 -1
  132. package/lib/src/recommend/report.d.ts +0 -22
  133. package/lib/src/recommend/report.d.ts.map +0 -1
  134. package/lib/src/stats/engine.d.ts +0 -18
  135. package/lib/src/stats/engine.d.ts.map +0 -1
  136. package/lib/src/stats/pro-analysis.d.ts +0 -7
  137. package/lib/src/stats/pro-analysis.d.ts.map +0 -1
  138. package/lib/src/stats/weights.d.ts +0 -8
  139. package/lib/src/stats/weights.d.ts.map +0 -1
  140. package/lib/src/sync/fetch-official.d.ts +0 -4
  141. package/lib/src/sync/fetch-official.d.ts.map +0 -1
  142. package/lib/src/sync/run-sync.d.ts +0 -8
  143. package/lib/src/sync/run-sync.d.ts.map +0 -1
  144. package/lib/src/tools/agent-tools.d.ts +0 -15
  145. package/lib/src/tools/agent-tools.d.ts.map +0 -1
  146. package/lib/src/tools/agent-tools.js +0 -211
  147. package/lib/src/tools/agent-tools.js.map +0 -1
  148. package/lib/src/types.d.ts +0 -84
  149. package/lib/src/types.d.ts.map +0 -1
  150. package/lib/stats/engine.d.ts +0 -18
  151. package/lib/stats/engine.d.ts.map +0 -1
  152. package/lib/stats/engine.js +0 -122
  153. package/lib/stats/engine.js.map +0 -1
  154. package/lib/stats/pro-analysis.d.ts +0 -7
  155. package/lib/stats/pro-analysis.d.ts.map +0 -1
  156. package/lib/stats/pro-analysis.js +0 -121
  157. package/lib/stats/pro-analysis.js.map +0 -1
  158. package/lib/stats/weights.d.ts +0 -8
  159. package/lib/stats/weights.d.ts.map +0 -1
  160. package/lib/stats/weights.js +0 -25
  161. package/lib/stats/weights.js.map +0 -1
  162. package/lib/sync/fetch-official.d.ts +0 -4
  163. package/lib/sync/fetch-official.d.ts.map +0 -1
  164. package/lib/sync/fetch-official.js +0 -160
  165. package/lib/sync/fetch-official.js.map +0 -1
  166. package/lib/sync/run-sync.d.ts +0 -8
  167. package/lib/sync/run-sync.d.ts.map +0 -1
  168. package/lib/sync/run-sync.js +0 -29
  169. package/lib/sync/run-sync.js.map +0 -1
  170. package/lib/tools/agent-tools.d.ts +0 -15
  171. package/lib/tools/agent-tools.d.ts.map +0 -1
  172. package/lib/tools/agent-tools.js +0 -211
  173. package/lib/tools/agent-tools.js.map +0 -1
  174. package/lib/tsconfig.tsbuildinfo +0 -1
  175. package/lib/types.d.ts +0 -84
  176. package/lib/types.d.ts.map +0 -1
  177. package/lib/types.js +0 -3
  178. package/lib/types.js.map +0 -1
@@ -1,169 +0,0 @@
1
- import { getGameMeta } from '../games/registry.js';
2
- import { recommendKl8Groups, resolveKl8Config } from '../games/kl8-groups.js';
3
- import { pad2, pickTopUnique, scoreDigits, scorePool } from '../stats/engine.js';
4
- import { computeDigitProMetrics, computeProMetrics } from '../stats/pro-analysis.js';
5
- function buildSnapshot(gameId, draws, hot, cold, detail, pro, accuracy, weights) {
6
- return {
7
- gameId,
8
- sampleSize: draws.length,
9
- hot: hot.map(String),
10
- cold: cold.map(String),
11
- detail,
12
- pro,
13
- accuracy,
14
- };
15
- }
16
- function poolDraws(draws, extract) {
17
- return draws.map((d) => extract(d.numbers)).filter((a) => a.length > 0);
18
- }
19
- export function recommendGame(gameId, draws, options) {
20
- const meta = getGameMeta(gameId);
21
- const tieSeed = `${options.tieSeed}:${gameId}`;
22
- const weights = options.weights ?? { freq: 0.4, omit: 0.35, trend: 0.25 };
23
- switch (gameId) {
24
- case 'kl8': {
25
- const kl8 = options.kl8 ?? resolveKl8Config(options.pickCount);
26
- const rows = poolDraws(draws, (n) => n.main ?? []);
27
- if (kl8.recommendGroups <= 1) {
28
- const scores = scorePool(rows, 1, 80, tieSeed, weights);
29
- const pick = pickTopUnique(scores, kl8.pickCount);
30
- const hot = scores.slice(0, 5).map((s) => s.value);
31
- const cold = [...scores].reverse().slice(0, 5).map((s) => s.value);
32
- const pro = computeProMetrics(gameId, pick, draws, weights, 1, 80, 40);
33
- return {
34
- gameId,
35
- label: `${meta.name}(选${pick.length})`,
36
- numbers: { main: pick },
37
- weights,
38
- stats: buildSnapshot(gameId, draws, hot, cold, `频率+遗漏+趋势 | 和值${pro.sum} 跨度${pro.span}`, pro, options.accuracy, weights),
39
- };
40
- }
41
- const multi = recommendKl8Groups(draws, {
42
- pickCount: kl8.pickCount,
43
- recommendGroups: kl8.recommendGroups,
44
- strategies: kl8.groupStrategies,
45
- tieSeed,
46
- baseWeights: weights,
47
- });
48
- const primary = multi.groups[0].numbers;
49
- const hot = multi.scores.slice(0, 5).map((s) => s.value);
50
- const cold = [...multi.scores].reverse().slice(0, 5).map((s) => s.value);
51
- const pro = computeProMetrics(gameId, primary, draws, weights, 1, 80, 40);
52
- const strategyNote = multi.groups.map((g) => g.label).join('/');
53
- return {
54
- gameId,
55
- label: `${meta.name}(选${kl8.pickCount}·${multi.groups.length}组)`,
56
- numbers: { main: primary },
57
- weights,
58
- kl8Groups: multi.groups,
59
- stats: buildSnapshot(gameId, draws, hot, cold, `多策略 ${strategyNote} | 和值${pro.sum} 跨度${pro.span}`, pro, options.accuracy, weights),
60
- };
61
- }
62
- case 'ssq': {
63
- const redRows = poolDraws(draws, (n) => n.red ?? []);
64
- const blueRows = poolDraws(draws, (n) => n.blue ?? []);
65
- const redScores = scorePool(redRows, 1, 33, `${tieSeed}:red`, weights);
66
- const blueScores = scorePool(blueRows, 1, 16, `${tieSeed}:blue`, weights);
67
- const red = pickTopUnique(redScores, 6);
68
- const blue = pickTopUnique(blueScores, 1);
69
- const pro = computeProMetrics(gameId, red, draws, weights, 1, 33, 17);
70
- return {
71
- gameId,
72
- label: meta.name,
73
- numbers: { red, blue },
74
- weights,
75
- stats: buildSnapshot(gameId, draws, redScores.slice(0, 5).map((s) => s.value), redScores.slice(-5).map((s) => s.value), `红球 ${pro.oddEven} ${pro.bigSmall} | 蓝 ${blue.map(pad2).join(' ')}`, pro, options.accuracy, weights),
76
- };
77
- }
78
- case 'dlt': {
79
- const frontRows = poolDraws(draws, (n) => n.front ?? []);
80
- const backRows = poolDraws(draws, (n) => n.back ?? []);
81
- const frontScores = scorePool(frontRows, 1, 35, `${tieSeed}:front`, weights);
82
- const backScores = scorePool(backRows, 1, 12, `${tieSeed}:back`, weights);
83
- const front = pickTopUnique(frontScores, 5);
84
- const back = pickTopUnique(backScores, 2);
85
- const pro = computeProMetrics(gameId, front, draws, weights, 1, 35, 18);
86
- return {
87
- gameId,
88
- label: meta.name,
89
- numbers: { front, back },
90
- weights,
91
- stats: buildSnapshot(gameId, draws, frontScores.slice(0, 5).map((s) => s.value), frontScores.slice(-5).map((s) => s.value), `前区 ${pro.oddEven} ${pro.zones ?? ''}`.trim(), pro, options.accuracy, weights),
92
- };
93
- }
94
- case 'fc3d':
95
- case 'pl3': {
96
- const rows = poolDraws(draws, (n) => n.digits ?? []);
97
- const digits = scoreDigits(rows, 3, tieSeed, weights);
98
- const pro = computeDigitProMetrics(digits, draws, weights);
99
- return {
100
- gameId,
101
- label: meta.name,
102
- numbers: { digits },
103
- weights,
104
- stats: buildSnapshot(gameId, draws, digits, [], `直选 ${pro.digitPos} | 和值${pro.sum}`, pro, options.accuracy, weights),
105
- };
106
- }
107
- case 'pl5': {
108
- const rows = poolDraws(draws, (n) => n.digits ?? []);
109
- const digits = scoreDigits(rows, 5, tieSeed, weights);
110
- const pro = computeDigitProMetrics(digits, draws, weights);
111
- return {
112
- gameId,
113
- label: meta.name,
114
- numbers: { digits },
115
- weights,
116
- stats: buildSnapshot(gameId, draws, digits, [], `直选 ${pro.digitPos} | 和值${pro.sum}`, pro, options.accuracy, weights),
117
- };
118
- }
119
- default:
120
- throw new Error(`Unsupported game ${gameId}`);
121
- }
122
- }
123
- export function formatPickLine(pick) {
124
- const n = pick.numbers;
125
- switch (pick.gameId) {
126
- case 'kl8': {
127
- if (pick.kl8Groups?.length) {
128
- const header = `■ ${pick.label}`;
129
- const rows = pick.kl8Groups.map((g) => ` 组${g.index}·${g.label}:${g.numbers.map(pad2).join(' ')}`);
130
- return [header, ...rows].join('\n');
131
- }
132
- return `■ ${pick.label}:${(n.main ?? []).map(pad2).join(' ')}`;
133
- }
134
- case 'ssq':
135
- return `■ ${pick.label}:红 ${(n.red ?? []).map(pad2).join(' ')} + 蓝 ${(n.blue ?? []).map(pad2).join(' ')}`;
136
- case 'dlt':
137
- return `■ ${pick.label}:前 ${(n.front ?? []).map(pad2).join(' ')} + 后 ${(n.back ?? []).map(pad2).join(' ')}`;
138
- case 'fc3d':
139
- case 'pl3':
140
- case 'pl5':
141
- return `■ ${pick.label}:${(n.digits ?? []).join(' ')}`;
142
- default:
143
- return `■ ${pick.label}`;
144
- }
145
- }
146
- export function formatPickStats(pick) {
147
- const parts = [];
148
- const hot = pick.stats.hot.length ? `热号 ${pick.stats.hot.join(',')}` : '';
149
- const cold = pick.stats.cold.length ? `冷号 ${pick.stats.cold.join(',')}` : '';
150
- if (hot)
151
- parts.push(hot);
152
- if (cold)
153
- parts.push(cold);
154
- if (pick.stats.pro) {
155
- const p = pick.stats.pro;
156
- const morph = [p.oddEven, p.bigSmall, p.zones, p.recentHot, p.modelWeights].filter(Boolean).join(' | ');
157
- if (morph)
158
- parts.push(morph);
159
- if (p.digitPos)
160
- parts.push(p.digitPos);
161
- }
162
- if (pick.stats.accuracy) {
163
- const a = pick.stats.accuracy;
164
- parts.push(`历史命中 ${(a.avgHitRate * 100).toFixed(1)}% (${a.evalCount}期) 近5期 ${a.recent5}`);
165
- }
166
- parts.push(pick.stats.detail);
167
- return ` ${parts.filter(Boolean).join('\n ')}`;
168
- }
169
- //# sourceMappingURL=game-pick.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"game-pick.js","sourceRoot":"","sources":["../../src/recommend/game-pick.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import type { DailyReport, GameId, GamePick, ScoreWeights } from '../types.js';
2
- import type { Kl8Config } from '../games/kl8-groups.js';
3
- import type { LotteryDb } from '../db.js';
4
- export interface LotteryConfigSlice {
5
- pickCount: number;
6
- historyLimit: number;
7
- kl8?: Kl8Config;
8
- }
9
- export declare function buildDailyReport(db: LotteryDb, gameIds: GameId[], config: LotteryConfigSlice, date?: Date, savePredictions?: boolean, weightOverrides?: Map<GameId, ScoreWeights>): Promise<DailyReport>;
10
- export declare function formatDailyReportText(report: DailyReport, aiExplanation?: string): string;
11
- export declare function saveDailyReport(db: LotteryDb, report: DailyReport, aiExplanation: string): Promise<void>;
12
- export declare function loadTodayReport(db: LotteryDb, date?: Date): Promise<DailyReport | null>;
13
- /** Today's pending rows as displayable picks (when report table is empty). */
14
- export declare function loadTodayPendingPicks(db: LotteryDb, gameIds: GameId[], date?: Date): Promise<GamePick[]>;
15
- /** Saved daily report, or reconstruct from today's pending picks. */
16
- export declare function resolveTodayReport(db: LotteryDb, gameIds: GameId[], date?: Date): Promise<DailyReport | null>;
17
- /** Backfill missing pick weights from DB (saved reports may omit weights). */
18
- export declare function hydrateReportPickWeights(db: LotteryDb, picks: GamePick[]): Promise<GamePick[]>;
19
- export declare function explainReportWithAi(root: {
20
- inject?: (key: string) => unknown;
21
- }, report: DailyReport): Promise<string>;
22
- //# sourceMappingURL=report.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/recommend/report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG5F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAK1C,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,SAAS,CAAC;CACjB;AAED,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,kBAAkB,EAC1B,IAAI,OAAa,EACjB,eAAe,UAAO,EACtB,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAC1C,OAAO,CAAC,WAAW,CAAC,CA8BtB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAgCzF;AAED,wBAAsB,eAAe,CACnC,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,OAAa,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAgBnG;AAED,8EAA8E;AAC9E,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,OAAa,GAChB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAoBrB;AAED,qEAAqE;AACrE,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,OAAa,GAChB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAU7B;AAED,8EAA8E;AAC9E,wBAAsB,wBAAwB,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAUpG;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;CAAE,EAC3C,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,CAAC,CAwBjB"}
@@ -1,173 +0,0 @@
1
- import { DEFAULT_WEIGHTS, DISCLAIMER } from '../types.js';
2
- import { recommendGame, formatPickLine, formatPickStats } from './game-pick.js';
3
- import { resolveKl8Config } from '../games/kl8-groups.js';
4
- import { loadDraws, REPORTS_TABLE, parseStoredJson } from '../db.js';
5
- import { listPendingPredictions, loadAccuracySnapshot, loadGameWeights, savePrediction } from '../evaluate/tracker.js';
6
- import { formatWeights } from '../stats/weights.js';
7
- export async function buildDailyReport(db, gameIds, config, date = new Date(), savePredictions = true, weightOverrides) {
8
- const dateStr = date.toISOString().slice(0, 10);
9
- const tieSeed = dateStr;
10
- const picks = [];
11
- for (const gameId of gameIds) {
12
- const draws = await loadDraws(db, gameId, config.historyLimit);
13
- if (!draws.length)
14
- continue;
15
- const weights = weightOverrides?.get(gameId) ?? (await loadGameWeights(db, gameId));
16
- const accuracy = await loadAccuracySnapshot(db, gameId);
17
- const kl8 = config.kl8 ?? resolveKl8Config(config.pickCount);
18
- const pick = recommendGame(gameId, draws, {
19
- pickCount: gameId === 'kl8' ? kl8.pickCount : config.pickCount,
20
- tieSeed,
21
- weights,
22
- accuracy,
23
- kl8: gameId === 'kl8' ? kl8 : undefined,
24
- });
25
- picks.push(pick);
26
- if (savePredictions)
27
- await savePrediction(db, pick, date);
28
- }
29
- const accuracyOverview = picks
30
- .filter((p) => p.stats.accuracy)
31
- .map((p) => `${p.gameId} ${(p.stats.accuracy.avgHitRate * 100).toFixed(1)}%`)
32
- .join(' | ');
33
- return {
34
- date: dateStr,
35
- picks,
36
- disclaimer: DISCLAIMER,
37
- accuracyOverview: accuracyOverview || undefined,
38
- };
39
- }
40
- export function formatDailyReportText(report, aiExplanation) {
41
- if (report.body?.trim()) {
42
- const extra = aiExplanation?.trim();
43
- return extra ? `${report.body.trim()}\n\n${extra}` : report.body.trim();
44
- }
45
- const lines = [`【彩票每日推荐】${report.date}`, ''];
46
- if (report.backtestOverview?.trim()) {
47
- lines.push(report.backtestOverview.trim());
48
- lines.push('');
49
- }
50
- if (report.weightFallbackGames?.length) {
51
- lines.push(`【权重保护】近端 holdout 调优未跑赢随机,已回退默认 F40/O35/T25:${report.weightFallbackGames.join(', ')}`);
52
- lines.push('');
53
- }
54
- if (report.accuracyOverview) {
55
- lines.push(`【模型复盘】累计平均命中 ${report.accuracyOverview}`);
56
- lines.push('');
57
- }
58
- for (const pick of report.picks) {
59
- lines.push(formatPickLine(pick));
60
- lines.push(formatPickStats(pick));
61
- lines.push('');
62
- }
63
- if (aiExplanation?.trim()) {
64
- lines.push(aiExplanation.trim());
65
- lines.push('');
66
- }
67
- else {
68
- lines.push('【统计说明】号码由频率+遗漏+近期趋势综合打分,并根据历史命中自动调权。');
69
- lines.push('');
70
- }
71
- lines.push(report.disclaimer);
72
- return lines.join('\n').trim();
73
- }
74
- export async function saveDailyReport(db, report, aiExplanation) {
75
- const model = db.models.get(REPORTS_TABLE);
76
- if (!model)
77
- return;
78
- const existing = await model.select().where({ date: report.date });
79
- if (Array.isArray(existing) && existing.length > 0)
80
- return;
81
- await model.insert({
82
- date: report.date,
83
- report_json: JSON.stringify(report),
84
- ai_explanation: aiExplanation,
85
- created_at: new Date().toISOString(),
86
- });
87
- }
88
- export async function loadTodayReport(db, date = new Date()) {
89
- const model = db.models.get(REPORTS_TABLE);
90
- if (!model)
91
- return null;
92
- const dateStr = date.toISOString().slice(0, 10);
93
- const rows = (await model.select().where({ date: dateStr }));
94
- if (!rows.length)
95
- return null;
96
- const report = parseStoredJson(rows[0].report_json, {
97
- date: dateStr,
98
- picks: [],
99
- disclaimer: '',
100
- });
101
- if (!report.picks?.length && !report.body?.trim())
102
- return null;
103
- return report;
104
- }
105
- /** Today's pending rows as displayable picks (when report table is empty). */
106
- export async function loadTodayPendingPicks(db, gameIds, date = new Date()) {
107
- const today = date.toISOString().slice(0, 10);
108
- const picks = [];
109
- for (const gameId of gameIds) {
110
- const pending = (await listPendingPredictions(db, gameId));
111
- for (const row of pending.filter((p) => p.predict_date === today)) {
112
- picks.push({
113
- gameId,
114
- label: gameId,
115
- numbers: parseStoredJson(row.numbers, {}),
116
- weights: parseStoredJson(row.weights, DEFAULT_WEIGHTS),
117
- stats: { gameId, sampleSize: 0, hot: [], cold: [], detail: '' },
118
- });
119
- }
120
- }
121
- return picks;
122
- }
123
- /** Saved daily report, or reconstruct from today's pending picks. */
124
- export async function resolveTodayReport(db, gameIds, date = new Date()) {
125
- const saved = await loadTodayReport(db, date);
126
- if (saved)
127
- return saved;
128
- const picks = await loadTodayPendingPicks(db, gameIds, date);
129
- if (!picks.length)
130
- return null;
131
- return {
132
- date: date.toISOString().slice(0, 10),
133
- picks,
134
- disclaimer: DISCLAIMER,
135
- };
136
- }
137
- /** Backfill missing pick weights from DB (saved reports may omit weights). */
138
- export async function hydrateReportPickWeights(db, picks) {
139
- const out = [];
140
- for (const pick of picks) {
141
- if (pick.weights?.freq != null && pick.weights?.omit != null && pick.weights?.trend != null) {
142
- out.push(pick);
143
- continue;
144
- }
145
- out.push({ ...pick, weights: await loadGameWeights(db, pick.gameId) });
146
- }
147
- return out;
148
- }
149
- export async function explainReportWithAi(root, report) {
150
- const ai = root.inject?.('ai');
151
- if (!ai?.ask)
152
- return '';
153
- const summary = report.picks
154
- .map((p) => {
155
- const acc = p.stats.accuracy
156
- ? `历史命中${(p.stats.accuracy.avgHitRate * 100).toFixed(1)}%`
157
- : '';
158
- const w = p.stats.pro?.modelWeights ?? formatWeights(p.weights);
159
- const nums = p.gameId === 'kl8' && p.kl8Groups?.length
160
- ? p.kl8Groups.map((g) => `组${g.index}(${g.label}) ${g.numbers.join(',')}`).join('; ')
161
- : formatPickLine(p).replace('■ ', '').replace(/\n/g, ' ');
162
- return `${p.label}: ${nums} | ${p.stats.detail} | ${w} | ${acc}`;
163
- })
164
- .join('\n');
165
- const systemPrompt = '你是专业彩票数据分析师。根据统计形态、模型权重与历史命中率写解读(250字内)。不得修改推荐号码。';
166
- try {
167
- return await ai.ask(`请专业解读以下推荐:\n\n${summary}`, { systemPrompt });
168
- }
169
- catch {
170
- return '';
171
- }
172
- }
173
- //# sourceMappingURL=report.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/recommend/report.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import type { GameId } from '../types.js';
2
- export type LotteryAgentTask = 'daily_pipeline';
3
- export interface LotteryAgentContext {
4
- syncSummary?: string;
5
- newDrawsSummary?: string;
6
- games?: GameId[];
7
- push?: boolean;
8
- }
9
- /** Prompt when agent is invoked interactively (cron uses code pipeline). */
10
- export declare function buildDailyPipelinePrompt(ctx: LotteryAgentContext): string;
11
- //# sourceMappingURL=prompts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/agent/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAEhD,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,4EAA4E;AAC5E,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAQzE"}
@@ -1,3 +0,0 @@
1
- export declare function readSkillMarkdown(...parts: string[]): string;
2
- export declare function buildLotteryAgentSystemPrompt(): string;
3
- //# sourceMappingURL=read-skills.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"read-skills.d.ts","sourceRoot":"","sources":["../../../src/agent/read-skills.ts"],"names":[],"mappings":"AAMA,wBAAgB,iBAAiB,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAS5D;AAED,wBAAgB,6BAA6B,IAAI,MAAM,CAStD"}
@@ -1,14 +0,0 @@
1
- import type { Plugin } from 'zhin.js';
2
- import type { LotteryAgentContext, LotteryAgentTask } from './prompts.js';
3
- export interface RunLotteryAgentOptions {
4
- task: LotteryAgentTask;
5
- context?: LotteryAgentContext;
6
- gameId?: string;
7
- maxIterations?: number;
8
- }
9
- export declare function runLotteryAgentTurn(root: Plugin, options: RunLotteryAgentOptions): Promise<{
10
- ok: boolean;
11
- text: string;
12
- usedAgent: boolean;
13
- }>;
14
- //# sourceMappingURL=run-turn.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-turn.d.ts","sourceRoot":"","sources":["../../../src/agent/run-turn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAqB1E,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAiBD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CA2B5D"}
package/lib/src/db.d.ts DELETED
@@ -1,33 +0,0 @@
1
- import type { GameId, NormalizedDraw } from './types.js';
2
- export declare const DRAWS_TABLE = "lottery_draws";
3
- export declare const REPORTS_TABLE = "lottery_daily_reports";
4
- export interface LotteryDb {
5
- models: {
6
- get: (name: string) => LotteryModel | undefined;
7
- };
8
- }
9
- export interface LotteryModel {
10
- select: () => {
11
- where: (q: Record<string, unknown>) => Promise<unknown[]>;
12
- };
13
- insert: (row: Record<string, unknown>) => Promise<unknown>;
14
- delete: () => {
15
- where: (q: Record<string, unknown>) => Promise<unknown>;
16
- };
17
- }
18
- export declare function defineLotteryTables(db: {
19
- define: (name: string, schema: Record<string, unknown>) => void;
20
- }): void;
21
- export declare function upsertDraws(db: LotteryDb, draws: NormalizedDraw[]): Promise<{
22
- count: number;
23
- inserted: NormalizedDraw[];
24
- }>;
25
- export declare function trimHistory(db: LotteryDb, gameId: GameId, limit: number): Promise<void>;
26
- export declare function parseStoredJson<T>(value: unknown, fallback: T): T;
27
- export declare function loadDraws(db: LotteryDb, gameId: GameId, limit: number): Promise<NormalizedDraw[]>;
28
- export declare function fetchGameDraws(gameId: GameId, count: number): Promise<NormalizedDraw[]>;
29
- export declare function syncGame(db: LotteryDb, gameId: GameId, historyLimit: number): Promise<{
30
- count: number;
31
- inserted: NormalizedDraw[];
32
- }>;
33
- //# sourceMappingURL=db.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,MAAM,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAKtE,eAAO,MAAM,WAAW,kBAAkB,CAAC;AAC3C,eAAO,MAAM,aAAa,0BAA0B,CAAC;AAErD,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE;QACN,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,CAAC;KACjD,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM;QACZ,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;KAC3D,CAAC;IACF,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,EAAE,MAAM;QAAE,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC;CAC3E;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE;IAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;CAAE,GAAG,IAAI,CAiBjH;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,cAAc,EAAE,CAAA;CAAE,CAAC,CAuBhI;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ7F;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAWjE;AAED,wBAAsB,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAoBvG;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAS7F;AAED,wBAAsB,QAAQ,CAC5B,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,cAAc,EAAE,CAAA;CAAE,CAAC,CAKxD"}
@@ -1,31 +0,0 @@
1
- import type { DrawNumbers, GameId, NormalizedDraw, ScoreWeights } from '../types.js';
2
- export interface SimulationOptions {
3
- pickCount: number;
4
- minHistory: number;
5
- randomTrials: number;
6
- initialWeights?: ScoreWeights;
7
- adaptive?: boolean;
8
- /** Score only the last N periods; omit to score every training step. */
9
- scoreWindow?: number;
10
- }
11
- export interface SimulationResult {
12
- gameId: GameId;
13
- periods: number;
14
- warmupPeriods: number;
15
- adaptiveAvgHitRate: number;
16
- fixedAvgHitRate: number;
17
- randomAvgHitRate: number;
18
- adaptiveVsRandom: number;
19
- adaptiveVsFixed: number;
20
- initialWeights: ScoreWeights;
21
- finalWeights: ScoreWeights;
22
- firstScoredIssue: string;
23
- lastScoredIssue: string;
24
- }
25
- export declare function randomDrawNumbers(gameId: GameId, pickCount: number, rng: () => number): DrawNumbers;
26
- /**
27
- * Walk-forward core: for each issue after minHistory, predict → score → tune weights.
28
- * Training uses scoreWindow omitted (every step counts); backtest uses scoreWindow.
29
- */
30
- export declare function runAdaptiveSimulation(chronological: NormalizedDraw[], gameId: GameId, options: SimulationOptions): SimulationResult | null;
31
- //# sourceMappingURL=adaptive-sim.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adaptive-sim.d.ts","sourceRoot":"","sources":["../../../src/evaluate/adaptive-sim.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAY,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAK/F,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,YAAY,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;CACzB;AAqCD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,MAAM,GAAG,WAAW,CAgBnG;AAkCD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,cAAc,EAAE,EAC/B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iBAAiB,GACzB,gBAAgB,GAAG,IAAI,CAoFzB"}
@@ -1,29 +0,0 @@
1
- import type { GameId } from '../types.js';
2
- import type { LotteryDb } from '../db.js';
3
- import { type SimulationResult } from './adaptive-sim.js';
4
- export interface BacktestOptions {
5
- pickCount: number;
6
- window: number;
7
- randomTrials: number;
8
- minHistory: number;
9
- historyLimit?: number;
10
- initialWeights?: import('../types.js').ScoreWeights;
11
- adaptive?: boolean;
12
- }
13
- export type BacktestSummary = SimulationResult;
14
- export declare function walkForwardBacktest(db: LotteryDb, gameId: GameId, options: BacktestOptions): Promise<BacktestSummary | null>;
15
- export declare function runBacktestForGames(db: LotteryDb, gameIds: GameId[], options: BacktestOptions): Promise<BacktestSummary[]>;
16
- /** Full-history training refresh (same as lottery-train) when pipeline has no live review. */
17
- export declare function refreshAndPersistWeights(db: LotteryDb, gameId: GameId, options: RefreshWeightsOptions): Promise<BacktestSummary | null>;
18
- export interface RefreshWeightsOptions extends BacktestOptions {
19
- persist: boolean;
20
- reviewEvaluated: number;
21
- holdoutWindow?: number;
22
- holdoutFallback?: boolean;
23
- }
24
- export declare function refreshWeightsForGames(db: LotteryDb, gameIds: GameId[], options: RefreshWeightsOptions): Promise<BacktestSummary[]>;
25
- export declare function formatBacktestLine(s: BacktestSummary): string;
26
- export declare function formatBacktestSection(summaries: BacktestSummary[]): string;
27
- export type { TrainWeightsOptions } from './train-weights.js';
28
- export { trainGameWeights, trainAllGameWeights, formatTrainReport } from './train-weights.js';
29
- //# sourceMappingURL=backtest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"backtest.d.ts","sourceRoot":"","sources":["../../../src/evaluate/backtest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAIjF,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,aAAa,EAAE,YAAY,CAAC;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAE/C,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAcjC;AAED,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,eAAe,EAAE,CAAC,CAQ5B;AAED,8FAA8F;AAC9F,wBAAsB,wBAAwB,CAC5C,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAYjC;AAED,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,eAAe,EAAE,CAAC,CAS5B;AAWD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAS7D;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,eAAe,EAAE,GAAG,MAAM,CAS1E;AAED,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,8 +0,0 @@
1
- import { DEFAULT_WEIGHTS, type DrawNumbers, type GameId, type GamePick, type HitSummary, type NormalizedDraw, type ScoreWeights } from '../types.js';
2
-
3
- export declare function comparePickToDraw(pick: GamePick, draw: NormalizedDraw): HitSummary;
4
- /** 根据开奖结果反推更优权重方向,用于渐进调优 */
5
- export declare function tuneWeightsFromDraw(current: ScoreWeights, pick: DrawNumbers, actual: DrawNumbers, gameId: GameId, draws: NormalizedDraw[]): ScoreWeights;
6
- export declare function formatHitSummary(gameId: GameId, hit: HitSummary, issue: string): string;
7
- export { DEFAULT_WEIGHTS };
8
- //# sourceMappingURL=hit-rate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hit-rate.d.ts","sourceRoot":"","sources":["../../../src/evaluate/hit-rate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3G,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAuB9C,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,GAAG,UAAU,CAqDlF;AAED,4BAA4B;AAC5B,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,cAAc,EAAE,GACtB,YAAY,CAiBd;AA0BD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -1,13 +0,0 @@
1
- import type { GameId, NormalizedDraw } from '../types.js';
2
- import type { LotteryDb } from '../db.js';
3
- export interface EvaluatePendingResult {
4
- evaluated: number;
5
- skipped: boolean;
6
- lines: string[];
7
- }
8
- /** Match pending picks to new or latest draws; skip when nothing pending. */
9
- export declare function evaluatePendingPredictions(db: LotteryDb, gameIds: GameId[], historyLimit: number, insertedDraws?: NormalizedDraw[]): Promise<EvaluatePendingResult>;
10
- /** Games that still need a next-period pick (no pending row for today). */
11
- export declare function gamesNeedingPrediction(db: LotteryDb, gameIds: GameId[], date?: Date): Promise<GameId[]>;
12
- export declare function latestDrawIssue(db: LotteryDb, gameId: GameId): Promise<string | null>;
13
- //# sourceMappingURL=review-pending.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"review-pending.d.ts","sourceRoot":"","sources":["../../../src/evaluate/review-pending.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAS1C,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AA2BD,6EAA6E;AAC7E,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,MAAM,EAAE,EACjB,YAAY,EAAE,MAAM,EACpB,aAAa,GAAE,cAAc,EAAO,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAwDhC;AAED,2EAA2E;AAC3E,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,OAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAQnH;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAG3F"}
@@ -1,28 +0,0 @@
1
- import { type DrawNumbers, type GameId, type GamePick, type HitSummary, type ScoreWeights, type AccuracySnapshot } from '../types.js';
2
- import type { LotteryDb } from '../db.js';
3
-
4
- export declare const PREDICTIONS_TABLE = "lottery_predictions";
5
- export declare const WEIGHTS_TABLE = "lottery_model_weights";
6
- export declare const MEMORY_TABLE = "lottery_agent_memory";
7
- export declare function defineEvalTables(db: {
8
- define: (name: string, schema: Record<string, unknown>) => void;
9
- }): void;
10
- export declare function loadGameWeights(db: LotteryDb, gameId: GameId): Promise<ScoreWeights>;
11
- export declare function hasWeightsRow(db: LotteryDb, gameId: GameId): Promise<boolean>;
12
- export declare function saveGameWeights(db: LotteryDb, gameId: GameId, weights: ScoreWeights, evalCount: number, avgHitRate: number): Promise<void>;
13
- export declare function loadAccuracySnapshot(db: LotteryDb, gameId: GameId): Promise<AccuracySnapshot | undefined>;
14
- export declare function cancelTodayPendingPredictions(db: LotteryDb, gameId: GameId, date?: Date): Promise<void>;
15
- export declare function savePrediction(db: LotteryDb, pick: GamePick, at?: Date): Promise<void>;
16
- export declare function listPendingPredictions(db: LotteryDb, gameId?: GameId): Promise<unknown[]>;
17
- export declare function submitAgentReview(db: LotteryDb, input: {
18
- gameId: GameId;
19
- predictAt: string;
20
- actualIssue: string;
21
- actualNumbers: DrawNumbers;
22
- analysis: string;
23
- adjustWeights?: boolean;
24
- }, historyLimit: number): Promise<HitSummary | null>;
25
- export declare function saveAgentMemory(db: LotteryDb, content: string, memoryType?: string, gameId?: string): Promise<void>;
26
- export declare function loadAgentMemory(db: LotteryDb, gameId?: string, limit?: number): Promise<unknown[]>;
27
- export declare function formatReviewReport(db: LotteryDb, gameId?: GameId): Promise<string>;
28
- //# sourceMappingURL=tracker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../../../src/evaluate/tracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAkB,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AACvD,eAAO,MAAM,aAAa,0BAA0B,CAAC;AACrD,eAAO,MAAM,YAAY,yBAAyB,CAAC;AAEnD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE;IAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;CAAE,GAAG,IAAI,CA6B9G;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAe1F;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAKnF;AAED,wBAAsB,eAAe,CACnC,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAuB/G;AAED,wBAAsB,6BAA6B,CACjD,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,IAAI,OAAa,GAChB,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,wBAAsB,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBlG;AAED,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAQ/F;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,SAAS,EACb,KAAK,EAAE;IACL,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,WAAW,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,EACD,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA+D5B;AAED,wBAAsB,eAAe,CACnC,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,MAAM,EACf,UAAU,SAAY,EACtB,MAAM,SAAK,GACV,OAAO,CAAC,IAAI,CAAC,CASf;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAgBpG;AAED,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyCxF"}