@my-life-buddies/buddy-runtime 0.24.0-dev.2 → 0.24.0-dev.3

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.
Files changed (44) hide show
  1. package/README.md +114 -2
  2. package/dist/conversation/agent.d.ts +7 -1
  3. package/dist/conversation/agent.d.ts.map +1 -1
  4. package/dist/conversation/agent.js +64 -4
  5. package/dist/conversation/agent.js.map +1 -1
  6. package/dist/conversation/index.d.ts +6 -2
  7. package/dist/conversation/index.d.ts.map +1 -1
  8. package/dist/conversation/index.js +33 -3
  9. package/dist/conversation/index.js.map +1 -1
  10. package/dist/conversation/mlbMessageAgentMessageConverter.js +1 -1
  11. package/dist/conversation/mlbMessageAgentMessageConverter.js.map +1 -1
  12. package/dist/index.d.ts +1 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js.map +1 -1
  15. package/dist/mlbClient.d.ts +5 -1
  16. package/dist/mlbClient.d.ts.map +1 -1
  17. package/dist/mlbClient.js +33 -1
  18. package/dist/mlbClient.js.map +1 -1
  19. package/dist/server.d.ts.map +1 -1
  20. package/dist/server.js +76 -2
  21. package/dist/server.js.map +1 -1
  22. package/dist/services/cache.d.ts +15 -0
  23. package/dist/services/cache.d.ts.map +1 -0
  24. package/dist/services/cache.js +58 -0
  25. package/dist/services/cache.js.map +1 -0
  26. package/dist/services/manifest.d.ts +3 -0
  27. package/dist/services/manifest.d.ts.map +1 -0
  28. package/dist/services/manifest.js +19 -0
  29. package/dist/services/manifest.js.map +1 -0
  30. package/dist/services/session.d.ts +10 -0
  31. package/dist/services/session.d.ts.map +1 -0
  32. package/dist/services/session.js +57 -0
  33. package/dist/services/session.js.map +1 -0
  34. package/dist/services/types.d.ts +122 -0
  35. package/dist/services/types.d.ts.map +1 -0
  36. package/dist/services/types.js +2 -0
  37. package/dist/services/types.js.map +1 -0
  38. package/dist/tools/service.d.ts +18 -0
  39. package/dist/tools/service.d.ts.map +1 -0
  40. package/dist/tools/service.js +25 -0
  41. package/dist/tools/service.js.map +1 -0
  42. package/dist/types.d.ts +20 -4
  43. package/dist/types.d.ts.map +1 -1
  44. package/package.json +3 -3
package/README.md CHANGED
@@ -75,7 +75,7 @@ await BuddyServer.start(() => ({
75
75
 
76
76
  连上平台开始处理消息,返回 `{ stop(): Promise<void> }`。
77
77
 
78
- `buddy` 是每场会话建起来时调用一次的工厂函数,返回这场会话的配置,见 2.2、2.3。DataAccess 声明不属于会话工厂,单独写在工程根目录的 `data-access.json`,见 3.4。
78
+ `buddy` 是每场会话建起来时调用一次的工厂函数,返回这场会话的配置,见 2.2、2.3。需要按服务凭证切换配置时,在返回值中提供可选的 `configureTurn`,不重复执行工厂,见 3.7。DataAccess 声明不属于会话工厂,单独写在工程根目录的 `data-access.json`,见 3.4。
79
79
 
80
80
  **buddyId 与 token**:buddyId 从工程 `package.json` 顶层的 `buddyId` 字段读,token 从环境变量 `BUDDY_TOKEN` 读,缺一个都启动失败。创建搭子时会下发 buddyId 与开发 token:buddyId 写进 `package.json`,随工程进 git 与发布包,平台收包时会比对它与推送目标是否一致;开发 token 写在 `.env`,由启动命令带进环境变量。正式上线时平台托管注入正式 token 到同名变量,对开发者无感。
81
81
 
@@ -218,6 +218,7 @@ interface Conversation {
218
218
  | 用户授权数据 | `conversation.dataAccess.query` / `conversation.dataAccess.request` | `data_access_query` / `data_access_request` |
219
219
  | 小挂件 | `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` |
220
220
  | 主动服务 | `conversation.proactive.subscribe` / `list` / `unsubscribe` / `unsubscribeAll` / `isRunning` | `proactive_subscribe` / `proactive_list` / `proactive_unsubscribe` / `proactive_unsubscribe_all` |
221
+ | 付费服务(内测) | `conversation.service`:展示服务、读取、启用和终止服务凭证 | `show_service_card` |
221
222
 
222
223
  ```ts
223
224
  buddy: (conversation) => ({
@@ -635,7 +636,7 @@ await BuddyServer.start((conversation) => ({
635
636
 
636
637
  **主动服务的回合,不允许使用部分模型工具**
637
638
 
638
- 主动服务的回合里工具清单一个字都不动,平台工具和你自己的工具都照常执行,运行时不按回合性质拦任何一个。有时我们想禁用部分模型工具,比如一些写操作,可以使用 `beforeToolCall` 的钩子函数,用 `conversation.proactive.isRunning()` 能判断当前是不是主动服务的回合:
639
+ 主动服务回合沿用当前配置的工具,数据授权保护照常生效;`show_service_card` 只允许普通用户私聊回合调用,见 3.7。开发者如需进一步限制其他工具,可以使用 `beforeToolCall`,通过 `conversation.proactive.isRunning()` 判断当前是否为主动服务回合:
639
640
 
640
641
  ```ts
641
642
  beforeToolCall: async ({ toolCall }) =>
@@ -643,3 +644,114 @@ beforeToolCall: async ({ toolCall }) =>
643
644
  ? { block: true, reason: "这一轮用户不在场,这个工具用不了。" }
644
645
  : undefined,
645
646
  ```
647
+
648
+ ### 3.7 付费服务(内测)
649
+
650
+ 在私聊展示服务卡,用户查看详情后可以完成不扣费的模拟购买。平台在购买成功后生成一份待启用服务凭证,创作者决定何时启用和终止。没有单独的授予凭证接口。群聊暂不支持。
651
+
652
+ **准备工作**
653
+
654
+ 工程根目录放置 `services.json`,包含 `schemaVersion: 1` 与 `services` 数组。每项声明包含服务标识、版本、名称、可选通用说明、适用对象、计价单位、服务内容、开始/结束条件、不包含的服务和拟售价格。提交后需要平台审核;格式正确不等于已获准售卖。更改内容必须增加版本,不能覆盖旧版本。
655
+
656
+ ```json
657
+ {
658
+ "schemaVersion": 1,
659
+ "services": [{
660
+ "serviceId": "plant_care",
661
+ "version": "1",
662
+ "name": "植物养护陪伴",
663
+ "description": "结合用户的记录提供养护安排和调整建议。",
664
+ "audience": "希望获得持续养护支持的用户",
665
+ "pricingUnitLabel": "一次养护计划",
666
+ "benefits": [{ "title": "养护计划", "description": "结合观察记录调整安排" }],
667
+ "serviceTerms": {
668
+ "startCondition": "购买后确认资料并开始",
669
+ "endCondition": "计划完成交付后结束"
670
+ },
671
+ "limitations": ["不含上门养护", "不保证植物恢复"],
672
+ "requestedPrice": { "amountMinor": 3900, "currency": "CNY" }
673
+ }]
674
+ }
675
+ ```
676
+
677
+ 文件缺失时不提交,旧工程升级后无需新增配置。文件存在则启动后独立提交:读取或提交失败只记录错误,不阻止搭子接收消息;本次新声明需成功提交并经审核后才可售卖,已审核版本和已购凭证不变。修复后可重新启动提交;删除文件不会自动撤回已发布服务。正式搭子和开发分身的声明分别审核。
678
+
679
+ **`conversation` 对象方法**
680
+
681
+ `conversation.service` 绑定当前私聊,不能传入其他用户或搭子的标识。旧 Runtime 可能没有此属性,接入时检查是否存在。
682
+
683
+ | 方法 | 做什么 |
684
+ | --- | --- |
685
+ | `showCard({serviceId,idempotencyKey,personalization})` | 平台准备服务记录后,将 `paidservice` 消息加入统一发送队列;返回不代表已送达,不支付、不创建凭证 |
686
+ | `readCurrentCredential({refresh?})` | 读取当前生效凭证快照;默认用缓存,事件失效、缓存过期或主动刷新时回源 |
687
+ | `listCredentials({state?,cursor?})` | 分页读取凭证;pending 表示已购买但尚未启用 |
688
+ | `activateCredential({credentialId,expectedRevision,idempotencyKey})` | 启用指定 pending 凭证;已有 active 凭证时拒绝 |
689
+ | `terminateCredential({credentialId,expectedRevision,idempotencyKey,reason})` | 终止当前 active 凭证,不删除凭证或订单,不执行退款 |
690
+
691
+ `serviceId` 是创作者定义、同一搭子内唯一的服务标识,不另设凭证类型;`credentialId` 是平台为每次成功购买生成的唯一凭证 ID,复购时生成新的 ID。读取当前凭证得到 `ServiceCredentialSnapshot`:`current` 是生效凭证或 null,`revision` 与刷新时间用于缓存校验,不代表服务有效期。
692
+
693
+ 启用和终止返回 `{ credential, snapshot, reused }`:`credential` 是本次操作后的凭证,`snapshot` 是最新的当前生效凭证快照。`configureTurn({ credential })` 中的 `credential` 也是快照,使用 `credential.current` 判断本轮服务。
694
+
695
+ ```ts
696
+ await BuddyServer.start((conversation) => {
697
+ if (!conversation.key.startsWith("p_")) {
698
+ return { initialState: { model: "deepseek-v4-flash", systemPrompt: "提供普通群聊帮助;购买和使用付费服务请前往私聊。", tools: [] } };
699
+ }
700
+ const service = conversation.service;
701
+ const showCard = conversation.tools.show_service_card;
702
+ if (!service || !showCard) throw new Error("请使用支持服务能力的 Runtime");
703
+ const basic = {
704
+ model: "deepseek-v4-flash" as const,
705
+ systemPrompt: "提供基础养护建议。用户希望持续养护且未拒绝推荐时,可展示 plant_care。",
706
+ tools: [showCard],
707
+ };
708
+ return {
709
+ initialState: basic,
710
+ configureTurn: ({ credential }) => credential.current?.serviceId === "plant_care"
711
+ ? { model: "kimi-k3", systemPrompt: "按已购买服务的约定提供养护规划与调整。", tools: [] }
712
+ : basic,
713
+ onCredentialCreated: async (credential) => {
714
+ if (credential.serviceId !== "plant_care") return;
715
+ if ((await service.readCurrentCredential()).current) return;
716
+ // 该示例收到凭证即启用。需要准备资料时,可先保留 pending,条件满足后再启用。
717
+ await service.activateCredential({
718
+ credentialId: credential.credentialId,
719
+ expectedRevision: credential.revision,
720
+ idempotencyKey: `start:${credential.credentialId}`,
721
+ });
722
+ },
723
+ };
724
+ });
725
+ ```
726
+
727
+ `configureTurn` 仅在私聊的新回合边界返回完整的模型、提示词和工具配置。凭证来自平台,不让模型从聊天文本判断是否付费。平台提示、鉴权和数据授权保护保留,既有对话历史保留。正在执行的回合按原配置完成;执行中追加的用户消息仍沿用原来的 steering 交互,不为切换凭证强制拆成新回合。下一个独立用户回合或主动服务回合再应用新配置。
728
+
729
+ 凭证查询暂时失败时,当前输入仍进入基础对话:使用 `initialState` 的模型和提示词,暂不开放工具,并告知模型付费能力暂不可用。查询失败不等于未购买,不调用 `configureTurn` 的无凭证分支,也不修改或终止凭证;查询恢复后的新回合按真实凭证恢复配置。`initialState` 应保留基础交流所需的人设与模型,不能依赖它的工具完成这个兜底。
730
+
731
+ 群聊使用工厂的 `initialState`,不读取个人服务凭证,不调用 `configureTurn` 或 `onCredentialCreated`,并从模型工具列表移除 `show_service_card`。普通模型配置、其他工具和 Widget 不受影响。开发者应像示例一样先按会话类型分流:群聊不得注册自己的付费服务工具,也不得通过跨会话变量、闭包或持久记录复用私聊的付费配置与数据。此限制不包含对任意创作者代码的执行隔离。
732
+
733
+ 示例不包含业务计时和计次:创作者应持久保存自己的交付进度,满足结束条件后调用 `terminateCredential`。不能只依赖会被回收的会话闭包变量。
734
+
735
+ 需要计时、计次与重启恢复的完整接入参考,见 [观察记录示例](examples/service-buddy/README.md)。
736
+
737
+ **模型工具**
738
+
739
+ 把 `conversation.tools.show_service_card` 加入当前配置的工具列表。参数为 `serviceId` 与必填的 `personalization`:必须包含 `cardSummary`(1–200 字符),可选 `buttonText`、`needSummary`、`contextItems`。卡片介绍由搭子基于本次对话生成;详情介绍取 `needSummary`,缺失时取声明 `description`,两者皆无则隐藏。价格、服务名称和交付承诺来自审核版本,不能由工具改写。
740
+
741
+ `personalization.buttonText` 是聊天服务卡的可选按钮文案,省略时显示「查看方案」。传入时需为 1–20 字符的有效文本,平台去除首尾空白;空白文本或超长文本会被拒绝。例如 `{ serviceId: "care", personalization: { cardSummary: "根据你这盆植物的情况安排养护", buttonText: "了解养护方案" } }`。按钮始终打开服务详情,不直接购买,也不影响详情页的「去购买/已购买」。同一张卡重试或再次展示时保留首次保存的文案。
742
+
743
+ 工具只在普通用户私聊回合可调用,自动绑定当前用户消息和工具调用幂等键。成功入队后本轮停止;卡片沿用普通消息的顺序、重试和历史读取链路。内测购买由用户点击触发,不向模型提供付款工具。
744
+
745
+ `showCard()` 返回 `{ offerId, reused, queued: true }`,仅表示服务记录已准备、消息已入队。旧内测返回中的 `messageId`、`timestamp` 已弃用,类型暂保留为可选字段,新链路不再填入。Server、Runtime 和客户端需配套更新。发送队列只提交 `paidservice: { offerId }`;平台校验归属后补齐卡片内容,调用方不能在写消息时改写名称、价格或购买状态。
746
+
747
+ **限制与异常**
748
+
749
+ - 购买与启用分开;同服务复购可产生多份 pending 凭证,但同一用户在同一搭子下只能有一份 active 凭证。
750
+ - 同一用户在当前搭子下有 pending 或 active 服务凭证时,平台拒绝创建新服务卡,同一服务也不能再发新卡。收到已有服务的错误后,不换服务或参数重试,应继续提供已有服务。旧卡幂等恢复、查看已购详情与历史记录不受影响;无待开始或进行中的服务后可重新发卡。
751
+ - 群聊直接调用 `conversation.service` 的发卡、读取、启用或终止方法均会报错;平台接口也校验会话类型。
752
+ - `onCredentialCreated` 可能重放,副作用需按 `credentialId` 幂等。回调成功后确认事件;未启用的凭证仍可通过列表查询。回调不保证发起模型回复。
753
+ - 直接调用服务 SDK 的操作失败时仍抛异常,不伪报成功。仅运行时在回合边界读取凭证失败时按上述规则保留基础对话;创作者配置代码自身的异常不在此兜底范围。写操作不自动重试;使用同一幂等键恢复原操作,版本冲突时读取最新状态再决定。
754
+ - 模拟购买不设内测开关或白名单;仍需用户登录、私聊归属及已审核服务。展示拟售价格,实付为 0,不调用真实支付。
755
+ - 同一张服务卡仅对应一次购买意图,重复点击或重开详情会返回原购买结果。复购需要新一轮用户意图对应的新卡。
756
+ - `activateCredential` / `terminateCredential` 保留授权数据的长期写入保护;服务凭证不能替代用户的数据授权。
757
+ - 未配置 `configureTurn` 时,模型、提示词、工具仍沿用原来的一次性工厂配置。仅写入凭证不会自动猜测应该更换哪些能力。
@@ -4,9 +4,12 @@ import type { Api, Model } from "@earendil-works/pi-ai";
4
4
  import type { MLBClient, WidgetType } from "../mlbClient.ts";
5
5
  import { DataAccessUsageTracker } from "../tools/dataAccess.ts";
6
6
  import type { Resource } from "../tools/resource.ts";
7
+ import type { ServiceEvent } from "../services/types.ts";
7
8
  import type { BuddyFactory, BuddyLogger, DataRequirement, MLBMessageToWrite } from "../types.ts";
8
9
  export interface AgentDeps {
9
- /** 这场会话的发送队列:小挂件引用、权限请求卡、题卡都放进来 */
10
+ /** 当前普通用户回合的真实来源消息;模型参数不能覆盖。 */
11
+ sourceMessage?: () => string | undefined;
12
+ /** 这场会话的发送队列:小挂件引用、服务引用、权限请求卡、题卡都放进来 */
10
13
  enqueueMessage: (message: MLBMessageToWrite) => void;
11
14
  /** 发了一张等用户操作的卡(权限请求卡、题卡):这张卡算这一轮说过的话 */
12
15
  onWaitingForUser: () => void;
@@ -32,6 +35,9 @@ export interface AgentDeps {
32
35
  }
33
36
  /** createAgent 建好的:Agent、这场会话的模型条目、授权数据记账,以及开发者配的兜底话 */
34
37
  export interface CreatedAgent {
38
+ prepareTurn: () => Promise<Model<Api>>;
39
+ handleServiceEvent: (event: ServiceEvent) => Promise<void>;
40
+ invalidateCredential: () => void;
35
41
  agent: Agent;
36
42
  /** 按开发者 initialState.model 造的模型条目:重建历史时抄身份、判断收不收图片都按它 */
37
43
  model: Model<Api>;
@@ -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;AAI7D,OAAO,EAAyF,sBAAsB,EAAuB,MAAM,wBAAwB,CAAC;AAE5K,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,EAAE,MAAM,IAAI,CAAC;IAC7B,oFAAoF;IACpF,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,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,CAuNxE;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;AAED,2DAA2D;AAC3D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAa1D"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/conversation/agent.ts"],"names":[],"mappings":"AAcA,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;AAI7D,OAAO,EAAyF,sBAAsB,EAAuB,MAAM,wBAAwB,CAAC;AAE5K,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAOrD,OAAO,KAAK,EAAE,YAAY,EAA6B,MAAM,sBAAsB,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAA8B,eAAe,EAAE,iBAAiB,EAAiB,MAAM,aAAa,CAAC;AAE5I,MAAM,WAAW,SAAS;IACzB,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACzC,wCAAwC;IACxC,cAAc,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACrD,wCAAwC;IACxC,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,oFAAoF;IACpF,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,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,WAAW,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,kBAAkB,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,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,CAqQxE;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;AAED,2DAA2D;AAC3D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAa1D"}
@@ -1,14 +1,16 @@
1
1
  // 一场会话的 Agent 怎么建:运行时先把该填的填好,开发者的配置叠上去。
2
2
  // 管:造好这场会话的平台工具,拼好交给开发者工厂的 Conversation(会话键、日志、平台工具、进程启动时读好的资料、绑好会话键的记忆、授权数据查询、权限请求、主动服务与小挂件),跑工厂拿配置;
3
3
  // systemPrompt 按 平台的(GET /internal/v1/system-prompt,每场会话建 Agent 时拉一次)→ 开发者的 拼,段间空一行;
4
- // 工具清单全由开发者的 initialState.tools 决定(平台工具也是开发者从 conversation.tools 取来放进去的),查重名;
4
+ // 工具清单由开发者的 initialState.tools 决定(平台工具也是开发者从 conversation.tools 取来放进去的),群聊移除 show_service_card 后查重名;
5
5
  // 按 initialState.model 造网关的模型条目(id 运行时不支持就 throw,这场会话起不来);开发者显式设的 thinkingLevel 这个模型不支持时打一条 warn,写明支持哪几档、实际会怎么发;
6
6
  // 钩子叠加——开发者的 beforeToolCall / afterToolCall 包一层授权数据记账,beforeToolCall 抛错时打 warn 再抛给 pi(工具不执行,模型看到错误);
7
7
  // 发了等用户操作的卡(权限请求卡、题卡)的那一轮,shouldStopAfterTurn 在这一步收尾后停下;其余直通;
8
8
  // 主动服务回合本身不改变工具权限;DataAccess 数据策略仍照常生效,其他限制由开发者在 beforeToolCall 里按 conversation.proactive.isRunning() 自己拦;
9
9
  // transformContext 由运行时自己装、不开放给开发者:每次请求模型在历史末尾接一条写当前时间的 user 消息,不进会话历史;
10
10
  // 每次请求模型的请求体全量打日志,图片换成字节数;响应收完再打一条「模型响应」:内容、结束原因、usage(含缓存命中)、总耗时与首字耗时。主动回合也一样。
11
- // 不管:Agent 建好之后的事(回合、事件分发在 index.ts)。
11
+ // 私聊的 configureTurn 在回合边界返回完整配置时,保留平台规则、鉴权与历史,替换模型/开发者提示/工具;凭证查询失败保留基础对话但不开放工具,不伪造空凭证;
12
+ // 服务事件只调用同一私聊的创作者回调,不直接开模型回合,不改变追加消息的 steering 行为。
13
+ // 不管:回合和事件调度(index.ts)、服务业务计时计次。
12
14
  import { Agent } from "@earendil-works/pi-agent-core";
13
15
  import { clampThinkingLevel, getSupportedThinkingLevels } from "@earendil-works/pi-ai";
14
16
  import { agentMessagesToLLMMessages } from "./agentMessageLLMMessageConverter.js";
@@ -22,9 +24,12 @@ import { assertUniqueToolNames } from "../tools/registry.js";
22
24
  import { widgetTools } from "../tools/widget.js";
23
25
  import { dataAccessRequestTool, validateDataAccessRequest } from "../tools/dataAccessRequest.js";
24
26
  import { proactiveTools, validateProactiveSubscribe } from "../tools/proactive.js";
27
+ import { serviceCardTool } from "../tools/service.js";
28
+ import { ServiceSession } from "../services/session.js";
25
29
  /** 跑开发者工厂拿配置,叠上运行时预置,建 Agent。模型 id 运行时不支持、工具清单重名、拉平台 system prompt 失败 → throw。 */
26
30
  export async function createAgent(deps) {
27
31
  const dataAccessUsage = new DataAccessUsageTracker();
32
+ const supportsServices = deps.key.startsWith("p_");
28
33
  /** 这一轮发了等用户操作的卡(权限请求卡、题卡):shouldStopAfterTurn 在这一步收尾后停下,不再请求模型 */
29
34
  let waitingForUser = false;
30
35
  const waitForUser = () => {
@@ -32,11 +37,13 @@ export async function createAgent(deps) {
32
37
  deps.onWaitingForUser();
33
38
  };
34
39
  const { client } = deps;
40
+ const service = new ServiceSession(client, deps.key, () => dataAccessUsage.isProactive() ? undefined : deps.sourceMessage?.(), waitForUser, () => dataAccessUsage.guardPersistence("服务凭证操作(长期留存)"), deps.enqueueMessage);
35
41
  // 平台工具:每场会话造一份、绑好会话键,挂在 conversation.tools 上由开发者挑。背后没数据时照样造:
36
42
  // 没资料、没声明 Dataset、没有小挂件类型,工具照常注册,调用时回空结果或报错
37
43
  const [widgetCreate, widgetRead, widgetReadModule, widgetRename, widgetWriteRecord, widgetDeleteRecord, widgetDelete, widgetSend] = widgetTools(client, deps.key, deps.widgetTypes, deps.enqueueMessage, dataAccessUsage);
38
44
  const [proactiveSubscribe, proactiveList, proactiveUnsubscribe, proactiveUnsubscribeAll] = proactiveTools(client, deps.key, deps.dataRequirements, dataAccessUsage);
39
45
  const platformTools = {
46
+ show_service_card: serviceCardTool(service.api),
40
47
  proactive_subscribe: proactiveSubscribe,
41
48
  proactive_list: proactiveList,
42
49
  proactive_unsubscribe: proactiveUnsubscribe,
@@ -57,6 +64,7 @@ export async function createAgent(deps) {
57
64
  };
58
65
  // 这些方法在主动服务回合里跟普通回合一样能调:运行时不按回合性质拦,开发者要限制就在 beforeToolCall 里按 proactive.isRunning() 拦
59
66
  const conversation = {
67
+ service: service.api,
60
68
  key: deps.key,
61
69
  log: deps.log,
62
70
  tools: platformTools,
@@ -133,7 +141,8 @@ export async function createAgent(deps) {
133
141
  const model = createModel(deps.gatewayUrl, options.initialState.model);
134
142
  // 平台的 system prompt 拉失败就 throw:这场会话起不来,等下一条消息再重建
135
143
  const platformPrompt = await deps.client.systemPrompt(deps.key);
136
- const devTools = options.initialState.tools ?? [];
144
+ // 群聊保留普通工具;服务卡不暴露给模型。SDK 仍保留私聊校验,防止代码直接调用。
145
+ const devTools = (options.initialState.tools ?? []).filter(tool => supportsServices || tool.name !== "show_service_card");
137
146
  assertUniqueToolNames(devTools);
138
147
  const tools = devTools.map((tool) => dataAccessUsage.track(tool));
139
148
  const { log, key } = deps;
@@ -241,7 +250,58 @@ export async function createAgent(deps) {
241
250
  }
242
251
  deps.onEvent(agent, event);
243
252
  });
244
- return { agent, model, dataAccessUsage, errorReply: options.errorReply };
253
+ const applyConfiguration = (config, serviceState) => {
254
+ const nextModel = createModel(deps.gatewayUrl, config.model);
255
+ if (typeof config.systemPrompt !== "string")
256
+ throw new Error("configureTurn 需要返回完整 systemPrompt");
257
+ const nextTools = config.tools ?? [];
258
+ assertUniqueToolNames(nextTools);
259
+ const tracked = nextTools.map(tool => dataAccessUsage.track(tool));
260
+ // 全部校验后一起应用;平台提示与 DataAccess Gate 保留,历史不改。
261
+ agent.state.model = nextModel;
262
+ agent.state.systemPrompt = [platformPrompt, serviceState, config.systemPrompt].filter(part => part !== undefined).join("\n\n");
263
+ agent.state.tools = tracked;
264
+ agent.state.thinkingLevel = config.thinkingLevel ?? "off";
265
+ toolByName.clear();
266
+ for (const tool of tracked)
267
+ toolByName.set(tool.name, tool);
268
+ return nextModel;
269
+ };
270
+ return {
271
+ agent, model, dataAccessUsage, errorReply: options.errorReply,
272
+ invalidateCredential: () => service.invalidate(),
273
+ prepareTurn: async () => {
274
+ if (!supportsServices || !options.configureTurn)
275
+ return agent.state.model;
276
+ let credential;
277
+ try {
278
+ credential = await service.api.readCurrentCredential();
279
+ }
280
+ catch {
281
+ // 查询未知不是未购买;不修改缓存或调用创作者的无凭证分支,也不复用上轮付费工具。
282
+ log.warn("服务凭证暂时无法核验,本轮仅提供基础对话", { convoKey: key });
283
+ return applyConfiguration({ ...options.initialState, tools: [] }, "平台服务状态:凭证校验暂不可用。");
284
+ }
285
+ return applyConfiguration(await options.configureTurn({ credential }));
286
+ },
287
+ handleServiceEvent: async (event) => {
288
+ if (!supportsServices || event.convoKey !== deps.key)
289
+ return;
290
+ service.invalidate();
291
+ if (event.type !== "credential_created" || !options.onCredentialCreated)
292
+ return;
293
+ let cursor;
294
+ do {
295
+ const page = await service.api.listCredentials({ state: "pending", cursor });
296
+ const credential = page.items.find(item => item.credentialId === event.credentialId);
297
+ if (credential) {
298
+ await options.onCredentialCreated(credential);
299
+ return;
300
+ }
301
+ cursor = page.nextCursor;
302
+ } while (cursor);
303
+ },
304
+ };
245
305
  }
246
306
  /**
247
307
  * 每次请求模型时接在历史末尾那条 user 消息的正文;现在的时间由 convertToLlm 按这条消息的 timestamp 拼在开头。
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/conversation/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/conversation/agent.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ 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
4
  import type { BuddyFactory, BuddyLogger, DataRequirement, ProactiveRun, ProactiveSkip } from "../types.ts";
5
+ import type { ServiceEvent } from "../services/types.ts";
5
6
  import type { CompactionSnapshot } from "./compaction.ts";
6
7
  export interface ConversationHandleDeps {
7
8
  /** 平台会话键:p_ 私聊、g_ 群 */
@@ -38,6 +39,7 @@ export declare class ConversationHandle {
38
39
  private readonly writer;
39
40
  /** 懒建:第一次拉到消息时跑 factory 再 new */
40
41
  private agent;
42
+ private created;
41
43
  private dataAccessUsage;
42
44
  /** 每条 assistant 工具步生成参数前是否已经见过授权数据;message_end 记下,turn_end 写回时使用。 */
43
45
  private readonly dataAccessTaintedSteps;
@@ -78,8 +80,10 @@ export declare class ConversationHandle {
78
80
  snapshotForCompaction(): CompactionSnapshot | undefined;
79
81
  /** SSE message / welcome 到了:让 reader 拉一次,welcome 另记下会话刚建好。已退役的直接忽略 */
80
82
  notify(welcome?: boolean): void;
81
- /** 平台发来的主动服务 Run:跑一轮主动回合。开过口(写过要给用户看的消息)就回 undefined——平台在第一条落库或拦下时就定了这次的结论;
82
- * 一条都没写就回 skip 结果交给平台,出错 throw */
83
+ /** 服务事件不启动模型回合;已关闭时拒绝确认,让持久事件在新会话重试。 */
84
+ handleServiceEvent(event: ServiceEvent): Promise<void>;
85
+ invalidateCredential(): void;
86
+ private prepareTurn;
83
87
  runProactive(run: ProactiveRun): Promise<ProactiveSkip | undefined>;
84
88
  private executeProactive;
85
89
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/conversation/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAqB,YAAY,EAAa,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAI1G,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAK7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAc,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGvH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAK1D,MAAM,WAAW,sBAAsB;IACtC,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,CAAC;IAClB,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,+FAA+F;IAC/F,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,qEAAqE;IACrE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,qEAAqE;IACrE,gBAAgB,EAAE,SAAS,eAAe,EAAE,CAAC;IAC7C,OAAO,EAAE,YAAY,CAAC;IACtB,GAAG,EAAE,WAAW,CAAC;IACjB,uDAAuD;IACvD,aAAa,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,qBAAa,kBAAkB;IAC9B,sDAAsD;IACtD,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyB;IAC9C,sEAAsE;IACtE,OAAO,CAAC,QAAQ,CAAiB;IACjC,sDAAsD;IACtD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IAEzC,iCAAiC;IACjC,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,eAAe,CAAqC;IAC5D,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA4C;IACnF,kDAAkD;IAClD,OAAO,CAAC,UAAU,CAAqB;IACvC,0BAA0B;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,+BAA+B;IAC/B,OAAO,CAAC,KAAK,CAAsB;IACnC,6CAA6C;IAC7C,OAAO,CAAC,OAAO,CAAM;IACrB,8BAA8B;IAC9B,OAAO,CAAC,KAAK,CAA4B;IACzC,kEAAkE;IAClE,OAAO,CAAC,KAAK,CAAS;IACtB,2EAA2E;IAC3E,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAc;IACnC,kFAAkF;IAClF,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAiD;IACtE,OAAO,CAAC,uBAAuB,CAAoB;gBAEvC,IAAI,EAAE,sBAAsB;IAiBxC,2BAA2B;IAC3B,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,uCAAuC;IACvC,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,uBAAuB;IACvB,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,uCAAuC;IACvC,IAAI,UAAU,IAAI,SAAS,YAAY,EAAE,CAExC;IAED;;;OAGG;IACH,qBAAqB,IAAI,kBAAkB,GAAG,SAAS;IAOvD,sEAAsE;IACtE,MAAM,CAAC,OAAO,UAAQ,GAAG,IAAI;IAO7B;uCACmC;IACnC,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;YAQrD,gBAAgB;IAwF9B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B,yDAAyD;IACzD,OAAO,CAAC,MAAM;IAQd;;;OAGG;YACW,UAAU;IAmBxB;;;OAGG;YACW,OAAO;IAuBrB,wEAAwE;IACxE,OAAO,CAAC,MAAM;IAMd;;;;OAIG;IACH,OAAO,CAAC,KAAK;IAuBb;;;;;;;OAOG;YACW,QAAQ;IA+DtB;;;OAGG;IACH,OAAO,CAAC,OAAO;CA8Ef"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/conversation/index.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  // 之后每批按空闲 / 忙碌 × 要不要开口四路分发;
4
4
  // 回合(prompt 该答的消息、或从场合交代接着 continue → 把回合中排进队列的消息消化完 → 出错或一句话没说(发了等用户操作的卡算说过)就发 errorReply 兜底、兜底话也进历史 → 收尾把这一轮的历史按消息时间排好);
5
5
  // Agent 事件交给发平台的队列;close(先标退役、再打断回合、等它收尾)。
6
+ // 服务事件仅在同一私聊中处理,群聊不因服务事件恢复或切换付费配置;对应《搭子付费服务与支付唤起》。
6
7
  // 不管:什么时候拉、游标、翻页与重试(readMLBMessages.ts)、Agent 怎么建(agent.ts)、拉回来的记录怎么分拣(history.ts)、压缩本身(compaction.ts)、
7
8
  // replying / delta / 写回怎么发(writeMLBMessage.ts)、HTTP 请求本身(mlbClient.ts)、
8
9
  // MLBMessage 与 AgentMessage 的换算(mlbMessageAgentMessageConverter.ts)、会话从哪来到哪去(server.ts 管 Map、空闲淘汰与 delete 事件)。
@@ -31,6 +32,7 @@ export class ConversationHandle {
31
32
  writer;
32
33
  /** 懒建:第一次拉到消息时跑 factory 再 new */
33
34
  agent;
35
+ created;
34
36
  dataAccessUsage;
35
37
  /** 每条 assistant 工具步生成参数前是否已经见过授权数据;message_end 记下,turn_end 写回时使用。 */
36
38
  dataAccessTaintedSteps = new WeakMap();
@@ -107,8 +109,29 @@ export class ConversationHandle {
107
109
  this._lastActivity = Date.now();
108
110
  this.reader.notify();
109
111
  }
110
- /** 平台发来的主动服务 Run:跑一轮主动回合。开过口(写过要给用户看的消息)就回 undefined——平台在第一条落库或拦下时就定了这次的结论;
111
- * 一条都没写就回 skip 结果交给平台,出错 throw */
112
+ /** 服务事件不启动模型回合;已关闭时拒绝确认,让持久事件在新会话重试。 */
113
+ async handleServiceEvent(event) {
114
+ if (!this.deps.key.startsWith("p_") || event.convoKey !== this.deps.key)
115
+ return;
116
+ if (this._closed)
117
+ throw new Error("服务事件的会话已关闭,等待恢复后重试");
118
+ this.created?.invalidateCredential();
119
+ if (!this.created && !await this.reader.sync())
120
+ throw new Error("服务事件无法恢复会话");
121
+ if (this._closed)
122
+ throw new Error("服务事件的会话已关闭,等待恢复后重试");
123
+ if (!this.created)
124
+ throw new Error("服务事件未建立会话");
125
+ await this.created.handleServiceEvent(event);
126
+ }
127
+ invalidateCredential() { this.created?.invalidateCredential(); }
128
+ async prepareTurn() {
129
+ if (!this.created)
130
+ return;
131
+ const model = await this.created.prepareTurn();
132
+ this.identity = modelIdentity(model);
133
+ this.imageInput = model.input.includes("image");
134
+ }
112
135
  runProactive(run) {
113
136
  if (this.proactiveTask || this._busy)
114
137
  return Promise.resolve({ action: "skip", reasonCode: "user_recently_active" });
@@ -163,6 +186,7 @@ export class ConversationHandle {
163
186
  }, async () => {
164
187
  if (this._closed || this.deferredDuringProactive.length > 0)
165
188
  return;
189
+ await this.prepareTurn();
166
190
  await agent.continue();
167
191
  while (!this._closed && !this.policyStopped && agent.hasQueuedMessages())
168
192
  await agent.continue();
@@ -270,6 +294,7 @@ export class ConversationHandle {
270
294
  async rebuild(records) {
271
295
  const created = await createAgent({
272
296
  ...this.deps,
297
+ sourceMessage: () => this._busy && !this.proactiveRun ? this.replyTo || undefined : undefined,
273
298
  enqueueMessage: message => this.writer.enqueueMessage(message),
274
299
  onWaitingForUser: () => { this.spoke = true; },
275
300
  onPolicyStop: () => { this.policyStopped = true; },
@@ -279,6 +304,7 @@ export class ConversationHandle {
279
304
  return;
280
305
  const agent = created.agent;
281
306
  this.agent = agent;
307
+ this.created = created;
282
308
  this.dataAccessUsage = created.dataAccessUsage;
283
309
  this.errorReply = created.errorReply;
284
310
  this.identity = modelIdentity(created.model);
@@ -319,7 +345,7 @@ export class ConversationHandle {
319
345
  }
320
346
  if (!this._busy) {
321
347
  if (shouldReply)
322
- this.round = this.runRound((agent) => agent.prompt(messages));
348
+ this.round = this.runRound((agent) => agent.prompt(mlbMessagesToAgentMessages(theirs, this.identity, this.imageInput)));
323
349
  else
324
350
  agent.state.messages.push(...messages);
325
351
  return;
@@ -354,6 +380,9 @@ export class ConversationHandle {
354
380
  const startedAt = Date.now();
355
381
  this.deps.log.info("回合开始", { convoKey: this.deps.key, transcript: roundStart });
356
382
  try {
383
+ await this.prepareTurn();
384
+ if (this._closed)
385
+ return;
357
386
  if (start !== undefined)
358
387
  await start(agent);
359
388
  while (!this._closed && agent.hasQueuedMessages()) {
@@ -363,6 +392,7 @@ export class ConversationHandle {
363
392
  if (queued.length) {
364
393
  agent.clearSteeringQueue();
365
394
  this.policyStopped = false;
395
+ await this.prepareTurn();
366
396
  await agent.prompt(queued);
367
397
  }
368
398
  else if (this.policyStopped) {
@@ -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":"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"}