@my-life-buddies/buddy-runtime 0.12.2 → 0.13.0

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/README.md CHANGED
@@ -228,7 +228,7 @@ interface Conversation {
228
228
  | 记忆 | `conversation.memory` | 无,开发者可以根据具体场景,自己组装成适合的模型工具 |
229
229
  | 用户授权数据 | `conversation.dataAccess.query` / `conversation.dataAccess.request` / `conversation.dataAccess.readResult` | `data_access_query` / `data_access_request` / `data_access_read_result` |
230
230
  | 小挂件 | `conversation.widget.list` / `conversation.widget.create` / `conversation.widget.read` / `conversation.widget.readModule` / `conversation.widget.rename` / `conversation.widget.writeRecord` / `conversation.widget.deleteRecord` / `conversation.widget.delete` / `conversation.widget.setPresentation` / `conversation.widget.send` | `widget_create` / `widget_read` / `widget_read_module` / `widget_rename` / `widget_write_record` / `widget_delete_record` / `widget_delete` / `widget_send` |
231
- | 主动服务 | `conversation.proactive.propose` / `conversation.proactive.isRunning` | |
231
+ | 主动服务 | `conversation.proactive.propose` / `conversation.proactive.isRunning` | `proactive_propose` |
232
232
 
233
233
  ```ts
234
234
  buddy: (conversation) => ({
@@ -283,8 +283,6 @@ const notes = conversation.resource.read("research/01-writings.md");
283
283
  - 用户点选项,就是用选项原文发一条消息,跟自己打字一样;也可以不点,直接打字。
284
284
  - `conversation` 对象不提供发题卡的方法,题卡只由模型发。
285
285
 
286
- 用法见 [examples/aunt-tu/](examples/aunt-tu/)。
287
-
288
286
  ### 3.3 记忆
289
287
 
290
288
  这场会话的长期记忆,存在平台上,只在本会话内可见,会话删除时一并清除。
@@ -541,16 +539,18 @@ execute: async (toolCallId, params) => {
541
539
  - 平台回非 2xx、网络出错、超过 30 秒或响应超过 4 MiB 时抛异常,异常的 `status` 是 HTTP 状态码,不带平台给的原因。写操作不自动重试,失败后先读一遍真实状态再决定。
542
540
  - 主动服务回合里,除了 `list`、`read`、`readModule`,其余方法都会抛异常,见 3.6。
543
541
 
544
- 用法见 [examples/aunt-tu/](examples/aunt-tu/)。
545
-
546
542
  ### 3.6 主动服务
547
543
 
548
544
  让搭子在约定的时机主动找用户说话,比如每周一次复盘。只支持私聊。
549
545
 
550
- 1. 开发者的工具调用 `conversation.proactive.propose` 提订阅建议。订阅建成时是 `pending`,用户在 App 里确认后才生效。
546
+ 1. 提一条订阅建议。订阅建成时是 `pending`,用户在 App 里确认后才生效。
551
547
  2. 触发条件满足,且没被免打扰时段、冷却时间、每日上限拦下时,平台发起一次主动回合。
552
548
  3. 模型判断要不要开口:要就直接写出发给用户的消息,不要就输出跳过标记。平台复核后把消息发给用户。
553
549
 
550
+ 提订阅建议有两种方式,二选一或并用。字段一样(见下表),产物都是一条 `pending` 订阅,只是谁决定何时提不同:
551
+
552
+ - 由你的代码决定何时提,在自己的工具或钩子里调 `conversation.proactive.propose`:
553
+
554
554
  ```ts
555
555
  await conversation.proactive.propose({
556
556
  title: "每周复盘",
@@ -562,6 +562,23 @@ await conversation.proactive.propose({
562
562
  });
563
563
  ```
564
564
 
565
+ - 由模型在普通回合里自己决定要不要提,把 `conversation.tools.proactive_propose` 放进 `initialState.tools`。什么场景该提,在 `systemPrompt` 里说清楚:
566
+
567
+ ```ts
568
+ await BuddyServer.start({
569
+ dataRequirements: [{ id: "health.workouts", purpose: "跑完后帮你复盘这次训练" }],
570
+ buddy: (conversation) => ({
571
+ initialState: {
572
+ model: "kimi-k3",
573
+ systemPrompt: "你是跑步搭子。用户表达想坚持训练时,可以用 proactive_propose 提议跑完步帮他复盘。",
574
+ tools: [conversation.tools.proactive_propose, conversation.tools.data_access_query],
575
+ },
576
+ }),
577
+ });
578
+ ```
579
+
580
+ `proactive_propose` 的 `allowedDataScopes` 只能从已声明的 Dataset 里选,越界当场挡回让模型改;回执只有订阅 `id` 与 `pending`,不代表已开通。不想让模型自主提就别放进 `initialState.tools`,改用 `conversation.proactive.propose`。
581
+
565
582
  | 字段 | 说明 |
566
583
  |---|---|
567
584
  | `title` | 必填,订阅名称,最长 100 字 |
@@ -578,7 +595,7 @@ await conversation.proactive.propose({
578
595
 
579
596
  主动回合里:
580
597
 
581
- - **工具清单和普通回合一样,运行时不按工具名拦。** `widget_create`、`widget_rename`、`widget_write_record`、`widget_delete_record`、`widget_delete`、`widget_send`、`ask_question`、`data_access_request`、`data_access_read_result` 调了会抛异常,模型看到错误;`data_access_query` 只能读订阅的 `allowedDataScopes`。
598
+ - **工具清单和普通回合一样,运行时不按工具名拦。** `widget_create`、`widget_rename`、`widget_write_record`、`widget_delete_record`、`widget_delete`、`widget_send`、`ask_question`、`data_access_request`、`data_access_read_result`、`proactive_propose` 调了会抛异常,模型看到错误;`data_access_query` 只能读订阅的 `allowedDataScopes`。
582
599
  - **开发者自己的工具,运行时不拦。** 用户不在场,工具里要是会发请求、写外部系统,就在 `beforeToolCall` 里按 `conversation.proactive.isRunning()` 挡掉:
583
600
 
584
601
  ```ts
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/conversation/agent.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAExF,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7D,OAAO,EAAkB,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIrD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAA8B,eAAe,EAAE,iBAAiB,EAAiB,MAAM,aAAa,CAAC;AAE5I,MAAM,WAAW,SAAS;IACzB,mCAAmC;IACnC,cAAc,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACrD,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,CAAC;IAClB,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,uDAAuD;IACvD,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,gBAAgB,EAAE,SAAS,eAAe,EAAE,CAAC;IAC7C,OAAO,EAAE,YAAY,CAAC;IACtB,GAAG,EAAE,WAAW,CAAC;IACjB,oCAAoC;IACpC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACnD;AAED,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,yDAAyD;IACzD,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,eAAe,EAAE,sBAAsB,CAAC;IACxC,iFAAiF;IACjF,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,kFAAkF;AAClF,wBAAsB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CA0LxE;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,iHAAuB,CAAC;AAEtD,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,YAAY,EAAE,CAErF;AAED,iDAAiD;AACjD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAQxD"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/conversation/agent.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAExF,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7D,OAAO,EAAkB,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAKrD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAA8B,eAAe,EAAE,iBAAiB,EAAiB,MAAM,aAAa,CAAC;AAE5I,MAAM,WAAW,SAAS;IACzB,mCAAmC;IACnC,cAAc,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACrD,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,CAAC;IAClB,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,uDAAuD;IACvD,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,gBAAgB,EAAE,SAAS,eAAe,EAAE,CAAC;IAC7C,OAAO,EAAE,YAAY,CAAC;IACtB,GAAG,EAAE,WAAW,CAAC;IACjB,oCAAoC;IACpC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACnD;AAED,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,yDAAyD;IACzD,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,eAAe,EAAE,sBAAsB,CAAC;IACxC,iFAAiF;IACjF,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,kFAAkF;AAClF,wBAAsB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CA2LxE;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,iHAAuB,CAAC;AAEtD,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,YAAY,EAAE,CAErF;AAED,iDAAiD;AACjD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAQxD"}
@@ -20,6 +20,7 @@ import { resourceListTool, resourceReadTool } from "../tools/resource.js";
20
20
  import { assertUniqueToolNames } from "../tools/registry.js";
21
21
  import { widgetTools } from "../tools/widget.js";
22
22
  import { dataAccessRequestTools, validateDataAccessRequest } from "../tools/dataAccessRequest.js";
23
+ import { proactiveProposeTool } from "../tools/proactive.js";
23
24
  /** 跑开发者工厂拿配置,叠上运行时预置,建 Agent。模型 id 运行时不支持、工具清单重名、拉平台 system prompt 失败 → throw。 */
24
25
  export async function createAgent(deps) {
25
26
  const dataAccessUsage = new DataAccessUsageTracker();
@@ -35,6 +36,7 @@ export async function createAgent(deps) {
35
36
  const [dataAccessRequest, dataAccessReadResult] = dataAccessRequestTools(client, deps.key, deps.enqueueMessage, dataAccessUsage, deps.dataRequirements, waitForUser);
36
37
  const [widgetCreate, widgetRead, widgetReadModule, widgetRename, widgetWriteRecord, widgetDeleteRecord, widgetDelete, widgetSend] = widgetTools(client, deps.key, deps.widgetTypes, deps.enqueueMessage, dataAccessUsage);
37
38
  const platformTools = {
39
+ proactive_propose: proactiveProposeTool(client, deps.key, deps.dataRequirements, dataAccessUsage),
38
40
  resource_list: resourceListTool(deps.resources),
39
41
  resource_read: resourceReadTool(deps.resources),
40
42
  ask_question: askQuestionTool(deps.enqueueMessage, dataAccessUsage, waitForUser),
@@ -88,7 +90,7 @@ export async function createAgent(deps) {
88
90
  },
89
91
  proactive: {
90
92
  propose: (request) => { dataAccessUsage.assertWritable(); return client.proposeProactiveSubscription(deps.key, request, deps.dataRequirements); },
91
- // 主动服务回合里 dataAccessUsage 的查询换成了执行令牌(index.ts 的 executeProactive 用 withQuery 包着整轮),它就是「这一轮是主动回合」的记号
93
+ // 「这一轮是不是主动回合」的记号:index.ts 的 executeProactive 用 dataAccessUsage.runProactive 包着整轮,作用域内 isProactive 为 true
92
94
  isRunning: () => dataAccessUsage.isProactive(),
93
95
  },
94
96
  widget: {
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/conversation/agent.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,sGAAsG;AACtG,yFAAyF;AACzF,kFAAkF;AAClF,qHAAqH;AACrH,yGAAyG;AACzG,kEAAkE;AAClE,6HAA6H;AAC7H,4EAA4E;AAC5E,oFAAoF;AACpF,sCAAsC;AAEtC,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAsClG,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAe;IAChD,MAAM,eAAe,GAAG,IAAI,sBAAsB,EAAE,CAAC;IACrD,kEAAkE;IAClE,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,MAAM,WAAW,GAAG,GAAS,EAAE;QAC9B,cAAc,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;IAC3B,CAAC,CAAC;IACF,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,6DAA6D;IAC7D,4CAA4C;IAC5C,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,eAAe,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IACrK,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,EAAE,UAAU,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IAC1N,MAAM,aAAa,GAAkB;QACpC,aAAa,EAAE,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC;QAC/C,aAAa,EAAE,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC;QAC/C,YAAY,EAAE,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,eAAe,EAAE,WAAW,CAAC;QAChF,iBAAiB,EAAE,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC;QAC3F,mBAAmB,EAAE,iBAAiB;QACtC,uBAAuB,EAAE,oBAAoB;QAC7C,aAAa,EAAE,YAAY;QAC3B,WAAW,EAAE,UAAU;QACvB,kBAAkB,EAAE,gBAAgB;QACpC,aAAa,EAAE,YAAY;QAC3B,mBAAmB,EAAE,iBAAiB;QACtC,oBAAoB,EAAE,kBAAkB;QACxC,aAAa,EAAE,YAAY;QAC3B,WAAW,EAAE,UAAU;KACvB,CAAC;IACF,2EAA2E;IAC3E,MAAM,YAAY,GAAiB;QAClC,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,aAAa;QACpB,6DAA6D;QAC7D,QAAQ,EAAE;YACT,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3D,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;gBACd,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;gBACxE,IAAI,KAAK,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;gBAC3D,OAAO,KAAK,CAAC,OAAO,CAAC;YACtB,CAAC;SACD;QACD,MAAM,EAAE;YACP,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YACvC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7G,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;SACnG;QACD,mEAAmE;QACnE,UAAU,EAAE;YACX,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC;YACrH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACxB,eAAe,CAAC,cAAc,EAAE,CAAC;gBACjC,MAAM,SAAS,GAAG,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACpF,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;gBACpO,WAAW,EAAE,CAAC;YACf,CAAC;YACD,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBAC/B,eAAe,CAAC,cAAc,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBACtE,eAAe,CAAC,aAAa,EAAE,CAAC;gBAChC,OAAO,MAAM,CAAC;YACf,CAAC;SACD;QACD,SAAS,EAAE;YACV,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,4BAA4B,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACjJ,oGAAoG;YACpG,SAAS,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE;SAC9C;QACD,MAAM,EAAE;YACP,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YACvC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACrG,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC7C,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC;YACzE,MAAM,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7G,WAAW,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACvH,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,GAAG,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC/I,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/F,eAAe,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/H,iCAAiC;YACjC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;SAChJ;KACD,CAAC;IACF,MAAM,OAAO,GAAiB,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACvE,iDAAiD;IACjD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC;IAClD,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC1B,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC;IACzD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACxC,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,YAAY,aAAa,EAAE,EAAE;gBACnD,QAAQ,EAAE,GAAG;gBACb,SAAS;gBACT,kDAAkD;gBAClD,oDAAoD;gBACpD,KAAK,EAAE,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,aAAa,CAAC;aAC7F,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC;IACvC,oEAAoE;IACpE,4FAA4F;IAC5F,IAAI,gBAAoC,CAAC;IACzC,IAAI,YAAgC,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK;QAC3B,SAAS,EAAE,SAAS,IAAI,CAAC,OAAO,IAAI,GAAG,EAAE;QACzC,YAAY,EAAE;YACb,KAAK;YACL,mBAAmB;YACnB,YAAY,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YAC9E,KAAK;YACL,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,aAAa,IAAI,KAAK;SAC1D;QACD,YAAY,EAAE,KAAK;QACnB,YAAY,EAAE,KAAK;QACnB,6FAA6F;QAC7F,gEAAgE;QAChE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3E,YAAY,EAAE,0BAA0B;QACxC,oDAAoD;QACpD,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;YACtB,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACzE,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC9B,YAAY,GAAG,SAAS,CAAC;YACzB,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,qFAAqF;QACrF,0DAA0D;QAC1D,cAAc,EACb,SAAS,KAAK,SAAS;YACtB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACpB,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;gBAC1D,IAAI,CAAC;oBACJ,OAAO,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACzC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACZ,GAAG,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC9G,MAAM,CAAC,CAAC;gBACT,CAAC;YACF,CAAC,CAAC;QACN,aAAa,EACZ,QAAQ,KAAK,SAAS;YACrB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACzG,mBAAmB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,cAAc,EAAE,CAAC;gBACpB,cAAc,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC;YACb,CAAC;YACD,IAAI,OAAO,CAAC,mBAAmB,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YAC5D,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAChE,IAAI,IAAI;gBAAE,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACb,CAAC;KACD,CAAC,CAAC;IACH,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;QACzB,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB;YAAE,YAAY,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;QACjE,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACxB,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC5B,kEAAkE;gBAClE,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;oBAChB,QAAQ,EAAE,GAAG;oBACb,EAAE,EAAE,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB;oBAC9E,YAAY,EAAE,gBAAgB,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,GAAG,gBAAgB;oBACxH,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,KAAK,EAAE,CAAC,CAAC,YAAY;oBACrB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,OAAO,EAAE,CAAC,CAAC,OAAO;iBAClB,CAAC,CAAC;gBACH,gBAAgB,GAAG,SAAS,CAAC;gBAC7B,YAAY,GAAG,SAAS,CAAC;YAC1B,CAAC;QACF,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;AAC1E,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAEtD,iEAAiE;AACjE,MAAM,UAAU,eAAe,CAAC,QAAwB,EAAE,GAAW;IACpE,OAAO,CAAC,GAAG,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;AAC9G,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,OAAO,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,YAAY,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAChH,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1G,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnG,CAAC"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/conversation/agent.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { AgentMessage, StreamFn } from "@earendil-works/pi-agent-core";
2
2
  import type { MLBClient, WidgetType } from "../mlbClient.ts";
3
3
  import type { Resource } from "../tools/resource.ts";
4
- import type { BuddyFactory, BuddyLogger, DataRequirement, ProactiveDecision, ProactiveRun } from "../types.ts";
4
+ import type { BuddyFactory, BuddyLogger, DataRequirement, ProactiveRun, ProactiveSkip } from "../types.ts";
5
5
  import type { CompactionSnapshot } from "./compaction.ts";
6
6
  export interface ConversationHandleDeps {
7
7
  /** 平台会话键:p_ 私聊、g_ 群 */
@@ -56,7 +56,7 @@ export declare class ConversationHandle {
56
56
  private _busy;
57
57
  private _closed;
58
58
  private _lastActivity;
59
- /** Proactive 只生成候选结果,不走普通回合的 delta/replying/消息写回。 */
59
+ /** 正在跑主动服务回合:不推 delta、不开 replying、正文不按普通回合写回(开口的那条收尾时写成 checkin),用户这时说话就打断它 */
60
60
  private proactiveRun;
61
61
  private proactiveTask;
62
62
  private deferredDuringProactive;
@@ -76,7 +76,8 @@ export declare class ConversationHandle {
76
76
  snapshotForCompaction(): CompactionSnapshot | undefined;
77
77
  /** SSE message / welcome 到了:让 reader 拉一次,welcome 另记下会话刚建好。已退役的直接忽略 */
78
78
  notify(welcome?: boolean): void;
79
- runProactive(run: ProactiveRun): Promise<ProactiveDecision>;
79
+ /** 平台发来的主动服务 Run:跑一轮主动回合。开口的那条已经写成 checkin 就回 undefined(平台落库或拦下时就定了这次的结论),不开口回 skip 结果交给平台,出错 throw */
80
+ runProactive(run: ProactiveRun): Promise<ProactiveSkip | undefined>;
80
81
  private executeProactive;
81
82
  /**
82
83
  * SSE delete 到了(或 server 空闲淘汰、stop、会话起不来):先标退役,再打断正在跑的回合,等回合收尾。可以重复调。
@@ -94,7 +95,7 @@ export declare class ConversationHandle {
94
95
  * 之后的是搭子还没回应过的,交给 admit 按平时同一条规矩处理:有该答的就起回合,没有就只进历史。
95
96
  */
96
97
  private rebuild;
97
- /** 一批新记录(reader 只交比上一批晚的,自己写回的也在里面):对方的交给 admit */
98
+ /** 一批新记录(reader 只交比上一批晚的,自己写回的也在里面——包括主动回合开口的 checkin,内存里本来就有):对方的交给 admit */
98
99
  private ingest;
99
100
  /**
100
101
  * 搭子还没回应过的对方记录(重建时是搭子最后一次说话之后的那段,平时是这批新来的),换成 user 消息分发。
@@ -106,7 +107,7 @@ export declare class ConversationHandle {
106
107
  * 跑一个回合。start 是这一回合的第一步:prompt 拉到的该答消息,或者新会话从场合交代接着 continue;
107
108
  * 没给(收尾时发现队列里还有消息)就直接消化队列。
108
109
  * 第一步跑完把回合中 steer 进来的消化完;出错或一句话没说,收尾时发一条 errorReply 兜底(没配 errorReply 就不发)。
109
- * 收尾:replying 关掉、等发平台的队列清空(每条写回的消息都拿到了平台定的时间)、heard 进历史、
110
+ * 收尾:replying 关掉、等发平台的队列清空(每条写回的消息都拿到了平台定的时间)、平台拒收的写回从历史里删掉、heard 进历史、
110
111
  * 这一轮进历史的消息按时间排好,才算不忙——排完的顺序跟手机上、跟重建出来的一样。
111
112
  * 收尾期间又有人 steer(busy 还是 true,走不了 prompt),就接着再跑一个回合把它消化掉。
112
113
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/conversation/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/conversation/index.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,7 @@ export class ConversationHandle {
48
48
  _busy = false;
49
49
  _closed = false;
50
50
  _lastActivity = Date.now();
51
- /** Proactive 只生成候选结果,不走普通回合的 delta/replying/消息写回。 */
51
+ /** 正在跑主动服务回合:不推 delta、不开 replying、正文不按普通回合写回(开口的那条收尾时写成 checkin),用户这时说话就打断它 */
52
52
  proactiveRun = false;
53
53
  proactiveTask;
54
54
  deferredDuringProactive = [];
@@ -104,6 +104,7 @@ export class ConversationHandle {
104
104
  this._lastActivity = Date.now();
105
105
  this.reader.notify();
106
106
  }
107
+ /** 平台发来的主动服务 Run:跑一轮主动回合。开口的那条已经写成 checkin 就回 undefined(平台落库或拦下时就定了这次的结论),不开口回 skip 结果交给平台,出错 throw */
107
108
  runProactive(run) {
108
109
  if (this.proactiveTask || this._busy)
109
110
  return Promise.resolve({ action: "skip", reasonCode: "user_recently_active" });
@@ -148,8 +149,12 @@ export class ConversationHandle {
148
149
  this._lastActivity = Date.now();
149
150
  const timeout = setTimeout(() => agent.abort(), 4 * 60_000);
150
151
  timeout.unref();
152
+ /** 这一轮写成 checkin 的那条:模型开口时,这一轮最后那条不调工具的 assistant */
153
+ let checkin;
151
154
  try {
152
- await tracker.withQuery((datasets, memberId, signal) => {
155
+ // runProactive 标记「这一轮是主动回合」(工具拦截的真值来源);withQuery 只把数据查询导到 capability token 通道。
156
+ // 两者分开:主动回合就算这一轮没查数据,assertWritable / isProactive 也照样成立。
157
+ await tracker.runProactive(() => tracker.withQuery((datasets, memberId, signal) => {
153
158
  if (memberId !== undefined)
154
159
  throw new Error("Proactive V1 只支持私聊,不接受 memberId");
155
160
  return this.deps.client.queryProactiveData(run.runId, run.capabilityToken, datasets, this.deps.dataRequirements, signal);
@@ -159,21 +164,27 @@ export class ConversationHandle {
159
164
  await agent.continue();
160
165
  while (!this._closed && !this.policyStopped && agent.hasQueuedMessages())
161
166
  await agent.continue();
162
- });
167
+ }));
163
168
  if (this._closed)
164
169
  return { action: "skip", reasonCode: "not_appropriate" };
165
170
  if (this.deferredDuringProactive.length > 0)
166
171
  return { action: "skip", reasonCode: "user_recently_active" };
167
172
  if (this.failed)
168
173
  throw new Error("Proactive model generation failed");
169
- const generated = agent.state.messages.slice(before).flatMap((message) => message.role === "assistant" && !message.content.some((block) => block.type === "toolCall") ? [textOf(message)] : []).filter(Boolean).join("\n\n").trim();
170
- const skipped = /^\[\[SKIP:(nothing_useful|already_discussed|insufficient_data|not_appropriate|user_recently_active)\]\]$/u.exec(generated);
171
- // 结论不在这儿记:最终裁定权在平台(提交时还要再过一遍闸门),由它连同 checkin 一起落库
174
+ // 模型的答复是这一轮最后那条 assistant:pi 跑到一条不调工具的 assistant 就停
175
+ const reply = agent.state.messages.length > before ? agent.state.messages.at(-1) : undefined;
176
+ const text = reply?.role === "assistant" && !reply.content.some((block) => block.type === "toolCall") ? textOf(reply).trim() : "";
177
+ const skipped = /^\[\[SKIP:(nothing_useful|already_discussed|insufficient_data|not_appropriate|user_recently_active)\]\]$/u.exec(text);
178
+ // 不开口的结论不在这儿记:最终裁定权在平台(提交时还要再过一遍闸门),由它落库
172
179
  if (skipped)
173
180
  return { action: "skip", reasonCode: skipped[1] };
174
- if (!generated || generated.includes("[[SKIP:"))
181
+ if (!text || text.includes("[[SKIP:"))
175
182
  return { action: "skip", reasonCode: "insufficient_data" };
176
- return { action: "send", text: generated, reasonCode: "useful_update" };
183
+ // 开口:写成 checkin、带这次 Run 的凭据,跟普通回合的回复走同一条写回队列;平台复核闸门拦下回 403,下面照拒收删掉。
184
+ // 这一轮查过授权数据的,心声不落库(主动回合里 agent_end 不清用量,hasUsage 算的是整轮)
185
+ checkin = reply;
186
+ this.writer.checkin(checkin, { runId: run.runId, capabilityToken: run.capabilityToken }, tracker.hasUsage());
187
+ return undefined;
177
188
  }
178
189
  catch (error) {
179
190
  this.deps.log.warn("Proactive Run 执行失败", { runId: run.runId, convoKey: this.deps.key, error: errorText(error) });
@@ -183,7 +194,13 @@ export class ConversationHandle {
183
194
  clearTimeout(timeout);
184
195
  agent.clearSteeringQueue();
185
196
  agent.clearFollowUpQueue();
186
- agent.state.messages = agent.state.messages.slice(0, before);
197
+ // 等写回队列清空:这一轮的工具步和开口的 checkin 都拿到平台的结果
198
+ await this.writer.flush();
199
+ // 这一轮只留平台收下的,进程里的历史才跟重建出来的一样:正常收尾、带工具调用的步在 turn_end 写回过,开口的那条写成了 checkin,
200
+ // 其中被平台拒收的删掉;没写回的——[[SKIP:…]]、没开口时的正文、被打断或出错的那一步——也删掉
201
+ const produced = agent.state.messages.slice(before);
202
+ const unwritten = produced.filter((m) => m.role === "assistant" && m !== checkin && (stoppedByErrorOrAbort(m) || !m.content.some((block) => block.type === "toolCall")));
203
+ agent.state.messages = [...agent.state.messages.slice(0, before), ...sortByTimestamp(withoutMessages(produced, [...unwritten, ...this.writer.takeRejected()]))];
187
204
  tracker.clear();
188
205
  this.proactiveRun = false;
189
206
  this._busy = false;
@@ -267,19 +284,11 @@ export class ConversationHandle {
267
284
  this.deps.log.info("历史已重建", { convoKey: this.deps.key, records: history.length, pending: pending.length, transcript: agent.state.messages.length });
268
285
  this.admit(theirsOf(pending));
269
286
  }
270
- /** 一批新记录(reader 只交比上一批晚的,自己写回的也在里面):对方的交给 admit */
287
+ /** 一批新记录(reader 只交比上一批晚的,自己写回的也在里面——包括主动回合开口的 checkin,内存里本来就有):对方的交给 admit */
271
288
  ingest(batch) {
272
289
  if (this.agent === undefined || this._closed || batch.length === 0)
273
290
  return;
274
291
  this._lastActivity = Date.now();
275
- // Proactive results are written by the platform, not by this Agent.
276
- // Pull the committed checkin back into the next ordinary turn's context.
277
- const checkins = batch.filter((record) => record.author === "buddy" && record.type === "checkin");
278
- const external = mlbMessagesToAgentMessages(checkins, this.identity, this.imageInput);
279
- if (this._busy)
280
- this.heard.push(...external);
281
- else
282
- this.agent.state.messages.push(...external);
283
292
  this.admit(theirsOf(batch));
284
293
  }
285
294
  /**
@@ -322,7 +331,7 @@ export class ConversationHandle {
322
331
  * 跑一个回合。start 是这一回合的第一步:prompt 拉到的该答消息,或者新会话从场合交代接着 continue;
323
332
  * 没给(收尾时发现队列里还有消息)就直接消化队列。
324
333
  * 第一步跑完把回合中 steer 进来的消化完;出错或一句话没说,收尾时发一条 errorReply 兜底(没配 errorReply 就不发)。
325
- * 收尾:replying 关掉、等发平台的队列清空(每条写回的消息都拿到了平台定的时间)、heard 进历史、
334
+ * 收尾:replying 关掉、等发平台的队列清空(每条写回的消息都拿到了平台定的时间)、平台拒收的写回从历史里删掉、heard 进历史、
326
335
  * 这一轮进历史的消息按时间排好,才算不忙——排完的顺序跟手机上、跟重建出来的一样。
327
336
  * 收尾期间又有人 steer(busy 还是 true,走不了 prompt),就接着再跑一个回合把它消化掉。
328
337
  */
@@ -372,6 +381,10 @@ export class ConversationHandle {
372
381
  }
373
382
  this.writer.replying({ on: false });
374
383
  await this.writer.flush();
384
+ // 平台拒收的写回,历史里对应那条删掉(工具步连同它的结果):模型看到的跟平台上存着的、用户屏上看到的一样
385
+ const rejected = this.writer.takeRejected();
386
+ if (rejected.length > 0)
387
+ agent.state.messages = withoutMessages(agent.state.messages, rejected);
375
388
  if (this.heard.length > 0) {
376
389
  agent.state.messages.push(...this.heard);
377
390
  this.heard = [];
@@ -417,7 +430,9 @@ export class ConversationHandle {
417
430
  });
418
431
  this.writer.retarget(replaced);
419
432
  }
420
- this.dataAccessUsage?.clear();
433
+ // 普通回合每次 run 收尾清掉授权数据用量;主动回合整轮算一次(开口的 checkin 整轮跑完才写,要知道这一轮碰没碰过),在收尾时清
434
+ if (!this.proactiveRun)
435
+ this.dataAccessUsage?.clear();
421
436
  this.deps.log.info("pi 的 prompt / continue 跑完", { convoKey: this.deps.key, newMessages: event.messages.length, queued: agent.hasQueuedMessages() });
422
437
  break;
423
438
  case "message_end": {
@@ -480,4 +495,12 @@ function sortByTimestamp(messages) {
480
495
  steps.sort((a, b) => a[0].timestamp - b[0].timestamp);
481
496
  return steps.flat();
482
497
  }
498
+ /** 从历史里删掉这几条;删的是带工具调用的 assistant 时,它那几个调用的结果一起删——历史里不留没有结果的调用,也不留没有调用的结果 */
499
+ function withoutMessages(messages, drop) {
500
+ if (drop.length === 0)
501
+ return messages;
502
+ const dropped = new Set(drop);
503
+ const calls = new Set(drop.flatMap((m) => (m.role === "assistant" ? m.content.flatMap((block) => (block.type === "toolCall" ? [block.id] : [])) : [])));
504
+ return messages.filter((m) => !dropped.has(m) && !(m.role === "toolResult" && calls.has(m.toolCallId)));
505
+ }
483
506
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/conversation/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/conversation/index.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,kFAAkF;AAClF,gCAAgC;AAChC,+HAA+H;AAC/H,+CAA+C;AAC/C,wGAAwG;AACxG,4EAA4E;AAC5E,mHAAmH;AAEnH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AACvI,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAK5D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAwBvD,MAAM,OAAO,kBAAkB;IAC9B,sDAAsD;IAC9C,gBAAgB,GAAG,KAAK,CAAC;IACzB,OAAO,GAAmB,EAAE,CAAC;IAC7B,aAAa,GAAG,KAAK,CAAC;IACb,IAAI,CAAyB;IAC9C,sEAAsE;IAC9D,QAAQ,CAAiB;IACjC,sDAAsD;IAC9C,UAAU,GAAG,KAAK,CAAC;IACV,MAAM,CAAkB;IACxB,MAAM,CAAkB;IAEzC,iCAAiC;IACzB,KAAK,CAAoB;IACzB,eAAe,CAAqC;IAC5D,kDAAkD;IAC1C,UAAU,CAAqB;IACvC,0BAA0B;IAClB,OAAO,GAAG,KAAK,CAAC;IACxB,+BAA+B;IACvB,KAAK,GAAmB,EAAE,CAAC;IACnC,6CAA6C;IACrC,OAAO,GAAG,EAAE,CAAC;IACrB,8BAA8B;IACtB,KAAK,CAA4B;IACzC,kEAAkE;IAC1D,KAAK,GAAG,KAAK,CAAC;IACtB,2EAA2E;IACnE,MAAM,GAAG,KAAK,CAAC;IACf,KAAK,GAAG,KAAK,CAAC;IACd,OAAO,GAAG,KAAK,CAAC;IAChB,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACnC,+EAA+E;IACvE,YAAY,GAAG,KAAK,CAAC;IACrB,aAAa,CAAiD;IAC9D,uBAAuB,GAAiB,EAAE,CAAC;IAEnD,YAAY,IAA4B;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC;YACjC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;SACnD,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC;YACjC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/B,GAAG,EAAE,IAAI,CAAC,GAAG;SACb,CAAC,CAAC;IACJ,CAAC;IAED,2BAA2B;IAC3B,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,uCAAuC;IACvC,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IAED,uBAAuB;IACvB,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,uCAAuC;IACvC,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;IACzC,CAAC;IAED;;;OAGG;IACH,qBAAqB;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QACxE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5E,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC5I,CAAC;IAED,sEAAsE;IACtE,MAAM,CAAC,OAAO,GAAG,KAAK;QACrB,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,gBAAgB,KAAK,OAAO,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC;IAED,uGAAuG;IACvG,YAAY,CAAC,GAAiB;QAC7B,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,sBAAsB,EAAE,CAAC,CAAC;QACrH,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI;YAAE,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC9G,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,GAAiB;QAC/C,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;QAC9F,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACpF,IAAI,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC;QAC/H,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC;QAC1F,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;QAC3E,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,sBAAsB,EAAE,CAAC;QAC9E,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC;QACzF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC;QACrC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC;QACnF,+DAA+D;QAC/D,mEAAmE;QACnE,8CAA8C;QAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,IAAI,EAAE,IAAI,KAAK,MAAM;YAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,sBAAsB,EAAE,CAAC;QACzF,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3C,wEAAwE;QACxE,uEAAuE;QACvE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;QAC5D,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,qDAAqD;QACrD,IAAI,OAAqC,CAAC;QAC1C,IAAI,CAAC;YACJ,+EAA+E;YAC/E,yDAAyD;YACzD,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAC/B,OAAO,CAAC,SAAS,CAChB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;gBAC9B,IAAI,QAAQ,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBAC/E,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;YAC1H,CAAC,EACD,KAAK,IAAI,EAAE;gBACV,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO;gBACpE,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,iBAAiB,EAAE;oBAAE,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;YAClG,CAAC,CACD,CACD,CAAC;YACF,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;YAC3E,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,sBAAsB,EAAE,CAAC;YAC3G,IAAI,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACtE,oDAAoD;YACpD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7F,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClI,MAAM,OAAO,GAAG,2GAA2G,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvI,yCAAyC;YACzC,IAAI,OAAO;gBAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAgC,EAAE,CAAC;YAC9F,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC;YAClG,oEAAoE;YACpE,wDAAwD;YACxD,OAAO,GAAG,KAAyB,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,CAAC,eAAe,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7G,OAAO,SAAS,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjH,MAAM,KAAK,CAAC;QACb,CAAC;gBAAS,CAAC;YACV,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC3B,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC3B,uCAAuC;YACvC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1B,0EAA0E;YAC1E,sDAAsD;YACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC;YACzK,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,eAAe,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAChK,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC;YAC9C,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;IACF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACV,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;QACpC,MAAM,IAAI,CAAC,KAAK,CAAC;QACjB,MAAM,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,yDAAyD;IACjD,MAAM;QACb,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,UAAU;IAEV;;;OAGG;IACK,KAAK,CAAC,UAAU,CAAC,QAAsB;QAC9C,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACpD,yDAAyD;QACzD,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO;QAC7B,IAAI,CAAC;YACJ,6DAA6D;YAC7D,uCAAuC;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;YAClH,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7B,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtG,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC;YAC7E,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3B,CAAC;IACF,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,OAAO,CAAC,OAAqB;QAC1C,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC;YACjC,GAAG,IAAI,CAAC,IAAI;YACZ,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC;YAC9D,gBAAgB,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;YAC9C,YAAY,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC;YAClD,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC;SAC7C,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACtD,wDAAwD;QACxD,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,eAAe,CAAC,0BAA0B,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5G,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACpJ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,8EAA8E;IACtE,MAAM,CAAC,KAAmB;QACjC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC3E,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,MAAoB;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACvE,MAAM,QAAQ,GAAG,0BAA0B,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACpF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAClC,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,WAAW;YAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC;QACrG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;YAC7C,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,OAAO;QACR,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,WAAW;gBAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;;gBAC1E,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC5C,OAAO;QACR,CAAC;QACD,IAAI,WAAW;YAAE,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;;YAC/E,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,QAAQ;IAER;;;;;;;OAOG;IACK,KAAK,CAAC,QAAQ,CAAC,KAAoD;QAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAChD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC;YACJ,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC;gBACnD,yDAAyD;gBACzD,0CAA0C;gBAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACtC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBACnB,KAAK,CAAC,kBAAkB,EAAE,CAAC;oBAC3B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oBAC3B,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC5B,CAAC;qBAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBAC/B,KAAK,CAAC,kBAAkB,EAAE,CAAC;oBAC3B,MAAM;gBACP,CAAC;;oBAAM,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC/B,CAAC;QACF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtE,gEAAgE;gBAChE,mCAAmC;gBACnC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAClF,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,YAAY,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC/I,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACpC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1B,sDAAsD;YACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAC5C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAChG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACjB,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;YACrC,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACxG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;gBAC1B,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;gBACvB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY;aAC/B,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,iBAAiB,EAAE;gBAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACvF,CAAC;IACF,CAAC;IAED,cAAc;IAEd;;;OAGG;IACK,OAAO,CAAC,KAAY,EAAE,KAAiB;QAC9C,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC;YACJ,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAK,aAAa;oBACjB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC5E,MAAM;gBACP,KAAK,WAAW;oBACf,IAAI,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,EAAE,CAAC;wBACtC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;wBACpC,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;wBACpH,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;wBAC7B,gCAAgC;wBAChC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;wBACvD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;4BACvB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;gCAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/C,CAAC,CAAC,CAAC;wBACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAChC,CAAC;oBACD,uEAAuE;oBACvE,IAAI,CAAC,IAAI,CAAC,YAAY;wBAAE,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC;oBACtD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;oBACpJ,MAAM;gBACP,KAAK,aAAa,CAAC,CAAC,CAAC;oBACpB,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;oBACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;oBAC3D,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBAC5B,MAAM,OAAO,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBACzC,IAAI,OAAO;4BAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;6BAC3B,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE;4BAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;wBAC7C,iEAAiE;wBACjE,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;4BAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAC1J,CAAC;oBACD,MAAM;gBACP,CAAC;gBACD,KAAK,UAAU,CAAC,CAAC,CAAC;oBACjB,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;oBACxB,sDAAsD;oBACtD,+CAA+C;oBAC/C,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;wBACjH,IAAI,CAAC,MAAM,CAAC,QAAQ,CACnB,CAAC,EACD,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,KAAK,CAAC,KAAK,EACjB,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC,EACzD,EAAE,iBAAiB,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,CACrF,CAAC;oBACH,CAAC;oBACD,MAAM;gBACP,CAAC;gBACD,KAAK,gBAAgB;oBACpB,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,qBAAqB,CAAC,IAAI,KAAK,YAAY;wBAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;oBAClI,MAAM;gBACP,KAAK,sBAAsB,CAAC,CAAC,CAAC;oBAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;oBAC9E,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,KAAK;wBAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;oBACnF,MAAM;gBACP,CAAC;gBACD;oBACC,MAAM;YACR,CAAC;QACF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1G,CAAC;IACF,CAAC;CACD;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,QAAwB;IAChD,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;YAC3D,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACrB,CAAC;AAED,4EAA4E;AAC5E,SAAS,eAAe,CAAC,QAAwB,EAAE,IAAoB;IACtE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxJ,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACzG,CAAC"}
@@ -25,6 +25,8 @@ export declare class WriteMLBMessage {
25
25
  private deltaBuffer;
26
26
  private deltaTimer;
27
27
  private closed;
28
+ /** 平台拒收(4xx)的写回对应的内存消息,等会话在回合收尾用 takeRejected 取走 */
29
+ private rejected;
28
30
  constructor(deps: WriteMLBMessageDeps);
29
31
  /** 业务消息与 delta、模型写回共用同一队列。target:这条在内存历史里对应的消息(errorReply 兜底话有),平台回的时间写到它身上 */
30
32
  enqueueMessage(message: MLBMessageToWrite, target?: AgentMessage): void;
@@ -46,8 +48,16 @@ export declare class WriteMLBMessage {
46
48
  dataAccessTainted?: boolean;
47
49
  proactive?: boolean;
48
50
  }): void;
49
- /** DataAccess 脱敏把这一轮的消息换成了副本(old new):还没写完的,平台回的时间改写到副本上 */
51
+ /** 主动服务回合开口的那条写成 checkin,带这次 Run 的凭据;平台复核闸门拦下回 403,照拒收处理。
52
+ * dataAccessTainted:这一轮碰过用户授权数据,心声不落库 */
53
+ checkin(m: AssistantMessage, proactiveRun: {
54
+ runId: string;
55
+ capabilityToken: string;
56
+ }, dataAccessTainted: boolean): void;
57
+ /** DataAccess 脱敏把这一轮的消息换成了副本(old → new):还没写完的,平台回的时间改写到副本上;已经被拒收记下的,也换成副本 */
50
58
  retarget(replaced: Map<AgentMessage, AgentMessage>): void;
59
+ /** 取走平台拒收的写回对应的内存消息并清空:会话在回合收尾等队列清空之后调,把它们从历史里删掉 */
60
+ takeRejected(): AgentMessage[];
51
61
  /** 攒着的字发出去,等队列清空(退役后只剩开关要发) */
52
62
  flush(): Promise<void>;
53
63
  /** 退役:攒着的字扔掉,正在退避等重发的立刻醒来;队列里没发的字与写回在串行链上丢掉,开关照发 */
@@ -59,7 +69,7 @@ export declare class WriteMLBMessage {
59
69
  private enqueue;
60
70
  /** 串行链:一次发队头一项,发完(或退役丢掉)才出队;写回遇到网络错误留在队头,退避后带同一个键重发 */
61
71
  private drain;
62
- /** 写一条:delivered → 平台回的时间写进内存那条消息;rejected(4xx)→ warn;都算发完回 true。throw(网络 / 5xx)→ 退避后回 false,留队重发 */
72
+ /** 写一条:delivered → 平台回的时间写进内存那条消息;rejected(4xx)→ warn,内存那条记进 rejected;都算发完回 true。throw(网络 / 5xx)→ 退避后回 false,留队重发 */
63
73
  private send;
64
74
  private clearTimer;
65
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writeMLBMessage.d.ts","sourceRoot":"","sources":["../../src/conversation/writeMLBMessage.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAGjF,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AASlE,MAAM,WAAW,mBAAmB;IACnC,MAAM,EAAE,SAAS,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,WAAW,CAAC;CACjB;AAQD,qBAAa,eAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsB;IAC3C,OAAO,CAAC,KAAK,CAAc;IAC3B,yBAAyB;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,eAAe;IACf,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,UAAU,CAAsB;IACxC,oBAAoB;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;IAC/C,cAAc;IACd,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,UAAU,CAA4C;IAC9D,OAAO,CAAC,MAAM,CAAS;gBAEX,IAAI,EAAE,mBAAmB;IAIrC,+EAA+E;IAC/E,cAAc,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI;IAEvE,gDAAgD;IAChD,QAAQ,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAKtD,4BAA4B;IAC5B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWzB;8CAC0C;IAC1C,SAAS,CAAC,CAAC,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,EAAE,OAAO,GAAG,IAAI;IAKjE,qEAAqE;IACrE,QAAQ,CACP,CAAC,EAAE,gBAAgB,EACnB,WAAW,EAAE,iBAAiB,EAAE,EAChC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,EACxC,mBAAmB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,EACpD,IAAI,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GACzD,IAAI;IAKP,8DAA8D;IAC9D,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,IAAI;IASzD,+BAA+B;IAC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,oDAAoD;IACpD,KAAK,IAAI,IAAI;IAOb,sCAAsC;IACtC,OAAO,CAAC,KAAK;IAQb,0DAA0D;IAC1D,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,OAAO;IAKf,uDAAuD;YACzC,KAAK;IAyBnB,qGAAqG;YACvF,IAAI;IAgClB,OAAO,CAAC,UAAU;CAKlB"}
1
+ {"version":3,"file":"writeMLBMessage.d.ts","sourceRoot":"","sources":["../../src/conversation/writeMLBMessage.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAGjF,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AASlE,MAAM,WAAW,mBAAmB;IACnC,MAAM,EAAE,SAAS,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,WAAW,CAAC;CACjB;AAQD,qBAAa,eAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsB;IAC3C,OAAO,CAAC,KAAK,CAAc;IAC3B,yBAAyB;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,eAAe;IACf,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,UAAU,CAAsB;IACxC,oBAAoB;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;IAC/C,cAAc;IACd,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,UAAU,CAA4C;IAC9D,OAAO,CAAC,MAAM,CAAS;IACvB,oDAAoD;IACpD,OAAO,CAAC,QAAQ,CAAsB;gBAE1B,IAAI,EAAE,mBAAmB;IAIrC,+EAA+E;IAC/E,cAAc,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI;IAEvE,gDAAgD;IAChD,QAAQ,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAKtD,4BAA4B;IAC5B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWzB;8CAC0C;IAC1C,SAAS,CAAC,CAAC,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,EAAE,OAAO,GAAG,IAAI;IAKjE,qEAAqE;IACrE,QAAQ,CACP,CAAC,EAAE,gBAAgB,EACnB,WAAW,EAAE,iBAAiB,EAAE,EAChC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,EACxC,mBAAmB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,EACpD,IAAI,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GACzD,IAAI;IAKP;8CAC0C;IAC1C,OAAO,CAAC,CAAC,EAAE,gBAAgB,EAAE,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,EAAE,iBAAiB,EAAE,OAAO,GAAG,IAAI;IAKxH,6EAA6E;IAC7E,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,IAAI;IAUzD,oDAAoD;IACpD,YAAY,IAAI,YAAY,EAAE;IAM9B,+BAA+B;IAC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,oDAAoD;IACpD,KAAK,IAAI,IAAI;IAOb,sCAAsC;IACtC,OAAO,CAAC,KAAK;IAQb,0DAA0D;IAC1D,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,OAAO;IAKf,uDAAuD;YACzC,KAAK;IAyBnB,qHAAqH;YACvG,IAAI;IAiClB,OAAO,CAAC,UAAU;CAKlB"}
@@ -3,7 +3,9 @@
3
3
  // 上一次写回之后收到的第一段 delta,由下一条模型消息的写回领走。字和写回排在一条队列里,平台收到的先后就是模型出字的先后;
4
4
  // 一条写回在重发,后面的字跟着等,领不错。
5
5
  // 管:delta 每 120 毫秒攒一帧,写回与开关之前先把攒着的发掉;入参是 pi 消息,mlbMessageAgentMessageConverter.ts 换成写口 body;入队那一刻分配幂等键(之后重发一字不变);
6
- // POST /internal/v1/messages 成功后把平台回的时间写进内存里那条消息的 timestamp(回合收尾按它排);4xx 丢弃并 warn(平台明确拒绝,重发没用);
6
+ // 主动服务回合开口的那条写成 checkin、带这次 Run 的凭据,跟别的写回走同一条队列;
7
+ // POST /internal/v1/messages 成功后把平台回的时间写进内存里那条消息的 timestamp(回合收尾按它排);
8
+ // 4xx 不重发并 warn(平台明确拒绝,重发没用),内存里对应那条记下来,会话在回合收尾用 takeRejected 取走、从历史里删掉;
7
9
  // 网络错误 / 5xx 留队退避重发(1 秒起步、翻倍、封顶 10 秒);等队列清空;退役时丢掉没发的字与写回、打断重发等待,开关照发(收尾要把三个圆点熄掉)。
8
10
  // 不管:什么时候开关、什么时候写(index.ts 按 Agent 事件调这里)、HTTP 请求本身(mlbClient.ts)。
9
11
  import { assistantMessageToMLBMessage, toolStepToMLBMessage } from "./mlbMessageAgentMessageConverter.js";
@@ -28,6 +30,8 @@ export class WriteMLBMessage {
28
30
  deltaBuffer = "";
29
31
  deltaTimer;
30
32
  closed = false;
33
+ /** 平台拒收(4xx)的写回对应的内存消息,等会话在回合收尾用 takeRejected 取走 */
34
+ rejected = [];
31
35
  constructor(deps) {
32
36
  this.deps = deps;
33
37
  }
@@ -63,7 +67,14 @@ export class WriteMLBMessage {
63
67
  if (out !== null)
64
68
  this.write(out, m);
65
69
  }
66
- /** DataAccess 脱敏把这一轮的消息换成了副本(old new):还没写完的,平台回的时间改写到副本上 */
70
+ /** 主动服务回合开口的那条写成 checkin,带这次 Run 的凭据;平台复核闸门拦下回 403,照拒收处理。
71
+ * dataAccessTainted:这一轮碰过用户授权数据,心声不落库 */
72
+ checkin(m, proactiveRun, dataAccessTainted) {
73
+ const out = assistantMessageToMLBMessage(m, dataAccessTainted);
74
+ if (out !== null)
75
+ this.write({ ...out, type: "checkin", proactiveRun }, m);
76
+ }
77
+ /** DataAccess 脱敏把这一轮的消息换成了副本(old → new):还没写完的,平台回的时间改写到副本上;已经被拒收记下的,也换成副本 */
67
78
  retarget(replaced) {
68
79
  if (replaced.size === 0)
69
80
  return;
@@ -74,6 +85,13 @@ export class WriteMLBMessage {
74
85
  if (next !== undefined)
75
86
  item.target = next;
76
87
  }
88
+ this.rejected = this.rejected.map((m) => replaced.get(m) ?? m);
89
+ }
90
+ /** 取走平台拒收的写回对应的内存消息并清空:会话在回合收尾等队列清空之后调,把它们从历史里删掉 */
91
+ takeRejected() {
92
+ const rejected = this.rejected;
93
+ this.rejected = [];
94
+ return rejected;
77
95
  }
78
96
  /** 攒着的字发出去,等队列清空(退役后只剩开关要发) */
79
97
  flush() {
@@ -149,7 +167,7 @@ export class WriteMLBMessage {
149
167
  resolve();
150
168
  }
151
169
  }
152
- /** 写一条:delivered → 平台回的时间写进内存那条消息;rejected(4xx)→ warn;都算发完回 true。throw(网络 / 5xx)→ 退避后回 false,留队重发 */
170
+ /** 写一条:delivered → 平台回的时间写进内存那条消息;rejected(4xx)→ warn,内存那条记进 rejected;都算发完回 true。throw(网络 / 5xx)→ 退避后回 false,留队重发 */
153
171
  async send(item) {
154
172
  const head = item.message;
155
173
  let result;
@@ -174,7 +192,9 @@ export class WriteMLBMessage {
174
192
  item.target.timestamp = timestamp;
175
193
  }
176
194
  else {
177
- this.deps.log.warn("写消息被平台拒绝,丢弃", {
195
+ if (item.target)
196
+ this.rejected.push(item.target);
197
+ this.deps.log.warn("写消息被平台拒绝,不重发,历史里对应那条回合收尾时删掉", {
178
198
  convoKey: this.deps.key,
179
199
  idempotencyKey: head.idempotencyKey,
180
200
  type: head.type,