@faiber/faiber-管理
为项目扫描的 Faiber 管理网关输入浏览器和服务器客户端,包括 服务代理源和管理代理交互协议.
npm install @faiber/faiber-manage
import {
FaiberClient,
ManageApi,
domainsFromManageProxy,
isManageDurableActionEvent,
parseManageAgentEvents,
} from "@faiber/faiber-manage";
const domains = domainsFromManageProxy(window.location.origin);
const manage = new ManageApi(new FaiberClient("manage", {
domains,
authMode: "cookie",
}));
const me = await manage.me();
const models = await manage.listAgentModels();
const thread = await manage.createAgentThread({ title: "Manage products" });
const stream = await manage.openAgentChatStream(thread.data.id, {
message: "Show products with low inventory",
agent_slug: "manage",
project_slug: me.data.project.slug,
});
for await (const event of parseManageAgentEvents(stream.data)) {
if (isManageDurableActionEvent(event)) {
const review = await manage.getAgentAction(event.data.thread_id, event.data.action_id);
// Render the persisted payload/schema; collect a decision before review/execute.
console.log(review.data.action);
}
}
listAgentModels 返回助手设置和聊天所用的代理模式目录
组成。 管理属于已签名会话当前工程的对白
活动用户; 个人 Ask 历史和其他工程不包括在内。 当前项目
每个请求都需要设置许可,另外还要创建/执行
需要代理许可。 执行保留正常的代理记账/模式检查.
可以通过 listAgentThreads, (中文(简体) ),
getAgentMessages, (中文(简体) ), cancelAgentChat,以及 deleteAgentThread。 。 。 .
domainsFromManageProxy 通过管理器配置普通的 Faiber 服务客户端
项目范围 /api/v1/proxy/{service} 边界。 优先使用这些输入的服务客户端
已知的操作. executeServiceAction 支持手动运行时间服务请求
计划属于自己的服务。 持久的代理行为总是使用单独的
下面的审查/执行协议;浏览器事件不能授权代理执行.
所有方法都返回完整的Axios响应. 请求选项接受信头、超时,
AbortSignal,证书,适配器,和截取器通过共享客户端. 饼干
模式被推荐,因为管理会话是Http Only和工程范围。 流线
请求默认为 Axios 获取适配器, 所以浏览器 ReadableStream 答复仍然存在
递增;消费者可能提供另一个流接适配器.
Axios出错保留了HTTP状态,响应头,请求ID,以及后端细节. 探员
事件解析为只传送:它从来不自动执行动作。 完全的外观是
可从 @faiber/faiber-ts-sdk。 。 。 .
历史为页面(默认20,最大100). Axios 保留 x-has-more 财务报告和审定财务报表
x-next-before 响应头 :
const page = await manage.listAgentThreadsPage({ limit: 20 });
const cursor = page.headers.get("x-next-before");
if (page.headers.get("x-has-more") === "true" && typeof cursor === "string") {
const next = await manage.listAgentThreadsPage({ limit: 20, before: cursor });
console.log(next.data);
}
openAgentChatStream 接受 context 首选项 enabled_helpers
(单位:千美元)seo, (中文(简体) ), reportSummary, (中文(简体) ), writing, (中文(简体) ), smartForms和 locale (单位:千美元)en 或者说 fa) (中文(简体) ).
enabled_services 兼容性可选 : 管理它为当前
服务器授权的服务。 代理和项目受服务器约束;相冲突
值, 助手配置, 未知的首选项, 以及伪造的可信任聊天上下文
拒绝。 跨项目线程操作回404;无效首选项回400.
这些偏好从不授予服务,执行,模型或计费权限.
持久管理动作( canonic v1)
检查 getAgentActionCapabilities() 在允许持久审查之前。 受支助者
协议是 durable-manage-action-v1 与 legacy_completion: false 编辑
封闭的 JSON-schema 子集,包括混凝土类型 null 在一个
二要素 type 阵列。 总工会和计划参考文献仍然无法提供.
缺失、失败或不兼容的能力仍保留
无法使用; 它从不启用遗留的代理/ 完成回落 .
manage_action 仅带SSE action_id, (中文(简体) ), thread_id 和协议。 使用
isManageDurableActionEvent,则 getAgentAction(threadId, actionId) 装入
服务器拥有的记录. listAgentActions 返回最近的50个摘要,不包含
一个被发明的光标。 列报建议不可信; body_schema 来了
从服务器目录。 没有模型形式或TypeScript字符串是计划权威.
reviewAgentAction 接受编辑/核准/拒绝。 编辑需要明确的正文
并保留存储的服务/方法/路径。 决定需要非空想的理由
最多2048个 UTF-8 字节。 把俘虏送去 expected_version, (中文(简体) ), payload_hash 财务报告和审定财务报表
呼叫者拥有的非无 operation_id。 。 。 . executeAgentAction 只接受这些
三个字段:服务器根据当前授权执行所保存的有效载荷.
生成的等效物在 manage.operations 使用相同的方法名称.
在未知的网络结果后保存整个请求和UUID. 409个需求
新的 GET 和 Review, 绝不自动重放或新建 UUID 。 已取消的 HTTP
请求不取消一项索赔行动. outcome_unknown 这里是终端 :
读取持久收件;不重发目标或使用旧的补全 API.
服务器过期后,当前权限仍为权威权限. UUID/hash/版本,
关闭请求字段、有限 JSON 和输入边框在运输前检查.
没有签字人、证明信头助手、演员/项目赠款、内部索赔/分发或
导出完成操作 。 遗留浏览器- 事件守护器拒绝
manage_sdk;其他浏览器工具保留其现有的事件合同. 常规
手动服务操作仍然是单独的API,从未被称为持久
动作退后.
资料来源:经审查的管理者 5ac22d1145c68693717ff4dedcaff74a74746197 和剂
e6c2a00fc4418604a99bf84b365e0db13fc8f5e6后端本地权威/执行
证据、SDK电线验证、包装的消费者检查和合并UI/运行时间
接受是单独的大门。 这个客户端并不意味着所有已部署的目录
条目中包含支持的计划或授权部署/发布.
me() 包含 runtime.status 财务报告和审定财务报表 runtime.reauth_required; 无权限
可能以空服务列表返回回收视图. health() 只检查管理
众生相. checkSetup() 检查当前启用的服务并保存已签名的设置报告;
它不发出付款或信息。 每份服务结果报告 connected, (中文(简体) ), configured, (中文(简体) ),
providerVerified 财务报告和审定财务报表 setupNeeded附加时 verificationError 当在现相. 本地化
prerequisites 当新的报告已经获得胜利时,则无效. logout() 清除会话
饼干并默认跟踪面板重定向; 服务器消费者必须应用 Set- Cookie
到它自己的饼干罐。 SSO 是浏览器导航到 /sso不是JSON SDK登录API.
getAgentMessagesPage(threadId, { limit: 10, before: timestamp }) 支持现有的
消息历史查询。 其独家光标为RFC3339,限值为1.100;
它不返回页标头。 消息 created_at 使用 BSON 扩展 JSON ($date, (中文(简体) ),
而线程创建/列表时间戳则使用RFC3339字符串. 聊天支持电平 images
与 mime_type, (中文(简体) ), data_base64 和可选 name附加时 model_strategy; 后端验证
并且模式访问仍然具有权威性。 中止信号停止 HTTP 流请求,并且
cancelAgentChat 请求取消聊天运行。 既不取消索赔的耐用性
服务动作;通过持久接收调节该动作.