import { BaseCommand } from '../../oclif/base-command.js'; import type { SkillHealthReport } from '../../../observability/skill-health-analyzer.js'; /** * observe-health 报告落盘:id / 文件名加 4 位随机段,根治「同秒两次 omk observe 直接覆盖、数据丢失」的 bug。 * 文件名统一为 `{run}.report.json`:目录表达 observe-health 域,文件表达这是可读报告。 * 落盘后 best-effort 追加全局轻卡片,让 studio 跨项目聚合。 */ export declare function persistObserveHealthReport(report: SkillHealthReport, outDir: string): { id: string; jsonPath: string; }; /** * SkillHealthReport → managed 反哺的结构化最小入参(#235)。纯映射、可单测 —— 把「observe 报告 → * ObserveReportView」这段层间胶水从 CLI 副作用里拆出来,免得 healthBand 取错字段 / observedAt 取错时刻 * 这类映射 bug 无人验。`observedAt` 取**流量窗口结束时刻**(timeRange.to,空则退 generatedAt),不是「此刻」 * 的 generatedAt —— 否则 latest-wins 会把所有观测当成一样新(见 ManagedObservation.observedAt)。 * `healthBand` 由 observability 的 `healthBandOf` 逐 skill 算(阈值单一来源,注入以保可测)。 */ export declare function buildObserveReportView(report: SkillHealthReport, reportId: string, healthBandOf: (weightedGapRate: number) => 'green' | 'yellow' | 'red'): import('../../../managed/index.js').ObserveReportView; export default class Observe extends BaseCommand { static description: string; static examples: { description: string; command: string; }[]; static args: { sessionsDir: import("@oclif/core/interfaces").Arg>; }; static flags: { lang: import("@oclif/core/interfaces").OptionFlag; kb: import("@oclif/core/interfaces").OptionFlag; last: import("@oclif/core/interfaces").OptionFlag; from: import("@oclif/core/interfaces").OptionFlag; to: import("@oclif/core/interfaces").OptionFlag; skills: import("@oclif/core/interfaces").OptionFlag; 'output-dir': import("@oclif/core/interfaces").OptionFlag; global: import("@oclif/core/interfaces").BooleanFlag; feedback: import("@oclif/core/interfaces").BooleanFlag; }; run(): Promise; }