@hedgehog-finance/hedgehog-plugin 1.0.21 → 1.0.23
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.d.ts +4 -3
- package/dist/index.js +49 -6
- package/dist/index.js.map +1 -1
- package/dist/setup-api.d.ts +2 -0
- package/dist/setup-api.js +8 -0
- package/dist/setup-api.js.map +1 -0
- package/dist/src/channel.js +25 -23
- package/dist/src/channel.js.map +1 -1
- package/dist/src/core/database.js +449 -39
- package/dist/src/core/database.js.map +1 -1
- package/dist/src/dailyMorningBriefingCron.d.ts +46 -0
- package/dist/src/dailyMorningBriefingCron.js +82 -0
- package/dist/src/dailyMorningBriefingCron.js.map +1 -0
- package/dist/src/features/chartOutput.d.ts +2 -0
- package/dist/src/features/chartOutput.js +35 -0
- package/dist/src/features/chartOutput.js.map +1 -0
- package/dist/src/features/dailyMorningBriefing/schema.d.ts +56 -0
- package/dist/src/features/dailyMorningBriefing/schema.js +22 -0
- package/dist/src/features/dailyMorningBriefing/schema.js.map +1 -0
- package/dist/src/features/dailyMorningBriefing/tools.d.ts +12 -0
- package/dist/src/features/dailyMorningBriefing/tools.js +204 -0
- package/dist/src/features/dailyMorningBriefing/tools.js.map +1 -0
- package/dist/src/features/deepReasoning/schema.d.ts +43 -0
- package/dist/src/features/deepReasoning/schema.js +17 -0
- package/dist/src/features/deepReasoning/schema.js.map +1 -0
- package/dist/src/features/deepReasoning/tools.d.ts +12 -0
- package/dist/src/features/deepReasoning/tools.js +163 -0
- package/dist/src/features/deepReasoning/tools.js.map +1 -0
- package/dist/src/features/index.d.ts +2 -1
- package/dist/src/features/index.js +9 -1
- package/dist/src/features/index.js.map +1 -1
- package/dist/src/features/informationVerification/schema.d.ts +43 -0
- package/dist/src/features/informationVerification/schema.js +17 -0
- package/dist/src/features/informationVerification/schema.js.map +1 -0
- package/dist/src/features/informationVerification/tools.d.ts +12 -0
- package/dist/src/features/informationVerification/tools.js +162 -0
- package/dist/src/features/informationVerification/tools.js.map +1 -0
- package/dist/src/features/notes/schema.d.ts +136 -39
- package/dist/src/features/notes/schema.js +13 -10
- package/dist/src/features/notes/schema.js.map +1 -1
- package/dist/src/features/notes/tools.d.ts +1 -0
- package/dist/src/features/notes/tools.js +47 -14
- package/dist/src/features/notes/tools.js.map +1 -1
- package/dist/src/features/pluginInfo/schema.d.ts +79 -0
- package/dist/src/features/pluginInfo/schema.js +14 -0
- package/dist/src/features/pluginInfo/schema.js.map +1 -0
- package/dist/src/features/pluginInfo/tools.d.ts +1 -0
- package/dist/src/features/pluginInfo/tools.js +157 -2
- package/dist/src/features/pluginInfo/tools.js.map +1 -1
- package/dist/src/features/profileLibrary/schema.d.ts +34 -6
- package/dist/src/features/profileLibrary/schema.js +1 -1
- package/dist/src/features/profileLibrary/schema.js.map +1 -1
- package/dist/src/features/stockAnalysis/schema.d.ts +224 -31
- package/dist/src/features/stockAnalysis/schema.js +76 -12
- package/dist/src/features/stockAnalysis/schema.js.map +1 -1
- package/dist/src/features/stockAnalysis/tools.d.ts +6 -4
- package/dist/src/features/stockAnalysis/tools.js +389 -44
- package/dist/src/features/stockAnalysis/tools.js.map +1 -1
- package/dist/src/features/stockBasic/schema.d.ts +149 -0
- package/dist/src/features/stockBasic/schema.js +26 -0
- package/dist/src/features/stockBasic/schema.js.map +1 -0
- package/dist/src/features/stockBasic/tools.d.ts +12 -0
- package/dist/src/features/stockBasic/tools.js +124 -0
- package/dist/src/features/stockBasic/tools.js.map +1 -0
- package/dist/src/features/watchlist/logic.d.ts +3 -3
- package/dist/src/features/watchlist/logic.js +47 -46
- package/dist/src/features/watchlist/logic.js.map +1 -1
- package/dist/src/features/watchlist/schema.d.ts +89 -54
- package/dist/src/features/watchlist/schema.js +7 -4
- package/dist/src/features/watchlist/schema.js.map +1 -1
- package/dist/src/features/watchlist/tools.d.ts +106 -59
- package/dist/src/features/watchlist/tools.js +182 -104
- package/dist/src/features/watchlist/tools.js.map +1 -1
- package/dist/src/openclawConfig.d.ts +6 -0
- package/dist/src/openclawConfig.js +74 -0
- package/dist/src/openclawConfig.js.map +1 -0
- package/dist/src/openclawConstants.d.ts +4 -0
- package/dist/src/openclawConstants.js +10 -0
- package/dist/src/openclawConstants.js.map +1 -0
- package/dist/src/runtime.js +20 -0
- package/dist/src/runtime.js.map +1 -1
- package/index.ts +52 -5
- package/openclaw.plugin.json +24 -0
- package/package.json +20 -5
- package/setup-api.ts +10 -0
- package/src/channel.ts +26 -25
- package/src/core/database.ts +447 -40
- package/src/dailyMorningBriefingCron.ts +129 -0
- package/src/features/chartOutput.ts +35 -0
- package/src/features/dailyMorningBriefing/schema.ts +38 -0
- package/src/features/dailyMorningBriefing/tools.ts +246 -0
- package/src/features/deepReasoning/schema.ts +22 -0
- package/src/features/deepReasoning/tools.ts +182 -0
- package/src/features/index.ts +11 -2
- package/src/features/informationVerification/schema.ts +22 -0
- package/src/features/informationVerification/tools.ts +181 -0
- package/src/features/notes/schema.ts +17 -12
- package/src/features/notes/tools.ts +54 -17
- package/src/features/pluginInfo/schema.ts +19 -0
- package/src/features/pluginInfo/tools.ts +173 -2
- package/src/features/profileLibrary/schema.ts +1 -1
- package/src/features/stockAnalysis/schema.ts +99 -17
- package/src/features/stockAnalysis/tools.ts +447 -49
- package/src/features/stockBasic/schema.ts +33 -0
- package/src/features/stockBasic/tools.ts +157 -0
- package/src/features/watchlist/logic.ts +56 -53
- package/src/features/watchlist/schema.ts +11 -6
- package/src/features/watchlist/tools.ts +191 -106
- package/src/openclawConfig.ts +101 -0
- package/src/openclawConstants.ts +11 -0
- package/src/runtime.ts +19 -0
|
@@ -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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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { OpenClawPluginApi } from "openclaw/plugin-sdk/core";
|
|
2
|
+
type CronServiceLike = {
|
|
3
|
+
list(opts?: {
|
|
4
|
+
includeDisabled?: boolean;
|
|
5
|
+
}): Promise<CronJobLike[]>;
|
|
6
|
+
add(input: DailyMorningBriefingCronConfig): Promise<unknown>;
|
|
7
|
+
update(id: string, patch: DailyMorningBriefingCronConfig): Promise<unknown>;
|
|
8
|
+
remove(id: string): Promise<{
|
|
9
|
+
ok?: boolean;
|
|
10
|
+
removed?: boolean;
|
|
11
|
+
} | undefined>;
|
|
12
|
+
};
|
|
13
|
+
type CronJobLike = {
|
|
14
|
+
id?: string;
|
|
15
|
+
name?: string;
|
|
16
|
+
sessionKey?: string;
|
|
17
|
+
schedule?: {
|
|
18
|
+
kind?: string;
|
|
19
|
+
tz?: unknown;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
type DailyMorningBriefingCronConfig = {
|
|
23
|
+
agentId: string;
|
|
24
|
+
name: string;
|
|
25
|
+
description: string;
|
|
26
|
+
enabled: boolean;
|
|
27
|
+
schedule: {
|
|
28
|
+
kind: "cron";
|
|
29
|
+
expr: string;
|
|
30
|
+
tz?: string;
|
|
31
|
+
};
|
|
32
|
+
sessionTarget: "isolated";
|
|
33
|
+
wakeMode: "now";
|
|
34
|
+
payload: {
|
|
35
|
+
kind: "agentTurn";
|
|
36
|
+
message: string;
|
|
37
|
+
timeoutSeconds: number;
|
|
38
|
+
};
|
|
39
|
+
delivery: {
|
|
40
|
+
mode: "none";
|
|
41
|
+
};
|
|
42
|
+
deleteAfterRun: false;
|
|
43
|
+
};
|
|
44
|
+
export declare function ensureDailyMorningBriefingCron(cron: CronServiceLike | undefined): Promise<void>;
|
|
45
|
+
export declare function registerDailyMorningBriefingCron(api: OpenClawPluginApi): void;
|
|
46
|
+
export {};
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { logger } from "./core/logger.js";
|
|
2
|
+
import { CHART_OUTPUT_GUIDANCE } from "./features/chartOutput.js";
|
|
3
|
+
import { HEDGEHOG_AGENT_ID } from "./openclawConstants.js";
|
|
4
|
+
const DAILY_MORNING_BRIEFING_CRON_ID = "hedgehog_daily_morning_briefing";
|
|
5
|
+
const DAILY_MORNING_BRIEFING_SESSION_KEY = `cron:${DAILY_MORNING_BRIEFING_CRON_ID}`;
|
|
6
|
+
const DAILY_MORNING_BRIEFING_SKILL = "hedgehog-daily-morning-briefing";
|
|
7
|
+
const DAILY_MORNING_BRIEFING_MESSAGE = JSON.stringify({
|
|
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
|
+
"如果最终内容包含 [图表数据],正文必须已经包含所有对应图表占位符。"
|
|
14
|
+
].join("\n"),
|
|
15
|
+
cw_market: "CN",
|
|
16
|
+
cw_content: [
|
|
17
|
+
"生成每日早报"
|
|
18
|
+
].join("\n"),
|
|
19
|
+
cw_output: [
|
|
20
|
+
`输出结构以 ${DAILY_MORNING_BRIEFING_SKILL} skill 的交付模板为准。`,
|
|
21
|
+
CHART_OUTPUT_GUIDANCE
|
|
22
|
+
].join("\n")
|
|
23
|
+
});
|
|
24
|
+
function buildDailyMorningBriefingCronConfig(existing) {
|
|
25
|
+
const existingTz = typeof existing?.schedule?.tz === "string" && existing.schedule.tz.trim()
|
|
26
|
+
? existing.schedule.tz
|
|
27
|
+
: undefined;
|
|
28
|
+
return {
|
|
29
|
+
agentId: HEDGEHOG_AGENT_ID,
|
|
30
|
+
name: DAILY_MORNING_BRIEFING_CRON_ID,
|
|
31
|
+
description: "触发 hedgehog-daily-morning-briefing skill 生成每日盘前早报并入库。",
|
|
32
|
+
enabled: true,
|
|
33
|
+
schedule: {
|
|
34
|
+
kind: "cron",
|
|
35
|
+
expr: "30 7 * * *",
|
|
36
|
+
...(existingTz ? { tz: existingTz } : {})
|
|
37
|
+
},
|
|
38
|
+
sessionTarget: "isolated",
|
|
39
|
+
wakeMode: "now",
|
|
40
|
+
payload: {
|
|
41
|
+
kind: "agentTurn",
|
|
42
|
+
message: DAILY_MORNING_BRIEFING_MESSAGE,
|
|
43
|
+
timeoutSeconds: 0
|
|
44
|
+
},
|
|
45
|
+
delivery: {
|
|
46
|
+
mode: "none"
|
|
47
|
+
},
|
|
48
|
+
deleteAfterRun: false
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
function isDailyMorningBriefingCronJob(job) {
|
|
52
|
+
return job?.name === DAILY_MORNING_BRIEFING_CRON_ID || job?.sessionKey === DAILY_MORNING_BRIEFING_SESSION_KEY;
|
|
53
|
+
}
|
|
54
|
+
export async function ensureDailyMorningBriefingCron(cron) {
|
|
55
|
+
try {
|
|
56
|
+
if (!cron) {
|
|
57
|
+
logger.warn("Daily morning briefing cron was not scheduled because OpenClaw cron API is unavailable");
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const existingJobs = (await cron.list({ includeDisabled: true })).filter(isDailyMorningBriefingCronJob);
|
|
61
|
+
const [primaryJob, ...duplicateJobs] = existingJobs;
|
|
62
|
+
if (primaryJob?.id) {
|
|
63
|
+
await cron.update(primaryJob.id, buildDailyMorningBriefingCronConfig(primaryJob));
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
await cron.add(buildDailyMorningBriefingCronConfig());
|
|
67
|
+
}
|
|
68
|
+
const duplicateIds = duplicateJobs
|
|
69
|
+
.map(job => job.id)
|
|
70
|
+
.filter((id) => typeof id === "string" && id.length > 0);
|
|
71
|
+
await Promise.all(duplicateIds.map(id => cron.remove(id)));
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
logger.error({ err: e }, "Failed to ensure daily morning briefing cron");
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export function registerDailyMorningBriefingCron(api) {
|
|
78
|
+
api.on("gateway_start", async (_event, ctx) => {
|
|
79
|
+
await ensureDailyMorningBriefingCron(ctx.getCron?.());
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=dailyMorningBriefingCron.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dailyMorningBriefingCron.js","sourceRoot":"","sources":["../../src/dailyMorningBriefingCron.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export function ensureChartPlaceholdersInBody(content) {
|
|
2
|
+
const chartDataMatch = content.match(/(?:\*\*)?\[图表数据\](?:\*\*)?/);
|
|
3
|
+
if (!chartDataMatch || typeof chartDataMatch.index !== "number")
|
|
4
|
+
return content;
|
|
5
|
+
const chartDataStart = chartDataMatch.index;
|
|
6
|
+
const body = content.slice(0, chartDataStart);
|
|
7
|
+
const chartData = content.slice(chartDataStart);
|
|
8
|
+
const placeholders = Array.from(chartData.matchAll(/\{图\d+\}\s*:/g), match => match[0].replace(/\s*:$/, ""));
|
|
9
|
+
const uniquePlaceholders = [...new Set(placeholders)];
|
|
10
|
+
const missingPlaceholders = uniquePlaceholders.filter(placeholder => !body.includes(placeholder));
|
|
11
|
+
if (missingPlaceholders.length === 0)
|
|
12
|
+
return content;
|
|
13
|
+
const insertion = [
|
|
14
|
+
"## 图表",
|
|
15
|
+
"",
|
|
16
|
+
...missingPlaceholders.flatMap(placeholder => [placeholder, ""])
|
|
17
|
+
].join("\n");
|
|
18
|
+
return `${body.trimEnd()}\n\n${insertion}\n${chartData.trimStart()}`;
|
|
19
|
+
}
|
|
20
|
+
export const CHART_OUTPUT_GUIDANCE = [
|
|
21
|
+
"正文中如果生成任何图表,必须在对应分析段落先给出明确金融结论,并在结论后单独放置图表占位符,例如:",
|
|
22
|
+
"{图1}",
|
|
23
|
+
"每个图表占位符前后都必须换行;正文占位符与尾部 [图表数据] 编号必须一一对应,禁止只在尾部输出图表数据。",
|
|
24
|
+
"图表生成遵循投研可视化原则:仅在有助于趋势识别、横向比较、结构拆解或风险暴露说明时生成。",
|
|
25
|
+
"图表数据必须可追溯,来源限于工具返回、资讯原文、上下文已给出的数值,或正文已明确披露的计算结果;禁止使用示意性、编造型或装饰性数据。",
|
|
26
|
+
"图表数量控制在 1-3 张;无可靠数值数据时不生成图表。",
|
|
27
|
+
"图表标题必须明确市场、资产、指标与时间范围;xAxis、series、legend、title 必须与正文结论和数据口径一致。",
|
|
28
|
+
"图表类型只能取以下值之一:",
|
|
29
|
+
"[\"Line\",\"Bar\",\"Area\",\"Pie\",\"Donut\",\"Horizontal Bar\",\"Radar\",\"Histogram\",\"Scatter Plot\",\"Bubble\"]",
|
|
30
|
+
"图表类型选择:趋势变化用 Line 或 Area;横向比较用 Bar 或 Horizontal Bar;结构占比用 Pie 或 Donut;多维评分用 Radar;分布、相关性、离群点用 Histogram、Scatter Plot 或 Bubble。",
|
|
31
|
+
"如果生成图表,结尾追加 [图表数据],不要使用代码块,格式必须严格为:",
|
|
32
|
+
"{图1}: {\"chart\":\"Line\",\"option\":{...}};{图2}: {\"chart\":\"Bar\",\"option\":{...}}",
|
|
33
|
+
"其中 chart 必须是上面的图表类型之一,option 必须是纯 JSON,不允许 JS 函数、formatter 函数或注释。"
|
|
34
|
+
].join("\n");
|
|
35
|
+
//# sourceMappingURL=chartOutput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chartOutput.js","sourceRoot":"","sources":["../../../src/features/chartOutput.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,6BAA6B,CAAC,OAAe;IAC5D,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACnE,IAAI,CAAC,cAAc,IAAI,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAEhF,MAAM,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7G,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IACtD,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IAClG,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAErD,MAAM,SAAS,GAAG;QACjB,OAAO;QACP,EAAE;QACF,GAAG,mBAAmB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;KAChE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,SAAS,KAAK,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC;AACtE,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACpC,mDAAmD;IACnD,MAAM;IACN,uDAAuD;IACvD,8CAA8C;IAC9C,oEAAoE;IACpE,8BAA8B;IAC9B,iEAAiE;IACjE,eAAe;IACf,sHAAsH;IACtH,gIAAgI;IAChI,qCAAqC;IACrC,wFAAwF;IACxF,mEAAmE;CACnE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const DailyMorningBriefingStatusSchema: z.ZodEnum<["generating", "completed", "failed"]>;
|
|
3
|
+
export declare const SaveDailyMorningBriefingParamsSchema: z.ZodEffects<z.ZodObject<{
|
|
4
|
+
id: z.ZodOptional<z.ZodString>;
|
|
5
|
+
content: z.ZodDefault<z.ZodString>;
|
|
6
|
+
status: z.ZodDefault<z.ZodEnum<["generating", "completed", "failed"]>>;
|
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
|
8
|
+
status: "generating" | "completed" | "failed";
|
|
9
|
+
content: string;
|
|
10
|
+
id?: string | undefined;
|
|
11
|
+
}, {
|
|
12
|
+
status?: "generating" | "completed" | "failed" | undefined;
|
|
13
|
+
content?: string | undefined;
|
|
14
|
+
id?: string | undefined;
|
|
15
|
+
}>, {
|
|
16
|
+
status: "generating" | "completed" | "failed";
|
|
17
|
+
content: string;
|
|
18
|
+
id?: string | undefined;
|
|
19
|
+
}, {
|
|
20
|
+
status?: "generating" | "completed" | "failed" | undefined;
|
|
21
|
+
content?: string | undefined;
|
|
22
|
+
id?: string | undefined;
|
|
23
|
+
}>;
|
|
24
|
+
export type SaveDailyMorningBriefingParams = z.infer<typeof SaveDailyMorningBriefingParamsSchema>;
|
|
25
|
+
export declare const QueryDailyMorningBriefingsParamsSchema: z.ZodObject<{
|
|
26
|
+
market: z.ZodDefault<z.ZodString>;
|
|
27
|
+
page: z.ZodDefault<z.ZodNumber>;
|
|
28
|
+
pageSize: z.ZodDefault<z.ZodNumber>;
|
|
29
|
+
}, "strip", z.ZodTypeAny, {
|
|
30
|
+
market: string;
|
|
31
|
+
page: number;
|
|
32
|
+
pageSize: number;
|
|
33
|
+
}, {
|
|
34
|
+
market?: string | undefined;
|
|
35
|
+
page?: number | undefined;
|
|
36
|
+
pageSize?: number | undefined;
|
|
37
|
+
}>;
|
|
38
|
+
export type QueryDailyMorningBriefingsParams = z.infer<typeof QueryDailyMorningBriefingsParamsSchema>;
|
|
39
|
+
export declare const GetDailyMorningBriefingDetailParamsSchema: z.ZodObject<{
|
|
40
|
+
id: z.ZodString;
|
|
41
|
+
}, "strip", z.ZodTypeAny, {
|
|
42
|
+
id: string;
|
|
43
|
+
}, {
|
|
44
|
+
id: string;
|
|
45
|
+
}>;
|
|
46
|
+
export type GetDailyMorningBriefingDetailParams = z.infer<typeof GetDailyMorningBriefingDetailParamsSchema>;
|
|
47
|
+
export interface DailyMorningBriefing {
|
|
48
|
+
id: string;
|
|
49
|
+
market: string;
|
|
50
|
+
briefingDate: string;
|
|
51
|
+
content: string;
|
|
52
|
+
status: string;
|
|
53
|
+
watchlistSnapshot: unknown[];
|
|
54
|
+
createdAt: string;
|
|
55
|
+
updatedAt: string;
|
|
56
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export const DailyMorningBriefingStatusSchema = z.enum(["generating", "completed", "failed"]);
|
|
3
|
+
export const SaveDailyMorningBriefingParamsSchema = z.object({
|
|
4
|
+
id: z.string().trim().min(1).optional().describe("每日早报 ID;开始生成时不传,后续更新状态时传入"),
|
|
5
|
+
content: z.string().default("").describe("每日早报最终内容;失败时存入错误信息"),
|
|
6
|
+
status: DailyMorningBriefingStatusSchema.default("completed").describe("保存状态:generating 生成中,completed 成功,failed 失败")
|
|
7
|
+
}).refine((value) => {
|
|
8
|
+
if (value.status === "completed")
|
|
9
|
+
return value.content.trim().length > 0;
|
|
10
|
+
return true;
|
|
11
|
+
}, {
|
|
12
|
+
message: "completed 状态必须提供 content"
|
|
13
|
+
});
|
|
14
|
+
export const QueryDailyMorningBriefingsParamsSchema = z.object({
|
|
15
|
+
market: z.string().trim().min(1).default("CN").describe("市场类型,默认 CN"),
|
|
16
|
+
page: z.number().int().min(1).default(1).describe("页码"),
|
|
17
|
+
pageSize: z.number().int().min(1).max(50).default(10).describe("每页数量,默认 10")
|
|
18
|
+
});
|
|
19
|
+
export const GetDailyMorningBriefingDetailParamsSchema = z.object({
|
|
20
|
+
id: z.string().trim().min(1).describe("每日早报 ID")
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/features/dailyMorningBriefing/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE9F,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5D,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAC7E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC9D,MAAM,EAAE,gCAAgC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC;CACpH,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;IACnB,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IACzE,OAAO,IAAI,CAAC;AACb,CAAC,EAAE;IACF,OAAO,EAAE,0BAA0B;CACnC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;IACrE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;IACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;CAC5E,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,yCAAyC,GAAG,CAAC,CAAC,MAAM,CAAC;IACjE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;CAChD,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface RuntimeTool {
|
|
2
|
+
name: string;
|
|
3
|
+
label?: string;
|
|
4
|
+
description: string;
|
|
5
|
+
parameters: unknown;
|
|
6
|
+
registerTool?: boolean;
|
|
7
|
+
execute(params: unknown, ctx?: {
|
|
8
|
+
userId: string;
|
|
9
|
+
}): Promise<string>;
|
|
10
|
+
}
|
|
11
|
+
export declare const dailyMorningBriefingTools: Record<string, RuntimeTool>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { getDB } from "../../core/database.js";
|
|
2
|
+
import { ensureChartPlaceholdersInBody } from "../chartOutput.js";
|
|
3
|
+
import { GetDailyMorningBriefingDetailParamsSchema, QueryDailyMorningBriefingsParamsSchema, SaveDailyMorningBriefingParamsSchema } from "./schema.js";
|
|
4
|
+
const DAILY_MORNING_BRIEFING_MARKET = "CN";
|
|
5
|
+
const SaveDailyMorningBriefingAgentToolSchema = {
|
|
6
|
+
type: "object",
|
|
7
|
+
additionalProperties: false,
|
|
8
|
+
properties: {
|
|
9
|
+
id: { type: "string", description: "每日盘前早报 ID;开始生成时不传,后续更新生成结果时必须传入开始时返回的 id" },
|
|
10
|
+
content: { type: "string", description: "每日盘前早报正文;status=generating 时为空,status=failed 时存入错误信息" },
|
|
11
|
+
status: { type: "string", enum: ["generating", "completed", "failed"], description: "保存状态:generating 表示开始生成,completed 表示生成成功,failed 表示生成失败" }
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
function normalizeMarket(market) {
|
|
15
|
+
const raw = market.trim().toUpperCase();
|
|
16
|
+
if (raw === "A股" || raw === "中国股市" || raw === "MARKETS.CN")
|
|
17
|
+
return "CN";
|
|
18
|
+
return raw || "CN";
|
|
19
|
+
}
|
|
20
|
+
function getLocalDateString() {
|
|
21
|
+
const now = new Date();
|
|
22
|
+
const year = now.getFullYear();
|
|
23
|
+
const month = String(now.getMonth() + 1).padStart(2, "0");
|
|
24
|
+
const day = String(now.getDate()).padStart(2, "0");
|
|
25
|
+
return `${year}-${month}-${day}`;
|
|
26
|
+
}
|
|
27
|
+
function buildDailyMorningBriefingId(market, briefingDate) {
|
|
28
|
+
return `daily_morning_briefing_${market}_${briefingDate}`;
|
|
29
|
+
}
|
|
30
|
+
function selectDailyMorningBriefing(db, id) {
|
|
31
|
+
const row = db.prepare(`
|
|
32
|
+
SELECT id, market, briefingDate, content, status, watchlistSnapshot, createdAt, updatedAt
|
|
33
|
+
FROM daily_morning_briefings
|
|
34
|
+
WHERE id = ?
|
|
35
|
+
`).get(id);
|
|
36
|
+
if (!row)
|
|
37
|
+
throw new Error("daily morning briefing was not saved");
|
|
38
|
+
return {
|
|
39
|
+
id: row.id,
|
|
40
|
+
market: row.market,
|
|
41
|
+
briefingDate: row.briefingDate,
|
|
42
|
+
content: row.content,
|
|
43
|
+
status: row.status,
|
|
44
|
+
watchlistSnapshot: JSON.parse(row.watchlistSnapshot || "[]"),
|
|
45
|
+
createdAt: row.createdAt,
|
|
46
|
+
updatedAt: row.updatedAt
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function selectExistingActiveDailyMorningBriefing(db, market, briefingDate) {
|
|
50
|
+
const row = db.prepare(`
|
|
51
|
+
SELECT id
|
|
52
|
+
FROM daily_morning_briefings
|
|
53
|
+
WHERE market = ?
|
|
54
|
+
AND briefingDate = ?
|
|
55
|
+
AND status IN ('generating', 'completed')
|
|
56
|
+
ORDER BY
|
|
57
|
+
CASE status WHEN 'completed' THEN 0 WHEN 'generating' THEN 1 ELSE 2 END,
|
|
58
|
+
updatedAt DESC,
|
|
59
|
+
createdAt DESC
|
|
60
|
+
LIMIT 1
|
|
61
|
+
`).get(market, briefingDate);
|
|
62
|
+
return row ? selectDailyMorningBriefing(db, row.id) : undefined;
|
|
63
|
+
}
|
|
64
|
+
function selectGeneratingDailyMorningBriefing(db, market, briefingDate) {
|
|
65
|
+
const row = db.prepare(`
|
|
66
|
+
SELECT id
|
|
67
|
+
FROM daily_morning_briefings
|
|
68
|
+
WHERE market = ?
|
|
69
|
+
AND briefingDate = ?
|
|
70
|
+
AND status = 'generating'
|
|
71
|
+
ORDER BY updatedAt DESC, createdAt DESC
|
|
72
|
+
LIMIT 1
|
|
73
|
+
`).get(market, briefingDate);
|
|
74
|
+
return row ? selectDailyMorningBriefing(db, row.id) : undefined;
|
|
75
|
+
}
|
|
76
|
+
function mapDailyMorningBriefingRow(row) {
|
|
77
|
+
return {
|
|
78
|
+
id: row.id,
|
|
79
|
+
market: row.market,
|
|
80
|
+
briefingDate: row.briefingDate,
|
|
81
|
+
content: row.content,
|
|
82
|
+
status: row.status,
|
|
83
|
+
watchlistSnapshot: JSON.parse(row.watchlistSnapshot || "[]"),
|
|
84
|
+
createdAt: row.createdAt,
|
|
85
|
+
updatedAt: row.updatedAt
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
function mapDailyMorningBriefingSummary(row) {
|
|
89
|
+
return row;
|
|
90
|
+
}
|
|
91
|
+
function getFullWatchlistSnapshot(db) {
|
|
92
|
+
const stocks = db.prepare(`
|
|
93
|
+
SELECT id, userId, stock_code, stock_name, exchange, market, sortOrder, createdAt
|
|
94
|
+
FROM watchlist
|
|
95
|
+
WHERE isDeleted = 0
|
|
96
|
+
ORDER BY userId ASC, sortOrder ASC
|
|
97
|
+
`).all();
|
|
98
|
+
return stocks.map(stock => {
|
|
99
|
+
const industries = db.prepare(`
|
|
100
|
+
SELECT c.name FROM industry_theme_categories c
|
|
101
|
+
JOIN watchlist_industry_items i ON c.id = i.categoryId
|
|
102
|
+
WHERE i.watchlistId = ? ORDER BY i.weight DESC
|
|
103
|
+
`).all(stock.id);
|
|
104
|
+
const themes = db.prepare(`
|
|
105
|
+
SELECT c.name FROM industry_theme_categories c
|
|
106
|
+
JOIN watchlist_theme_items t ON c.id = t.categoryId
|
|
107
|
+
WHERE t.watchlistId = ? ORDER BY t.weight DESC
|
|
108
|
+
`).all(stock.id);
|
|
109
|
+
return {
|
|
110
|
+
...stock,
|
|
111
|
+
industries: industries.map(item => item.name),
|
|
112
|
+
themes: themes.map(item => item.name)
|
|
113
|
+
};
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
export const dailyMorningBriefingTools = {
|
|
117
|
+
save_daily_morning_briefing: {
|
|
118
|
+
name: "save_daily_morning_briefing",
|
|
119
|
+
label: "保存每日盘前早报",
|
|
120
|
+
description: "保存每日盘前早报的生成进度和最终结果。生成前必须先以 status=generating、content=\"\" 调用;生成成功后以 status=completed 保存完整正文 content;生成失败后以 status=failed 保存完整错误信息。未传 id 时会自动使用当天固定记录,完成或失败时可直接更新当天早报。",
|
|
121
|
+
parameters: SaveDailyMorningBriefingAgentToolSchema,
|
|
122
|
+
registerTool: true,
|
|
123
|
+
async execute(params) {
|
|
124
|
+
const args = SaveDailyMorningBriefingParamsSchema.parse(params);
|
|
125
|
+
const db = getDB();
|
|
126
|
+
const market = DAILY_MORNING_BRIEFING_MARKET;
|
|
127
|
+
const briefingDate = getLocalDateString();
|
|
128
|
+
const id = args.id || buildDailyMorningBriefingId(market, briefingDate);
|
|
129
|
+
if (args.status === "generating") {
|
|
130
|
+
const generating = selectGeneratingDailyMorningBriefing(db, market, briefingDate);
|
|
131
|
+
if (generating) {
|
|
132
|
+
return JSON.stringify({ success: true, skipped: true, reason: "already_generating", data: generating });
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
const watchlistSnapshot = JSON.stringify(getFullWatchlistSnapshot(db));
|
|
136
|
+
const content = args.status === "completed" ? ensureChartPlaceholdersInBody(args.content) : args.content.trim();
|
|
137
|
+
const result = db.prepare(`
|
|
138
|
+
UPDATE daily_morning_briefings
|
|
139
|
+
SET content = ?,
|
|
140
|
+
status = ?,
|
|
141
|
+
watchlistSnapshot = ?,
|
|
142
|
+
updatedAt = STRFTIME('%Y-%m-%dT%H:%M:%fZ', 'NOW')
|
|
143
|
+
WHERE id = ?
|
|
144
|
+
`).run(content, args.status, watchlistSnapshot, id);
|
|
145
|
+
if (result.changes === 0) {
|
|
146
|
+
db.prepare(`
|
|
147
|
+
INSERT INTO daily_morning_briefings (id, market, briefingDate, content, status, watchlistSnapshot)
|
|
148
|
+
VALUES (?, ?, ?, ?, ?, ?)
|
|
149
|
+
`).run(id, market, briefingDate, content, args.status, watchlistSnapshot);
|
|
150
|
+
}
|
|
151
|
+
const data = selectDailyMorningBriefing(db, id);
|
|
152
|
+
return JSON.stringify({ success: true, data });
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
query_daily_morning_briefings: {
|
|
156
|
+
name: "query_daily_morning_briefings",
|
|
157
|
+
label: "查询每日盘前早报",
|
|
158
|
+
description: "分页查询每日盘前早报记录列表。支持按市场过滤,返回记录标识、早报日期、状态和时间字段;列表结果不包含 content,详情内容请使用详情查询接口获取。",
|
|
159
|
+
parameters: QueryDailyMorningBriefingsParamsSchema,
|
|
160
|
+
registerTool: false,
|
|
161
|
+
async execute(params) {
|
|
162
|
+
const args = QueryDailyMorningBriefingsParamsSchema.parse(params ?? {});
|
|
163
|
+
const db = getDB();
|
|
164
|
+
const market = normalizeMarket(args.market);
|
|
165
|
+
const offset = (args.page - 1) * args.pageSize;
|
|
166
|
+
const total = db.prepare(`
|
|
167
|
+
SELECT COUNT(*) AS total
|
|
168
|
+
FROM daily_morning_briefings
|
|
169
|
+
WHERE market = ?
|
|
170
|
+
`).get(market).total || 0;
|
|
171
|
+
const rows = db.prepare(`
|
|
172
|
+
SELECT id, market, briefingDate, status, createdAt, updatedAt
|
|
173
|
+
FROM daily_morning_briefings
|
|
174
|
+
WHERE market = ?
|
|
175
|
+
ORDER BY briefingDate DESC, updatedAt DESC
|
|
176
|
+
LIMIT ? OFFSET ?
|
|
177
|
+
`).all(market, args.pageSize, offset);
|
|
178
|
+
return JSON.stringify({
|
|
179
|
+
success: true,
|
|
180
|
+
data: rows.map(mapDailyMorningBriefingSummary),
|
|
181
|
+
pagination: {
|
|
182
|
+
page: args.page,
|
|
183
|
+
pageSize: args.pageSize,
|
|
184
|
+
total,
|
|
185
|
+
totalPages: Math.ceil(total / args.pageSize)
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
get_daily_morning_briefing_detail: {
|
|
191
|
+
name: "get_daily_morning_briefing_detail",
|
|
192
|
+
label: "查询每日盘前早报详情",
|
|
193
|
+
description: "根据每日盘前早报 ID 查询完整详情。返回早报正文 content、自选股快照 watchlistSnapshot 以及市场、日期、状态和时间等元数据;status=failed 时 content 为错误信息。",
|
|
194
|
+
parameters: GetDailyMorningBriefingDetailParamsSchema,
|
|
195
|
+
registerTool: false,
|
|
196
|
+
async execute(params) {
|
|
197
|
+
const args = GetDailyMorningBriefingDetailParamsSchema.parse(params);
|
|
198
|
+
const db = getDB();
|
|
199
|
+
const data = selectDailyMorningBriefing(db, args.id);
|
|
200
|
+
return JSON.stringify({ success: true, data });
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../../src/features/dailyMorningBriefing/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const BuildDeepReasoningMessageParamsSchema: z.ZodObject<{
|
|
3
|
+
newsId: z.ZodString;
|
|
4
|
+
sourceTitle: z.ZodString;
|
|
5
|
+
sourceContent: z.ZodString;
|
|
6
|
+
}, "strip", z.ZodTypeAny, {
|
|
7
|
+
sourceTitle: string;
|
|
8
|
+
sourceContent: string;
|
|
9
|
+
newsId: string;
|
|
10
|
+
}, {
|
|
11
|
+
sourceTitle: string;
|
|
12
|
+
sourceContent: string;
|
|
13
|
+
newsId: string;
|
|
14
|
+
}>;
|
|
15
|
+
export type BuildDeepReasoningMessageParams = z.infer<typeof BuildDeepReasoningMessageParamsSchema>;
|
|
16
|
+
export declare const QueryDeepReasoningHistoryParamsSchema: z.ZodObject<{
|
|
17
|
+
page: z.ZodDefault<z.ZodNumber>;
|
|
18
|
+
pageSize: z.ZodDefault<z.ZodNumber>;
|
|
19
|
+
}, "strip", z.ZodTypeAny, {
|
|
20
|
+
page: number;
|
|
21
|
+
pageSize: number;
|
|
22
|
+
}, {
|
|
23
|
+
page?: number | undefined;
|
|
24
|
+
pageSize?: number | undefined;
|
|
25
|
+
}>;
|
|
26
|
+
export type QueryDeepReasoningHistoryParams = z.infer<typeof QueryDeepReasoningHistoryParamsSchema>;
|
|
27
|
+
export declare const GetDeepReasoningDetailParamsSchema: z.ZodEffects<z.ZodObject<{
|
|
28
|
+
id: z.ZodOptional<z.ZodString>;
|
|
29
|
+
sourceId: z.ZodOptional<z.ZodString>;
|
|
30
|
+
}, "strip", z.ZodTypeAny, {
|
|
31
|
+
sourceId?: string | undefined;
|
|
32
|
+
id?: string | undefined;
|
|
33
|
+
}, {
|
|
34
|
+
sourceId?: string | undefined;
|
|
35
|
+
id?: string | undefined;
|
|
36
|
+
}>, {
|
|
37
|
+
sourceId?: string | undefined;
|
|
38
|
+
id?: string | undefined;
|
|
39
|
+
}, {
|
|
40
|
+
sourceId?: string | undefined;
|
|
41
|
+
id?: string | undefined;
|
|
42
|
+
}>;
|
|
43
|
+
export type GetDeepReasoningDetailParams = z.infer<typeof GetDeepReasoningDetailParamsSchema>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export const BuildDeepReasoningMessageParamsSchema = z.object({
|
|
3
|
+
newsId: z.string().trim().min(1).describe("新闻 ID,例如 news-5"),
|
|
4
|
+
sourceTitle: z.string().trim().min(1).describe("新闻标题"),
|
|
5
|
+
sourceContent: z.string().trim().min(1).describe("新闻正文")
|
|
6
|
+
});
|
|
7
|
+
export const QueryDeepReasoningHistoryParamsSchema = z.object({
|
|
8
|
+
page: z.number().int().min(1).default(1).describe("页码"),
|
|
9
|
+
pageSize: z.number().int().min(1).max(50).default(10).describe("每页数量,默认 10")
|
|
10
|
+
});
|
|
11
|
+
export const GetDeepReasoningDetailParamsSchema = z.object({
|
|
12
|
+
id: z.string().trim().min(1).optional().describe("记录 ID"),
|
|
13
|
+
sourceId: z.string().trim().min(1).optional().describe("新闻来源 ID,例如 news-5")
|
|
14
|
+
}).refine((value) => value.id || value.sourceId, {
|
|
15
|
+
message: "id 或 sourceId 至少提供一个"
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/features/deepReasoning/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC5D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;IACtD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;CACxD,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;IACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;CAC5E,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1D,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;IACzD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;CAC3E,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE;IAChD,OAAO,EAAE,sBAAsB;CAC/B,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface RuntimeTool {
|
|
2
|
+
name: string;
|
|
3
|
+
label?: string;
|
|
4
|
+
description: string;
|
|
5
|
+
parameters: unknown;
|
|
6
|
+
registerTool?: boolean;
|
|
7
|
+
execute(params: unknown, ctx?: {
|
|
8
|
+
userId: string;
|
|
9
|
+
}): Promise<string>;
|
|
10
|
+
}
|
|
11
|
+
export declare const deepReasoningTools: Record<string, RuntimeTool>;
|
|
12
|
+
export {};
|