@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.
- package/package.json +5 -5
- package/lib/agent/agent.d.ts +0 -3
- package/lib/agent/agent.d.ts.map +0 -1
- package/lib/agent/prompts.d.ts +0 -11
- package/lib/agent/prompts.d.ts.map +0 -1
- package/lib/agent/prompts.js +0 -11
- package/lib/agent/prompts.js.map +0 -1
- package/lib/agent/read-skills.d.ts +0 -3
- package/lib/agent/read-skills.d.ts.map +0 -1
- package/lib/agent/read-skills.js +0 -25
- package/lib/agent/read-skills.js.map +0 -1
- package/lib/agent/run-turn.d.ts +0 -14
- package/lib/agent/run-turn.d.ts.map +0 -1
- package/lib/agent/run-turn.js +0 -47
- package/lib/agent/run-turn.js.map +0 -1
- package/lib/agent/schedules/daily_pipeline.d.ts +0 -3
- package/lib/agent/schedules/daily_pipeline.d.ts.map +0 -1
- package/lib/agent/tools/compute_recommend.d.ts +0 -5
- package/lib/agent/tools/compute_recommend.d.ts.map +0 -1
- package/lib/agent/tools/get_model_state.d.ts +0 -5
- package/lib/agent/tools/get_model_state.d.ts.map +0 -1
- package/lib/agent/tools/history.d.ts +0 -6
- package/lib/agent/tools/history.d.ts.map +0 -1
- package/lib/agent/tools/list_pending.d.ts +0 -5
- package/lib/agent/tools/list_pending.d.ts.map +0 -1
- package/lib/agent/tools/save_prediction.d.ts +0 -6
- package/lib/agent/tools/save_prediction.d.ts.map +0 -1
- package/lib/agent/tools/stats_snapshot.d.ts +0 -5
- package/lib/agent/tools/stats_snapshot.d.ts.map +0 -1
- package/lib/agent/tools/sync.d.ts +0 -5
- package/lib/agent/tools/sync.d.ts.map +0 -1
- package/lib/db.d.ts +0 -33
- package/lib/db.d.ts.map +0 -1
- package/lib/db.js +0 -108
- package/lib/db.js.map +0 -1
- package/lib/evals/pipeline_smoke.eval.d.ts +0 -3
- package/lib/evals/pipeline_smoke.eval.d.ts.map +0 -1
- package/lib/evaluate/adaptive-sim.d.ts +0 -31
- package/lib/evaluate/adaptive-sim.d.ts.map +0 -1
- package/lib/evaluate/adaptive-sim.js +0 -155
- package/lib/evaluate/adaptive-sim.js.map +0 -1
- package/lib/evaluate/backtest.d.ts +0 -29
- package/lib/evaluate/backtest.d.ts.map +0 -1
- package/lib/evaluate/backtest.js +0 -87
- package/lib/evaluate/backtest.js.map +0 -1
- package/lib/evaluate/hit-rate.d.ts +0 -8
- package/lib/evaluate/hit-rate.d.ts.map +0 -1
- package/lib/evaluate/hit-rate.js +0 -120
- package/lib/evaluate/hit-rate.js.map +0 -1
- package/lib/evaluate/review-pending.d.ts +0 -13
- package/lib/evaluate/review-pending.d.ts.map +0 -1
- package/lib/evaluate/review-pending.js +0 -89
- package/lib/evaluate/review-pending.js.map +0 -1
- package/lib/evaluate/tracker.d.ts +0 -28
- package/lib/evaluate/tracker.d.ts.map +0 -1
- package/lib/evaluate/tracker.js +0 -265
- package/lib/evaluate/tracker.js.map +0 -1
- package/lib/evaluate/train-weights.d.ts +0 -28
- package/lib/evaluate/train-weights.d.ts.map +0 -1
- package/lib/evaluate/train-weights.js +0 -101
- package/lib/evaluate/train-weights.js.map +0 -1
- package/lib/evaluate/weight-guard.d.ts +0 -15
- package/lib/evaluate/weight-guard.d.ts.map +0 -1
- package/lib/evaluate/weight-guard.js +0 -46
- package/lib/evaluate/weight-guard.js.map +0 -1
- package/lib/games/kl8-groups.d.ts +0 -31
- package/lib/games/kl8-groups.d.ts.map +0 -1
- package/lib/games/kl8-groups.js +0 -62
- package/lib/games/kl8-groups.js.map +0 -1
- package/lib/games/registry.d.ts +0 -13
- package/lib/games/registry.d.ts.map +0 -1
- package/lib/games/registry.js +0 -45
- package/lib/games/registry.js.map +0 -1
- package/lib/index.d.ts +0 -3
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js +0 -215
- package/lib/index.js.map +0 -1
- package/lib/pipeline.d.ts +0 -36
- package/lib/pipeline.d.ts.map +0 -1
- package/lib/pipeline.js +0 -130
- package/lib/pipeline.js.map +0 -1
- package/lib/push.d.ts +0 -3
- package/lib/push.d.ts.map +0 -1
- package/lib/push.js +0 -31
- package/lib/push.js.map +0 -1
- package/lib/recommend/game-pick.d.ts +0 -14
- package/lib/recommend/game-pick.d.ts.map +0 -1
- package/lib/recommend/game-pick.js +0 -169
- package/lib/recommend/game-pick.js.map +0 -1
- package/lib/recommend/report.d.ts +0 -22
- package/lib/recommend/report.d.ts.map +0 -1
- package/lib/recommend/report.js +0 -173
- package/lib/recommend/report.js.map +0 -1
- package/lib/src/agent/prompts.d.ts +0 -11
- package/lib/src/agent/prompts.d.ts.map +0 -1
- package/lib/src/agent/read-skills.d.ts +0 -3
- package/lib/src/agent/read-skills.d.ts.map +0 -1
- package/lib/src/agent/run-turn.d.ts +0 -14
- package/lib/src/agent/run-turn.d.ts.map +0 -1
- package/lib/src/db.d.ts +0 -33
- package/lib/src/db.d.ts.map +0 -1
- package/lib/src/evaluate/adaptive-sim.d.ts +0 -31
- package/lib/src/evaluate/adaptive-sim.d.ts.map +0 -1
- package/lib/src/evaluate/backtest.d.ts +0 -29
- package/lib/src/evaluate/backtest.d.ts.map +0 -1
- package/lib/src/evaluate/hit-rate.d.ts +0 -8
- package/lib/src/evaluate/hit-rate.d.ts.map +0 -1
- package/lib/src/evaluate/review-pending.d.ts +0 -13
- package/lib/src/evaluate/review-pending.d.ts.map +0 -1
- package/lib/src/evaluate/tracker.d.ts +0 -28
- package/lib/src/evaluate/tracker.d.ts.map +0 -1
- package/lib/src/evaluate/train-weights.d.ts +0 -28
- package/lib/src/evaluate/train-weights.d.ts.map +0 -1
- package/lib/src/evaluate/weight-guard.d.ts +0 -15
- package/lib/src/evaluate/weight-guard.d.ts.map +0 -1
- package/lib/src/games/kl8-groups.d.ts +0 -31
- package/lib/src/games/kl8-groups.d.ts.map +0 -1
- package/lib/src/games/registry.d.ts +0 -13
- package/lib/src/games/registry.d.ts.map +0 -1
- package/lib/src/index.d.ts +0 -3
- package/lib/src/index.d.ts.map +0 -1
- package/lib/src/lottery-agent-deps.d.ts +0 -24
- package/lib/src/lottery-agent-deps.d.ts.map +0 -1
- package/lib/src/lottery-tool-handlers.d.ts +0 -17
- package/lib/src/lottery-tool-handlers.d.ts.map +0 -1
- package/lib/src/pipeline.d.ts +0 -36
- package/lib/src/pipeline.d.ts.map +0 -1
- package/lib/src/push.d.ts +0 -3
- package/lib/src/push.d.ts.map +0 -1
- package/lib/src/recommend/game-pick.d.ts +0 -14
- package/lib/src/recommend/game-pick.d.ts.map +0 -1
- package/lib/src/recommend/report.d.ts +0 -22
- package/lib/src/recommend/report.d.ts.map +0 -1
- package/lib/src/stats/engine.d.ts +0 -18
- package/lib/src/stats/engine.d.ts.map +0 -1
- package/lib/src/stats/pro-analysis.d.ts +0 -7
- package/lib/src/stats/pro-analysis.d.ts.map +0 -1
- package/lib/src/stats/weights.d.ts +0 -8
- package/lib/src/stats/weights.d.ts.map +0 -1
- package/lib/src/sync/fetch-official.d.ts +0 -4
- package/lib/src/sync/fetch-official.d.ts.map +0 -1
- package/lib/src/sync/run-sync.d.ts +0 -8
- package/lib/src/sync/run-sync.d.ts.map +0 -1
- package/lib/src/tools/agent-tools.d.ts +0 -15
- package/lib/src/tools/agent-tools.d.ts.map +0 -1
- package/lib/src/tools/agent-tools.js +0 -211
- package/lib/src/tools/agent-tools.js.map +0 -1
- package/lib/src/types.d.ts +0 -84
- package/lib/src/types.d.ts.map +0 -1
- package/lib/stats/engine.d.ts +0 -18
- package/lib/stats/engine.d.ts.map +0 -1
- package/lib/stats/engine.js +0 -122
- package/lib/stats/engine.js.map +0 -1
- package/lib/stats/pro-analysis.d.ts +0 -7
- package/lib/stats/pro-analysis.d.ts.map +0 -1
- package/lib/stats/pro-analysis.js +0 -121
- package/lib/stats/pro-analysis.js.map +0 -1
- package/lib/stats/weights.d.ts +0 -8
- package/lib/stats/weights.d.ts.map +0 -1
- package/lib/stats/weights.js +0 -25
- package/lib/stats/weights.js.map +0 -1
- package/lib/sync/fetch-official.d.ts +0 -4
- package/lib/sync/fetch-official.d.ts.map +0 -1
- package/lib/sync/fetch-official.js +0 -160
- package/lib/sync/fetch-official.js.map +0 -1
- package/lib/sync/run-sync.d.ts +0 -8
- package/lib/sync/run-sync.d.ts.map +0 -1
- package/lib/sync/run-sync.js +0 -29
- package/lib/sync/run-sync.js.map +0 -1
- package/lib/tools/agent-tools.d.ts +0 -15
- package/lib/tools/agent-tools.d.ts.map +0 -1
- package/lib/tools/agent-tools.js +0 -211
- package/lib/tools/agent-tools.js.map +0 -1
- package/lib/tsconfig.tsbuildinfo +0 -1
- package/lib/types.d.ts +0 -84
- package/lib/types.d.ts.map +0 -1
- package/lib/types.js +0 -3
- package/lib/types.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adaptive-sim.js","sourceRoot":"","sources":["../../src/evaluate/adaptive-sim.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|
package/lib/evaluate/backtest.js
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { loadDraws } from '../db.js';
|
|
2
|
-
import { loadGameWeights } from './tracker.js';
|
|
3
|
-
import { runAdaptiveSimulation } from './adaptive-sim.js';
|
|
4
|
-
import { trainGameWeights } from './train-weights.js';
|
|
5
|
-
import { formatWeights } from '../stats/weights.js';
|
|
6
|
-
export async function walkForwardBacktest(db, gameId, options) {
|
|
7
|
-
const loadLimit = options.historyLimit ?? Math.max(options.window + options.minHistory + 50, 150);
|
|
8
|
-
const draws = await loadDraws(db, gameId, loadLimit);
|
|
9
|
-
if (draws.length <= options.minHistory)
|
|
10
|
-
return null;
|
|
11
|
-
const chronological = [...draws].sort((a, b) => a.issue.localeCompare(b.issue));
|
|
12
|
-
return runAdaptiveSimulation(chronological, gameId, {
|
|
13
|
-
pickCount: options.pickCount,
|
|
14
|
-
minHistory: options.minHistory,
|
|
15
|
-
randomTrials: options.randomTrials,
|
|
16
|
-
initialWeights: options.initialWeights,
|
|
17
|
-
adaptive: options.adaptive,
|
|
18
|
-
scoreWindow: options.window,
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
export async function runBacktestForGames(db, gameIds, options) {
|
|
22
|
-
const out = [];
|
|
23
|
-
for (const gameId of gameIds) {
|
|
24
|
-
const initial = await loadGameWeights(db, gameId);
|
|
25
|
-
const summary = await walkForwardBacktest(db, gameId, { ...options, initialWeights: initial });
|
|
26
|
-
if (summary)
|
|
27
|
-
out.push(summary);
|
|
28
|
-
}
|
|
29
|
-
return out;
|
|
30
|
-
}
|
|
31
|
-
/** Full-history training refresh (same as lottery-train) when pipeline has no live review. */
|
|
32
|
-
export async function refreshAndPersistWeights(db, gameId, options) {
|
|
33
|
-
const result = await trainGameWeights(db, gameId, {
|
|
34
|
-
pickCount: options.pickCount,
|
|
35
|
-
minHistory: options.minHistory,
|
|
36
|
-
historyLimit: options.historyLimit ?? 500,
|
|
37
|
-
randomTrials: options.randomTrials,
|
|
38
|
-
initialWeights: options.initialWeights ?? (await loadGameWeights(db, gameId)),
|
|
39
|
-
holdoutWindow: options.holdoutWindow ?? options.window,
|
|
40
|
-
holdoutFallback: options.holdoutFallback,
|
|
41
|
-
persist: true,
|
|
42
|
-
});
|
|
43
|
-
return result;
|
|
44
|
-
}
|
|
45
|
-
export async function refreshWeightsForGames(db, gameIds, options) {
|
|
46
|
-
if (!options.persist)
|
|
47
|
-
return [];
|
|
48
|
-
const out = [];
|
|
49
|
-
for (const gameId of gameIds) {
|
|
50
|
-
if (options.reviewEvaluated > 0)
|
|
51
|
-
continue;
|
|
52
|
-
const summary = await refreshAndPersistWeights(db, gameId, options);
|
|
53
|
-
if (summary)
|
|
54
|
-
out.push(summary);
|
|
55
|
-
}
|
|
56
|
-
return out;
|
|
57
|
-
}
|
|
58
|
-
function pct(rate) {
|
|
59
|
-
return (rate * 100).toFixed(1);
|
|
60
|
-
}
|
|
61
|
-
function signedPct(delta) {
|
|
62
|
-
const v = delta * 100;
|
|
63
|
-
return v >= 0 ? `+${v.toFixed(1)}` : v.toFixed(1);
|
|
64
|
-
}
|
|
65
|
-
export function formatBacktestLine(s) {
|
|
66
|
-
const w = formatWeights(s.finalWeights);
|
|
67
|
-
return [
|
|
68
|
-
`${s.gameId}: 调优 ${pct(s.adaptiveAvgHitRate)}%`,
|
|
69
|
-
`固定 ${pct(s.fixedAvgHitRate)}%`,
|
|
70
|
-
`随机 ${pct(s.randomAvgHitRate)}%`,
|
|
71
|
-
`(Δ调优-随机 ${signedPct(s.adaptiveVsRandom)}%, n=${s.periods}, 热身${s.warmupPeriods}期)`,
|
|
72
|
-
`终权重 ${w}`,
|
|
73
|
-
].join(' / ');
|
|
74
|
-
}
|
|
75
|
-
export function formatBacktestSection(summaries) {
|
|
76
|
-
if (!summaries.length)
|
|
77
|
-
return '';
|
|
78
|
-
const lines = [
|
|
79
|
-
'【回测可信度】近 N 期 walk-forward 抽样(全量训练请用 lottery-train)',
|
|
80
|
-
...summaries.map(formatBacktestLine),
|
|
81
|
-
'说明:Δ 接近 0 为正常;终权重见 lottery_model_weights。',
|
|
82
|
-
'推荐时若近端调优输给随机,将自动回退默认 F40/O35/T25(见【权重保护】)。',
|
|
83
|
-
];
|
|
84
|
-
return lines.join('\n');
|
|
85
|
-
}
|
|
86
|
-
export { trainGameWeights, trainAllGameWeights, formatTrainReport } from './train-weights.js';
|
|
87
|
-
//# sourceMappingURL=backtest.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"backtest.js","sourceRoot":"","sources":["../../src/evaluate/backtest.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|
package/lib/evaluate/hit-rate.js
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { DEFAULT_WEIGHTS } from '../types.js';
|
|
2
|
-
import { affinityOfNumbers, buildFreqMap, buildOmitMap, } from '../stats/pro-analysis.js';
|
|
3
|
-
import { analyzePoolTrend } from '../stats/engine.js';
|
|
4
|
-
import { mergeWeights } from '../stats/weights.js';
|
|
5
|
-
function intersectCount(a, b) {
|
|
6
|
-
const set = new Set(b);
|
|
7
|
-
return a.filter((n) => set.has(n)).length;
|
|
8
|
-
}
|
|
9
|
-
function digitPositionHits(pick, actual) {
|
|
10
|
-
const total = Math.min(pick.length, actual.length);
|
|
11
|
-
let hits = 0;
|
|
12
|
-
for (let i = 0; i < total; i++) {
|
|
13
|
-
if (pick[i] === actual[i])
|
|
14
|
-
hits++;
|
|
15
|
-
}
|
|
16
|
-
return { hits, total };
|
|
17
|
-
}
|
|
18
|
-
export function comparePickToDraw(pick, draw) {
|
|
19
|
-
const n = pick.numbers;
|
|
20
|
-
const a = draw.numbers;
|
|
21
|
-
switch (pick.gameId) {
|
|
22
|
-
case 'kl8': {
|
|
23
|
-
const p = n.main ?? [];
|
|
24
|
-
const act = a.main ?? [];
|
|
25
|
-
const hits = intersectCount(p, act);
|
|
26
|
-
return {
|
|
27
|
-
total: p.length,
|
|
28
|
-
hits,
|
|
29
|
-
rate: p.length ? hits / p.length : 0,
|
|
30
|
-
detail: `命中 ${hits}/${p.length}`,
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
case 'ssq': {
|
|
34
|
-
const redHits = intersectCount(n.red ?? [], a.red ?? []);
|
|
35
|
-
const blueHit = (n.blue?.[0] != null && a.blue?.includes(n.blue[0])) ? 1 : 0;
|
|
36
|
-
const total = 7;
|
|
37
|
-
const hits = redHits + blueHit;
|
|
38
|
-
return {
|
|
39
|
-
total,
|
|
40
|
-
hits,
|
|
41
|
-
rate: hits / total,
|
|
42
|
-
detail: `红${redHits}/6 蓝${blueHit}/1`,
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
case 'dlt': {
|
|
46
|
-
const fHits = intersectCount(n.front ?? [], a.front ?? []);
|
|
47
|
-
const bHits = intersectCount(n.back ?? [], a.back ?? []);
|
|
48
|
-
const total = 7;
|
|
49
|
-
const hits = fHits + bHits;
|
|
50
|
-
return {
|
|
51
|
-
total,
|
|
52
|
-
hits,
|
|
53
|
-
rate: hits / total,
|
|
54
|
-
detail: `前${fHits}/5 后${bHits}/2`,
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
case 'fc3d':
|
|
58
|
-
case 'pl3':
|
|
59
|
-
case 'pl5': {
|
|
60
|
-
const { hits, total } = digitPositionHits(n.digits ?? [], a.digits ?? []);
|
|
61
|
-
return {
|
|
62
|
-
total,
|
|
63
|
-
hits,
|
|
64
|
-
rate: total ? hits / total : 0,
|
|
65
|
-
detail: `定位 ${hits}/${total}`,
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
default:
|
|
69
|
-
return { total: 0, hits: 0, rate: 0, detail: '未知玩法' };
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
/** 根据开奖结果反推更优权重方向,用于渐进调优 */
|
|
73
|
-
export function tuneWeightsFromDraw(current, pick, actual, gameId, draws) {
|
|
74
|
-
const rows = draws.map((d) => flatNumbers(d.numbers, gameId)).filter((r) => r.length);
|
|
75
|
-
if (!rows.length)
|
|
76
|
-
return current;
|
|
77
|
-
const ranges = poolRange(gameId);
|
|
78
|
-
if (!ranges) {
|
|
79
|
-
return current;
|
|
80
|
-
}
|
|
81
|
-
const { min, max } = ranges;
|
|
82
|
-
const freqMap = buildFreqMap(rows, min, max);
|
|
83
|
-
const omitMap = buildOmitMap(rows, min, max);
|
|
84
|
-
const trendMap = analyzePoolTrend(rows, min, max);
|
|
85
|
-
const picked = flatNumbers(pick, gameId);
|
|
86
|
-
const actualNums = flatNumbers(actual, gameId);
|
|
87
|
-
const pickedAff = affinityOfNumbers(picked, freqMap, omitMap, trendMap);
|
|
88
|
-
const actualAff = affinityOfNumbers(actualNums, freqMap, omitMap, trendMap);
|
|
89
|
-
return mergeWeights(current, actualAff, 0.04);
|
|
90
|
-
}
|
|
91
|
-
function flatNumbers(n, gameId) {
|
|
92
|
-
if (gameId === 'kl8')
|
|
93
|
-
return n.main ?? [];
|
|
94
|
-
if (gameId === 'ssq')
|
|
95
|
-
return [...(n.red ?? []), ...(n.blue ?? [])];
|
|
96
|
-
if (gameId === 'dlt')
|
|
97
|
-
return [...(n.front ?? []), ...(n.back ?? [])];
|
|
98
|
-
return n.digits ?? [];
|
|
99
|
-
}
|
|
100
|
-
function poolRange(gameId) {
|
|
101
|
-
switch (gameId) {
|
|
102
|
-
case 'kl8':
|
|
103
|
-
return { min: 1, max: 80 };
|
|
104
|
-
case 'ssq':
|
|
105
|
-
return { min: 1, max: 33 };
|
|
106
|
-
case 'dlt':
|
|
107
|
-
return { min: 1, max: 35 };
|
|
108
|
-
case 'fc3d':
|
|
109
|
-
case 'pl3':
|
|
110
|
-
case 'pl5':
|
|
111
|
-
return { min: 0, max: 9 };
|
|
112
|
-
default:
|
|
113
|
-
return null;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
export function formatHitSummary(gameId, hit, issue) {
|
|
117
|
-
return `${gameId} 第${issue}期 ${hit.detail} (${(hit.rate * 100).toFixed(0)}%)`;
|
|
118
|
-
}
|
|
119
|
-
export { DEFAULT_WEIGHTS };
|
|
120
|
-
//# sourceMappingURL=hit-rate.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hit-rate.js","sourceRoot":"","sources":["../../src/evaluate/hit-rate.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,89 +0,0 @@
|
|
|
1
|
-
import { loadDraws } from '../db.js';
|
|
2
|
-
import { formatHitSummary } from './hit-rate.js';
|
|
3
|
-
import { listPendingPredictions, PREDICTIONS_TABLE, submitAgentReview, } from './tracker.js';
|
|
4
|
-
async function isIssueAlreadyReviewed(db, gameId, issue) {
|
|
5
|
-
const predModel = db.models.get(PREDICTIONS_TABLE);
|
|
6
|
-
if (!predModel)
|
|
7
|
-
return false;
|
|
8
|
-
const rows = (await predModel.select().where({
|
|
9
|
-
game_id: gameId,
|
|
10
|
-
status: 'evaluated',
|
|
11
|
-
actual_issue: issue,
|
|
12
|
-
}));
|
|
13
|
-
return rows.length > 0;
|
|
14
|
-
}
|
|
15
|
-
function drawsForReview(gameId, insertedDraws, latestInDb, stalePending) {
|
|
16
|
-
const inserted = insertedDraws
|
|
17
|
-
.filter((d) => d.gameId === gameId)
|
|
18
|
-
.sort((a, b) => a.issue.localeCompare(b.issue));
|
|
19
|
-
if (inserted.length)
|
|
20
|
-
return inserted;
|
|
21
|
-
if (stalePending && latestInDb)
|
|
22
|
-
return [latestInDb];
|
|
23
|
-
return [];
|
|
24
|
-
}
|
|
25
|
-
/** Match pending picks to new or latest draws; skip when nothing pending. */
|
|
26
|
-
export async function evaluatePendingPredictions(db, gameIds, historyLimit, insertedDraws = []) {
|
|
27
|
-
const lines = [];
|
|
28
|
-
let evaluated = 0;
|
|
29
|
-
let hadPending = false;
|
|
30
|
-
const today = new Date().toISOString().slice(0, 10);
|
|
31
|
-
for (const gameId of gameIds) {
|
|
32
|
-
const pending = (await listPendingPredictions(db, gameId));
|
|
33
|
-
if (!pending.length)
|
|
34
|
-
continue;
|
|
35
|
-
hadPending = true;
|
|
36
|
-
const stale = pending.filter((p) => p.predict_date < today);
|
|
37
|
-
const todayOnly = pending.filter((p) => p.predict_date === today);
|
|
38
|
-
const latest = (await loadDraws(db, gameId, 1))[0];
|
|
39
|
-
const useStale = stale.length > 0 && latest && !(await isIssueAlreadyReviewed(db, gameId, latest.issue));
|
|
40
|
-
const drawsToMatch = drawsForReview(gameId, insertedDraws, latest, useStale);
|
|
41
|
-
if (!drawsToMatch.length) {
|
|
42
|
-
if (todayOnly.length) {
|
|
43
|
-
lines.push(`${gameId}: waiting for next draw`);
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
lines.push(`${gameId}: pending, no matching draw yet`);
|
|
47
|
-
}
|
|
48
|
-
continue;
|
|
49
|
-
}
|
|
50
|
-
const pool = useStale ? [...stale] : [...pending];
|
|
51
|
-
const orderedPending = pool.sort((a, b) => a.predict_at.localeCompare(b.predict_at));
|
|
52
|
-
for (const draw of drawsToMatch) {
|
|
53
|
-
const row = orderedPending.shift();
|
|
54
|
-
if (!row)
|
|
55
|
-
break;
|
|
56
|
-
const hit = await submitAgentReview(db, {
|
|
57
|
-
gameId,
|
|
58
|
-
predictAt: row.predict_at,
|
|
59
|
-
actualIssue: draw.issue,
|
|
60
|
-
actualNumbers: draw.numbers,
|
|
61
|
-
analysis: '',
|
|
62
|
-
}, historyLimit);
|
|
63
|
-
if (hit) {
|
|
64
|
-
evaluated++;
|
|
65
|
-
lines.push(formatHitSummary(gameId, hit, draw.issue));
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
if (!hadPending) {
|
|
70
|
-
return { evaluated: 0, skipped: true, lines: ['no pending predictions'] };
|
|
71
|
-
}
|
|
72
|
-
return { evaluated, skipped: false, lines };
|
|
73
|
-
}
|
|
74
|
-
/** Games that still need a next-period pick (no pending row for today). */
|
|
75
|
-
export async function gamesNeedingPrediction(db, gameIds, date = new Date()) {
|
|
76
|
-
const today = date.toISOString().slice(0, 10);
|
|
77
|
-
const out = [];
|
|
78
|
-
for (const gid of gameIds) {
|
|
79
|
-
const pending = (await listPendingPredictions(db, gid));
|
|
80
|
-
if (!pending.some((p) => p.predict_date === today))
|
|
81
|
-
out.push(gid);
|
|
82
|
-
}
|
|
83
|
-
return out;
|
|
84
|
-
}
|
|
85
|
-
export async function latestDrawIssue(db, gameId) {
|
|
86
|
-
const draws = await loadDraws(db, gameId, 1);
|
|
87
|
-
return draws[0]?.issue ?? null;
|
|
88
|
-
}
|
|
89
|
-
//# sourceMappingURL=review-pending.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"review-pending.js","sourceRoot":"","sources":["../../src/evaluate/review-pending.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|