@hedgehog-finance/hedgehog-plugin 1.0.27 → 1.0.29

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/dist/index.js CHANGED
@@ -7,10 +7,32 @@ import { getDB } from "./src/core/database.js";
7
7
  import { logger } from "./src/core/logger.js";
8
8
  import { registerDailyMorningBriefingCron } from "./src/dailyMorningBriefingCron.js";
9
9
  const registeredToolApis = new WeakSet();
10
+ const registeredToolContextApis = new WeakSet();
11
+ const toolExecutionContexts = new Map();
12
+ function registerToolContextCapture(api) {
13
+ if (registeredToolContextApis.has(api))
14
+ return;
15
+ registeredToolContextApis.add(api);
16
+ api.on("before_tool_call", (_event, ctx) => {
17
+ if (!ctx.toolCallId)
18
+ return;
19
+ toolExecutionContexts.set(ctx.toolCallId, {
20
+ agentId: ctx.agentId,
21
+ sessionKey: ctx.sessionKey,
22
+ sessionId: ctx.sessionId,
23
+ runId: ctx.runId
24
+ });
25
+ });
26
+ api.on("after_tool_call", (event) => {
27
+ if (event.toolCallId)
28
+ toolExecutionContexts.delete(event.toolCallId);
29
+ });
30
+ }
10
31
  function registerFeatureTools(api) {
11
32
  if (registeredToolApis.has(api))
12
33
  return;
13
34
  registeredToolApis.add(api);
35
+ registerToolContextCapture(api);
14
36
  Object.entries(allFeaturesTools).forEach(([name, tool]) => {
15
37
  if (tool.registerTool === false && tool.agentToolTarget !== "main")
16
38
  return;
@@ -20,7 +42,7 @@ function registerFeatureTools(api) {
20
42
  description: tool.description,
21
43
  parameters: tool.parameters,
22
44
  async execute(_toolCallId, params) {
23
- const result = await tool.execute(params);
45
+ const result = await tool.execute(params, toolExecutionContexts.get(_toolCallId));
24
46
  const payload = JSON.parse(result);
25
47
  if (payload &&
26
48
  typeof payload === "object" &&
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -267,6 +267,9 @@ function runDailyMorningBriefingMigrations(db) {
267
267
  const snapshotColumn = tableColumnNames.has("watchlistSnapshot") ? "watchlistSnapshot" : "watchlistSnapshotJson";
268
268
  const statusColumn = tableColumnNames.has("status") ? "status" : "'completed'";
269
269
  const sessionIdColumn = tableColumnNames.has("sessionId") ? "sessionId" : "''";
270
+ const lastNudgeAtColumn = tableColumnNames.has("lastNudgeAt") ? "lastNudgeAt" : "''";
271
+ const nextRetryAtColumn = tableColumnNames.has("nextRetryAt") ? "nextRetryAt" : "''";
272
+ const attemptCountColumn = tableColumnNames.has("attemptCount") ? "attemptCount" : "0";
270
273
  db.exec("BEGIN");
271
274
  try {
272
275
  db.exec(`
@@ -279,13 +282,16 @@ function runDailyMorningBriefingMigrations(db) {
279
282
  content TEXT NOT NULL,
280
283
  status TEXT NOT NULL DEFAULT 'completed',
281
284
  sessionId TEXT NOT NULL DEFAULT '',
285
+ lastNudgeAt TEXT NOT NULL DEFAULT '',
286
+ nextRetryAt TEXT NOT NULL DEFAULT '',
287
+ attemptCount INTEGER NOT NULL DEFAULT 0,
282
288
  watchlistSnapshot TEXT NOT NULL DEFAULT '[]',
283
289
  createdAt DATETIME DEFAULT (STRFTIME('%Y-%m-%dT%H:%M:%fZ', 'NOW')),
284
290
  updatedAt DATETIME DEFAULT (STRFTIME('%Y-%m-%dT%H:%M:%fZ', 'NOW'))
285
291
  );
286
292
 
287
- INSERT INTO daily_morning_briefings_history (id, market, briefingDate, content, status, sessionId, watchlistSnapshot, createdAt, updatedAt)
288
- SELECT id, market, briefingDate, content, ${statusColumn}, ${sessionIdColumn}, ${snapshotColumn}, createdAt, updatedAt
293
+ INSERT INTO daily_morning_briefings_history (id, market, briefingDate, content, status, sessionId, lastNudgeAt, nextRetryAt, attemptCount, watchlistSnapshot, createdAt, updatedAt)
294
+ SELECT id, market, briefingDate, content, ${statusColumn}, ${sessionIdColumn}, ${lastNudgeAtColumn}, ${nextRetryAtColumn}, ${attemptCountColumn}, ${snapshotColumn}, createdAt, updatedAt
289
295
  FROM daily_morning_briefings;
290
296
 
291
297
  DROP TABLE daily_morning_briefings;
@@ -316,6 +322,15 @@ function runDailyMorningBriefingSchemaMigrations(db) {
316
322
  if (!columnNames.has("sessionId")) {
317
323
  db.prepare("ALTER TABLE daily_morning_briefings ADD COLUMN sessionId TEXT NOT NULL DEFAULT ''").run();
318
324
  }
325
+ if (!columnNames.has("lastNudgeAt")) {
326
+ db.prepare("ALTER TABLE daily_morning_briefings ADD COLUMN lastNudgeAt TEXT NOT NULL DEFAULT ''").run();
327
+ }
328
+ if (!columnNames.has("nextRetryAt")) {
329
+ db.prepare("ALTER TABLE daily_morning_briefings ADD COLUMN nextRetryAt TEXT NOT NULL DEFAULT ''").run();
330
+ }
331
+ if (!columnNames.has("attemptCount")) {
332
+ db.prepare("ALTER TABLE daily_morning_briefings ADD COLUMN attemptCount INTEGER NOT NULL DEFAULT 0").run();
333
+ }
319
334
  }
320
335
  function runStockAiAnalysisMigrations(db) {
321
336
  const tableColumns = db.prepare("PRAGMA table_info(stock_ai_analysis)").all();
@@ -778,6 +793,9 @@ export function getDB() {
778
793
  content TEXT NOT NULL,
779
794
  status TEXT NOT NULL DEFAULT 'completed',
780
795
  sessionId TEXT NOT NULL DEFAULT '',
796
+ lastNudgeAt TEXT NOT NULL DEFAULT '',
797
+ nextRetryAt TEXT NOT NULL DEFAULT '',
798
+ attemptCount INTEGER NOT NULL DEFAULT 0,
781
799
  watchlistSnapshot TEXT NOT NULL DEFAULT '[]',
782
800
  createdAt DATETIME DEFAULT (STRFTIME('%Y-%m-%dT%H:%M:%fZ', 'NOW')),
783
801
  updatedAt DATETIME DEFAULT (STRFTIME('%Y-%m-%dT%H:%M:%fZ', 'NOW'))
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../src/core/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../src/core/database.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,10 @@ const DAILY_MORNING_BRIEFING_SESSION_KEY = `cron:${DAILY_MORNING_BRIEFING_CRON_I
6
6
  const DAILY_MORNING_BRIEFING_SKILL = "hedgehog-daily-morning-briefing";
7
7
  const DAILY_MORNING_BRIEFING_MESSAGE = JSON.stringify({
8
8
  cw_system_prompt: [
9
- "开始分析前必须先调用 save_daily_morning_briefing,参数为 {\"status\":\"generating\",\"content\":\"\"};如果返回 skipped=true,必须立即停止,不要继续调用 skill 或生成正文。",
10
- `必须触发并使用 ${DAILY_MORNING_BRIEFING_SKILL} skill 生成盘前简报。`,
11
- "生成成功后必须调用 save_daily_morning_briefing,参数为 {\"status\":\"completed\",\"content\":\"...\"},content 传最终完整早报正文。",
12
- "生成失败后必须调用 save_daily_morning_briefing,参数为 {\"status\":\"failed\",\"content\":\"...\"},content 存放完整错误信息。",
13
- "如果最终内容包含 [图表数据],正文必须已经包含所有对应图表占位符。"
9
+ "必须先调用 dispatch_daily_morning_briefing,参数为 {}",
10
+ "dispatch_daily_morning_briefing 会负责判断 7:30 前跳过、当天已完成跳过、当天生成中则唤醒当天生成会话、当天未触发则启动当天生成会话。",
11
+ "调用 dispatch_daily_morning_briefing 后必须立即停止,不要直接调用 save_daily_morning_briefing、不要直接触发 skill、不要自行生成早报正文。",
12
+ `真正的每日早报生成会在按日期隔离的会话中触发并使用 ${DAILY_MORNING_BRIEFING_SKILL} skill 完成。`
14
13
  ].join("\n"),
15
14
  cw_market: "CN",
16
15
  cw_content: [
@@ -32,7 +31,7 @@ function buildDailyMorningBriefingCronConfig(existing) {
32
31
  enabled: true,
33
32
  schedule: {
34
33
  kind: "cron",
35
- expr: "30 7 * * *",
34
+ expr: "*/30 * * * *",
36
35
  ...(existingTz ? { tz: existingTz } : {})
37
36
  },
38
37
  sessionTarget: "isolated",
@@ -1 +1 @@
1
- {"version":3,"file":"dailyMorningBriefingCron.js","sourceRoot":"","sources":["../../src/dailyMorningBriefingCron.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dailyMorningBriefingCron.js","sourceRoot":"","sources":["../../src/dailyMorningBriefingCron.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,10 @@ interface RuntimeTool {
5
5
  parameters: unknown;
6
6
  registerTool?: boolean;
7
7
  execute(params: unknown, ctx?: {
8
- userId: string;
8
+ userId?: string;
9
+ sessionKey?: string;
10
+ sessionId?: string;
11
+ runId?: string;
9
12
  }): Promise<string>;
10
13
  }
11
14
  export declare const dailyMorningBriefingTools: Record<string, RuntimeTool>;
@@ -1,7 +1,20 @@
1
1
  import { getDB } from "../../core/database.js";
2
- import { ensureChartPlaceholdersInBody } from "../chartOutput.js";
2
+ import { getHedgehogRuntime } from "../../runtime.js";
3
+ import { HEDGEHOG_AGENT_ID } from "../../openclawConstants.js";
4
+ import { CHART_OUTPUT_GUIDANCE, ensureChartPlaceholdersInBody } from "../chartOutput.js";
3
5
  import { GetDailyMorningBriefingDetailParamsSchema, QueryDailyMorningBriefingsParamsSchema, SaveDailyMorningBriefingParamsSchema } from "./schema.js";
4
6
  const DAILY_MORNING_BRIEFING_MARKET = "CN";
7
+ const DAILY_MORNING_BRIEFING_START_HOUR = 7;
8
+ const DAILY_MORNING_BRIEFING_START_MINUTE = 30;
9
+ const DAILY_MORNING_BRIEFING_CRON_ID = "hedgehog_daily_morning_briefing";
10
+ const DAILY_MORNING_BRIEFING_SKILL = "hedgehog-daily-morning-briefing";
11
+ const DAILY_MORNING_BRIEFING_CONTINUE_MESSAGE = "完成了吗,如果没完成请继续";
12
+ const DAILY_MORNING_BRIEFING_NUDGE_INTERVAL_MS = 30 * 60 * 1000;
13
+ const DAILY_MORNING_BRIEFING_MAX_ATTEMPTS_PER_DAY = 3;
14
+ const DAILY_MORNING_BRIEFING_FAILED_RETRY_COOLDOWNS_MS = [
15
+ 30 * 60 * 1000,
16
+ 60 * 60 * 1000
17
+ ];
5
18
  const SaveDailyMorningBriefingAgentToolSchema = {
6
19
  type: "object",
7
20
  additionalProperties: false,
@@ -11,6 +24,26 @@ const SaveDailyMorningBriefingAgentToolSchema = {
11
24
  status: { type: "string", enum: ["generating", "completed", "failed"], description: "保存状态:generating 表示开始生成,completed 表示生成成功,failed 表示生成失败" }
12
25
  }
13
26
  };
27
+ const DispatchDailyMorningBriefingAgentToolSchema = {
28
+ type: "object",
29
+ additionalProperties: false,
30
+ properties: {}
31
+ };
32
+ const DAILY_MORNING_BRIEFING_GENERATION_MESSAGE = JSON.stringify({
33
+ cw_system_prompt: [
34
+ "开始分析前必须先调用 save_daily_morning_briefing,参数为 {\"status\":\"generating\",\"content\":\"\"};如果返回 skipped=true,必须立即停止,不要继续调用 skill 或生成正文。",
35
+ `必须触发并使用 ${DAILY_MORNING_BRIEFING_SKILL} skill 生成盘前简报。`,
36
+ "生成成功后必须调用 save_daily_morning_briefing,参数为 {\"status\":\"completed\",\"content\":\"...\"},content 传最终完整早报正文。",
37
+ "生成失败后必须调用 save_daily_morning_briefing,参数为 {\"status\":\"failed\",\"content\":\"...\"},content 存放完整错误信息。",
38
+ "如果最终内容包含 [图表数据],正文必须已经包含所有对应图表占位符。"
39
+ ].join("\n"),
40
+ cw_market: "CN",
41
+ cw_content: "生成每日早报",
42
+ cw_output: [
43
+ `输出结构以 ${DAILY_MORNING_BRIEFING_SKILL} skill 的交付模板为准。`,
44
+ CHART_OUTPUT_GUIDANCE
45
+ ].join("\n")
46
+ });
14
47
  function normalizeMarket(market) {
15
48
  const raw = market.trim().toUpperCase();
16
49
  if (raw === "A股" || raw === "中国股市" || raw === "MARKETS.CN")
@@ -24,11 +57,48 @@ function getLocalDateString() {
24
57
  const day = String(now.getDate()).padStart(2, "0");
25
58
  return `${year}-${month}-${day}`;
26
59
  }
60
+ function getUnixMsFromDbTimestamp(value) {
61
+ if (!value)
62
+ return 0;
63
+ const timestamp = Date.parse(value);
64
+ return Number.isFinite(timestamp) ? timestamp : 0;
65
+ }
66
+ function toDbTimestamp(ms) {
67
+ return new Date(ms).toISOString();
68
+ }
69
+ function getFailedRetryCooldownMs(attemptCount) {
70
+ if (attemptCount >= DAILY_MORNING_BRIEFING_MAX_ATTEMPTS_PER_DAY)
71
+ return undefined;
72
+ return DAILY_MORNING_BRIEFING_FAILED_RETRY_COOLDOWNS_MS[Math.max(0, attemptCount - 1)] ?? DAILY_MORNING_BRIEFING_FAILED_RETRY_COOLDOWNS_MS[DAILY_MORNING_BRIEFING_FAILED_RETRY_COOLDOWNS_MS.length - 1];
73
+ }
74
+ function getNextRetryAtForFailedAttempt(attemptCount, nowMs = Date.now()) {
75
+ const cooldownMs = getFailedRetryCooldownMs(attemptCount);
76
+ return typeof cooldownMs === "number" ? toDbTimestamp(nowMs + cooldownMs) : "";
77
+ }
78
+ function getHalfHourBucket() {
79
+ const now = new Date();
80
+ const year = now.getFullYear();
81
+ const month = String(now.getMonth() + 1).padStart(2, "0");
82
+ const day = String(now.getDate()).padStart(2, "0");
83
+ const hour = String(now.getHours()).padStart(2, "0");
84
+ const minute = now.getMinutes() < 30 ? "00" : "30";
85
+ return `${year}${month}${day}${hour}${minute}`;
86
+ }
87
+ function isBeforeDailyMorningBriefingStart() {
88
+ const now = new Date();
89
+ const currentMinutes = now.getHours() * 60 + now.getMinutes();
90
+ const startMinutes = DAILY_MORNING_BRIEFING_START_HOUR * 60 + DAILY_MORNING_BRIEFING_START_MINUTE;
91
+ return currentMinutes < startMinutes;
92
+ }
27
93
  function buildDailyMorningBriefingId(market, briefingDate) {
28
94
  return `daily_morning_briefing_${market}_${briefingDate}`;
29
95
  }
30
96
  function buildDailyMorningBriefingSessionId(market, briefingDate) {
31
- return `daily_morning_briefing_${market}_${briefingDate}_${Date.now()}`;
97
+ return `agent:${HEDGEHOG_AGENT_ID}:cron:${DAILY_MORNING_BRIEFING_CRON_ID}:${market}:${briefingDate}`;
98
+ }
99
+ function buildDailyMorningBriefingAttemptSessionId(market, briefingDate, attemptCount) {
100
+ const base = buildDailyMorningBriefingSessionId(market, briefingDate);
101
+ return attemptCount > 1 ? `${base}:attempt:${attemptCount}` : base;
32
102
  }
33
103
  function selectDailyMorningBriefing(db, id) {
34
104
  const row = db.prepare(`
@@ -65,18 +135,6 @@ function selectExistingActiveDailyMorningBriefing(db, market, briefingDate) {
65
135
  `).get(market, briefingDate);
66
136
  return row ? selectDailyMorningBriefing(db, row.id) : undefined;
67
137
  }
68
- function selectGeneratingDailyMorningBriefing(db, market, briefingDate) {
69
- const row = db.prepare(`
70
- SELECT id
71
- FROM daily_morning_briefings
72
- WHERE market = ?
73
- AND briefingDate = ?
74
- AND status = 'generating'
75
- ORDER BY updatedAt DESC, createdAt DESC
76
- LIMIT 1
77
- `).get(market, briefingDate);
78
- return row ? selectDailyMorningBriefing(db, row.id) : undefined;
79
- }
80
138
  function mapDailyMorningBriefingRow(row) {
81
139
  return {
82
140
  id: row.id,
@@ -118,14 +176,151 @@ function getFullWatchlistSnapshot(db) {
118
176
  };
119
177
  });
120
178
  }
179
+ function insertGeneratingDailyMorningBriefing(db, market, briefingDate, id, sessionId, watchlistSnapshot) {
180
+ db.prepare(`
181
+ INSERT INTO daily_morning_briefings (id, market, briefingDate, content, status, sessionId, lastNudgeAt, nextRetryAt, attemptCount, watchlistSnapshot)
182
+ VALUES (?, ?, ?, '', 'generating', ?, '', '', 1, ?)
183
+ `).run(id, market, briefingDate, sessionId, watchlistSnapshot);
184
+ return selectDailyMorningBriefing(db, id);
185
+ }
186
+ function markDailyMorningBriefingFailed(db, id, content) {
187
+ const row = db.prepare(`
188
+ SELECT attemptCount
189
+ FROM daily_morning_briefings
190
+ WHERE id = ?
191
+ `).get(id);
192
+ const attemptCount = Math.max(1, Number(row?.attemptCount) || 1);
193
+ const result = db.prepare(`
194
+ UPDATE daily_morning_briefings
195
+ SET status = 'failed',
196
+ content = ?,
197
+ nextRetryAt = ?,
198
+ updatedAt = STRFTIME('%Y-%m-%dT%H:%M:%fZ', 'NOW')
199
+ WHERE id = ?
200
+ `).run(content, getNextRetryAtForFailedAttempt(attemptCount), id);
201
+ return result.changes > 0;
202
+ }
203
+ function claimDailyMorningBriefingDispatch(db, market, briefingDate) {
204
+ if (isBeforeDailyMorningBriefingStart()) {
205
+ return { action: "skip", reason: "before_start_time" };
206
+ }
207
+ const id = buildDailyMorningBriefingId(market, briefingDate);
208
+ const watchlistSnapshot = JSON.stringify(getFullWatchlistSnapshot(db));
209
+ db.exec("BEGIN IMMEDIATE");
210
+ try {
211
+ const existing = db.prepare(`
212
+ SELECT id, market, briefingDate, content, status, sessionId, lastNudgeAt, nextRetryAt, attemptCount, watchlistSnapshot, createdAt, updatedAt
213
+ FROM daily_morning_briefings
214
+ WHERE id = ?
215
+ `).get(id);
216
+ if (existing?.status === "completed") {
217
+ db.exec("COMMIT");
218
+ return { action: "skip", reason: "already_completed", data: mapDailyMorningBriefingRow(existing) };
219
+ }
220
+ if (existing?.status === "generating") {
221
+ const lastNudgeAtMs = getUnixMsFromDbTimestamp(existing.lastNudgeAt);
222
+ if (lastNudgeAtMs > 0 && Date.now() - lastNudgeAtMs < DAILY_MORNING_BRIEFING_NUDGE_INTERVAL_MS) {
223
+ db.exec("COMMIT");
224
+ return { action: "skip", reason: "nudge_throttled", data: mapDailyMorningBriefingRow(existing) };
225
+ }
226
+ db.prepare(`
227
+ UPDATE daily_morning_briefings
228
+ SET lastNudgeAt = STRFTIME('%Y-%m-%dT%H:%M:%fZ', 'NOW'),
229
+ updatedAt = STRFTIME('%Y-%m-%dT%H:%M:%fZ', 'NOW')
230
+ WHERE id = ?
231
+ AND status = 'generating'
232
+ `).run(id);
233
+ const data = selectDailyMorningBriefing(db, id);
234
+ db.exec("COMMIT");
235
+ return { action: "continue", data, idempotencyKey: `${id}:continue:${getHalfHourBucket()}` };
236
+ }
237
+ if (existing) {
238
+ const currentAttemptCount = Math.max(0, Number(existing.attemptCount) || 0);
239
+ const nextAttemptCount = currentAttemptCount > 0 ? currentAttemptCount + 1 : 1;
240
+ if (nextAttemptCount > DAILY_MORNING_BRIEFING_MAX_ATTEMPTS_PER_DAY) {
241
+ db.exec("COMMIT");
242
+ return { action: "skip", reason: "max_attempts_reached", data: mapDailyMorningBriefingRow(existing) };
243
+ }
244
+ const nextRetryAtMs = getUnixMsFromDbTimestamp(existing.nextRetryAt);
245
+ if (nextRetryAtMs > Date.now()) {
246
+ db.exec("COMMIT");
247
+ return { action: "skip", reason: "retry_cooling_down", nextRetryAt: existing.nextRetryAt, data: mapDailyMorningBriefingRow(existing) };
248
+ }
249
+ const sessionId = buildDailyMorningBriefingAttemptSessionId(market, briefingDate, nextAttemptCount);
250
+ db.prepare(`
251
+ UPDATE daily_morning_briefings
252
+ SET content = '',
253
+ status = 'generating',
254
+ sessionId = ?,
255
+ lastNudgeAt = '',
256
+ nextRetryAt = '',
257
+ attemptCount = ?,
258
+ watchlistSnapshot = ?,
259
+ updatedAt = STRFTIME('%Y-%m-%dT%H:%M:%fZ', 'NOW')
260
+ WHERE id = ?
261
+ AND status != 'completed'
262
+ `).run(sessionId, nextAttemptCount, watchlistSnapshot, id);
263
+ }
264
+ else {
265
+ insertGeneratingDailyMorningBriefing(db, market, briefingDate, id, buildDailyMorningBriefingAttemptSessionId(market, briefingDate, 1), watchlistSnapshot);
266
+ }
267
+ const data = selectDailyMorningBriefing(db, id);
268
+ db.exec("COMMIT");
269
+ return { action: "start", data, idempotencyKey: `${id}:start:${data.sessionId}` };
270
+ }
271
+ catch (e) {
272
+ if (db.inTransaction)
273
+ db.exec("ROLLBACK");
274
+ throw e;
275
+ }
276
+ }
121
277
  export const dailyMorningBriefingTools = {
278
+ dispatch_daily_morning_briefing: {
279
+ name: "dispatch_daily_morning_briefing",
280
+ label: "调度每日盘前早报",
281
+ description: "调度每日盘前早报。7:30 前跳过;当天已完成则跳过;当天生成中则向当天生成会话发送“完成了吗,如果没完成请继续”;当天未触发则创建当天生成记录并在按日期隔离的会话中启动早报生成。",
282
+ parameters: DispatchDailyMorningBriefingAgentToolSchema,
283
+ registerTool: true,
284
+ async execute() {
285
+ const db = getDB();
286
+ const market = DAILY_MORNING_BRIEFING_MARKET;
287
+ const briefingDate = getLocalDateString();
288
+ const decision = claimDailyMorningBriefingDispatch(db, market, briefingDate);
289
+ if (decision.action === "skip") {
290
+ return JSON.stringify({ success: true, skipped: true, reason: decision.reason, nextRetryAt: decision.nextRetryAt, data: decision.data });
291
+ }
292
+ const runtime = getHedgehogRuntime();
293
+ if (decision.action === "continue") {
294
+ await runtime.subagent.run({
295
+ sessionKey: decision.data.sessionId,
296
+ message: DAILY_MORNING_BRIEFING_CONTINUE_MESSAGE,
297
+ deliver: false,
298
+ idempotencyKey: decision.idempotencyKey
299
+ });
300
+ return JSON.stringify({ success: true, skipped: true, reason: "already_generating", action: "continued", data: decision.data });
301
+ }
302
+ try {
303
+ await runtime.subagent.run({
304
+ sessionKey: decision.data.sessionId,
305
+ message: DAILY_MORNING_BRIEFING_GENERATION_MESSAGE,
306
+ deliver: false,
307
+ idempotencyKey: decision.idempotencyKey
308
+ });
309
+ }
310
+ catch (e) {
311
+ markDailyMorningBriefingFailed(db, decision.data.id, e instanceof Error ? e.message : String(e));
312
+ throw e;
313
+ }
314
+ return JSON.stringify({ success: true, action: "started", data: decision.data });
315
+ }
316
+ },
122
317
  save_daily_morning_briefing: {
123
318
  name: "save_daily_morning_briefing",
124
319
  label: "保存每日盘前早报",
125
320
  description: "保存每日盘前早报的生成进度和最终结果。生成前必须先以 status=generating、content=\"\" 调用;生成成功后以 status=completed 保存完整正文 content;生成失败后以 status=failed 保存完整错误信息。未传 id 时会自动使用当天固定记录,完成或失败时可直接更新当天早报。",
126
321
  parameters: SaveDailyMorningBriefingAgentToolSchema,
127
322
  registerTool: true,
128
- async execute(params) {
323
+ async execute(params, ctx) {
129
324
  const args = SaveDailyMorningBriefingParamsSchema.parse(params);
130
325
  const db = getDB();
131
326
  const market = DAILY_MORNING_BRIEFING_MARKET;
@@ -136,28 +331,50 @@ export const dailyMorningBriefingTools = {
136
331
  FROM daily_morning_briefings
137
332
  WHERE id = ?
138
333
  `).get(id);
139
- const sessionId = existing?.sessionId || buildDailyMorningBriefingSessionId(market, briefingDate);
334
+ const expectedSessionId = buildDailyMorningBriefingSessionId(market, briefingDate);
335
+ const currentSessionId = ctx?.sessionKey?.trim() || ctx?.sessionId?.trim() || "";
336
+ const sessionId = existing?.sessionId || expectedSessionId;
140
337
  if (args.status === "generating") {
141
- const generating = selectGeneratingDailyMorningBriefing(db, market, briefingDate);
142
- if (generating) {
143
- return JSON.stringify({ success: true, skipped: true, reason: "already_generating", data: generating });
338
+ if (isBeforeDailyMorningBriefingStart()) {
339
+ return JSON.stringify({ success: true, skipped: true, reason: "before_start_time" });
340
+ }
341
+ const active = selectExistingActiveDailyMorningBriefing(db, market, briefingDate);
342
+ if (active) {
343
+ if (active.status === "generating" && currentSessionId && active.sessionId === currentSessionId) {
344
+ return JSON.stringify({ success: true, data: active });
345
+ }
346
+ const reason = active.status === "generating" ? "already_generating" : "already_completed";
347
+ return JSON.stringify({ success: true, skipped: true, reason, data: active });
144
348
  }
145
349
  }
146
350
  const watchlistSnapshot = JSON.stringify(getFullWatchlistSnapshot(db));
147
351
  const content = args.status === "completed" ? ensureChartPlaceholdersInBody(args.content) : args.content.trim();
352
+ const nextRetryAt = args.status === "failed" ? getNextRetryAtForFailedAttempt(1) : "";
353
+ if (args.status === "failed") {
354
+ const updated = markDailyMorningBriefingFailed(db, id, content);
355
+ if (!updated) {
356
+ db.prepare(`
357
+ INSERT INTO daily_morning_briefings (id, market, briefingDate, content, status, sessionId, nextRetryAt, attemptCount, watchlistSnapshot)
358
+ VALUES (?, ?, ?, ?, 'failed', ?, ?, 1, ?)
359
+ `).run(id, market, briefingDate, content, sessionId, nextRetryAt, watchlistSnapshot);
360
+ }
361
+ return JSON.stringify({ success: true, data: selectDailyMorningBriefing(db, id) });
362
+ }
148
363
  const result = db.prepare(`
149
364
  UPDATE daily_morning_briefings
150
365
  SET content = ?,
151
366
  status = ?,
152
367
  watchlistSnapshot = ?,
368
+ sessionId = CASE WHEN ? != '' THEN ? ELSE sessionId END,
369
+ nextRetryAt = ?,
153
370
  updatedAt = STRFTIME('%Y-%m-%dT%H:%M:%fZ', 'NOW')
154
371
  WHERE id = ?
155
- `).run(content, args.status, watchlistSnapshot, id);
372
+ `).run(content, args.status, watchlistSnapshot, sessionId, sessionId, nextRetryAt, id);
156
373
  if (result.changes === 0) {
157
374
  db.prepare(`
158
- INSERT INTO daily_morning_briefings (id, market, briefingDate, content, status, sessionId, watchlistSnapshot)
159
- VALUES (?, ?, ?, ?, ?, ?, ?)
160
- `).run(id, market, briefingDate, content, args.status, sessionId, watchlistSnapshot);
375
+ INSERT INTO daily_morning_briefings (id, market, briefingDate, content, status, sessionId, lastNudgeAt, nextRetryAt, attemptCount, watchlistSnapshot)
376
+ VALUES (?, ?, ?, ?, ?, ?, '', '', ?, ?)
377
+ `).run(id, market, briefingDate, content, args.status, sessionId, args.status === "generating" ? 1 : 0, watchlistSnapshot);
161
378
  }
162
379
  const data = selectDailyMorningBriefing(db, id);
163
380
  return JSON.stringify({ success: true, data });
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../../src/features/dailyMorningBriefing/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../../src/features/dailyMorningBriefing/tools.ts"],"names":[],"mappings":"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"}