Spaces:
Paused
Paused
| import type { MsgContext } from "../auto-reply/templating.js"; | |
| import type { OpenClawConfig } from "../config/config.js"; | |
| import { finalizeInboundContext } from "../auto-reply/reply/inbound-context.js"; | |
| import { formatLinkUnderstandingBody } from "./format.js"; | |
| import { runLinkUnderstanding } from "./runner.js"; | |
| export type ApplyLinkUnderstandingResult = { | |
| outputs: string[]; | |
| urls: string[]; | |
| }; | |
| export async function applyLinkUnderstanding(params: { | |
| ctx: MsgContext; | |
| cfg: OpenClawConfig; | |
| }): Promise<ApplyLinkUnderstandingResult> { | |
| const result = await runLinkUnderstanding({ | |
| cfg: params.cfg, | |
| ctx: params.ctx, | |
| }); | |
| if (result.outputs.length === 0) { | |
| return result; | |
| } | |
| params.ctx.LinkUnderstanding = [...(params.ctx.LinkUnderstanding ?? []), ...result.outputs]; | |
| params.ctx.Body = formatLinkUnderstandingBody({ | |
| body: params.ctx.Body, | |
| outputs: result.outputs, | |
| }); | |
| finalizeInboundContext(params.ctx, { | |
| forceBodyForAgent: true, | |
| forceBodyForCommands: true, | |
| }); | |
| return result; | |
| } | |