@dani-builder/代理合同
零依赖性 TypeScript电线合同 Daniworks Agent客户端.
import type { ChatRequest, ChatResponse } from "@dani-builder/agent-contract";
import { parseSseEvent } from "@dani-builder/agent-contract";
从浏览器客户端导入软件包是安全的: 它没有 Strapi 或插件 相对依赖。 它定义聊天请求/答复、检索引用和SSE 事件形状; 它不执行聊天运行时间.
后续问题扩展支持两个有线版本. 现有
FollowUpQuestionsExtension 类型保留版本1:
import type { FollowUpQuestionsExtension } from "@dani-builder/agent-contract";
const v1: FollowUpQuestionsExtension = {
type: "follow_up_questions",
version: 1,
payload: { questions: ["Tell me more"] },
};
第二版将显示的标签与提交的可选快件分开。 导入
FollowUpQuestionsV2Extension 财务报告和审定财务报表 SuggestedPrompt 从软件包根 :
import type {
FollowUpQuestionsExtension,
FollowUpQuestionsV2Extension,
ResponseExtension,
SuggestedPrompt,
} from "@dani-builder/agent-contract";
const item: SuggestedPrompt = {
label: "Pricing",
prompt: "What does your service cost?",
};
const v2: FollowUpQuestionsV2Extension = {
type: "follow_up_questions",
version: 2,
payload: { items: [item, { label: "Tell me more" }] },
};
function submittedPrompts(extension: ResponseExtension): string[] {
if (extension.type !== "follow_up_questions") return [];
if (extension.version === 1) return extension.payload.questions;
return extension.payload.items.map((item) => item.prompt ?? item.label);
}
歧视 version 检查后 type: 两个版本都属于
ResponseExtension,那么详尽的消费者必须说明第2版.
parseSseEvent 接受独立扩展事件和已完成的扩展
事件。 对于版本2,标签必须是非边框字符串;缺少,为空,或
仅空白提示被省略所以 item.prompt ?? item.label 倒计时
标签。 非空白字符串被保存,包括周围的白空间.
非字符串提示和错误的项目拒绝扩展; 已完成事件过滤
无效的扩展 。 空项数组有效 。 1版本解析未变.
持续举行的会议和调查草案
SessionResponse 包含已发布的 sessionId简写 token,以及
expiresAt。以 Bearer auth 发送此令牌进行聊天、恢复和取消。 聊天
添加可选 requestId 与独立运行时间兼容; 已安装
插件内容 API 要求它用于录入和一能重放.
ConversationRestoreResponse 包含已完成的历史, activePersona,以及
过期. 历史信息可以携带 persona, (中文(简体) ), previousPersona,以及
requestId,因此UI可以在修复后识别出扬声器.
persona_routing v1 载 persona, (中文(简体) ), searchQuery 字符串 topic。 。 。 .
该插件为它的标题投放一个结构化的规划器主题. 遗产 intent 财务报告和审定财务报表
explicitInquiryRequest 属性被忽略而不是被传播.
答复延期
见 代理输出扩展 联 合 国
电线表和消费者拥有的行动/形式迁移. ResponseExtension 包含
UI区块,人物a路由,通用区块和两个后续版本.
删除 inquiry_draft 扩展按未知扩展类型处理: a
单个扩展事件被忽略,以及 done.extensions 保留有效的兄弟姐妹.
InquiryDraftExtension 财务报告和审定财务报表 InquiryPrefill 不再导出到此处;窗体
预填属于 @dani-builder/blocks/forms。 。 。 .