@my-life-buddies/buddy-runtime 0.27.0 → 0.28.0-dev.1

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 (61) hide show
  1. package/README.md +71 -2
  2. package/dist/conversation/agent.d.ts +10 -2
  3. package/dist/conversation/agent.d.ts.map +1 -1
  4. package/dist/conversation/agent.js +83 -6
  5. package/dist/conversation/agent.js.map +1 -1
  6. package/dist/conversation/index.d.ts +24 -5
  7. package/dist/conversation/index.d.ts.map +1 -1
  8. package/dist/conversation/index.js +189 -22
  9. package/dist/conversation/index.js.map +1 -1
  10. package/dist/conversation/mlbMessageAgentMessageConverter.d.ts +15 -0
  11. package/dist/conversation/mlbMessageAgentMessageConverter.d.ts.map +1 -1
  12. package/dist/conversation/mlbMessageAgentMessageConverter.js +30 -1
  13. package/dist/conversation/mlbMessageAgentMessageConverter.js.map +1 -1
  14. package/dist/conversation/readMLBMessages.d.ts +3 -2
  15. package/dist/conversation/readMLBMessages.d.ts.map +1 -1
  16. package/dist/conversation/readMLBMessages.js +17 -1
  17. package/dist/conversation/readMLBMessages.js.map +1 -1
  18. package/dist/conversation/writeMLBMessage.d.ts +8 -1
  19. package/dist/conversation/writeMLBMessage.d.ts.map +1 -1
  20. package/dist/conversation/writeMLBMessage.js +26 -4
  21. package/dist/conversation/writeMLBMessage.js.map +1 -1
  22. package/dist/index.d.ts +1 -0
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/instance.d.ts +2 -0
  26. package/dist/instance.d.ts.map +1 -0
  27. package/dist/instance.js +5 -0
  28. package/dist/instance.js.map +1 -0
  29. package/dist/mlbClient.d.ts +20 -8
  30. package/dist/mlbClient.d.ts.map +1 -1
  31. package/dist/mlbClient.js +102 -19
  32. package/dist/mlbClient.js.map +1 -1
  33. package/dist/model.d.ts.map +1 -1
  34. package/dist/model.js +2 -1
  35. package/dist/model.js.map +1 -1
  36. package/dist/server.d.ts.map +1 -1
  37. package/dist/server.js +82 -2
  38. package/dist/server.js.map +1 -1
  39. package/dist/services/cache.d.ts +15 -0
  40. package/dist/services/cache.d.ts.map +1 -0
  41. package/dist/services/cache.js +58 -0
  42. package/dist/services/cache.js.map +1 -0
  43. package/dist/services/manifest.d.ts +3 -0
  44. package/dist/services/manifest.d.ts.map +1 -0
  45. package/dist/services/manifest.js +19 -0
  46. package/dist/services/manifest.js.map +1 -0
  47. package/dist/services/session.d.ts +10 -0
  48. package/dist/services/session.d.ts.map +1 -0
  49. package/dist/services/session.js +57 -0
  50. package/dist/services/session.js.map +1 -0
  51. package/dist/services/types.d.ts +120 -0
  52. package/dist/services/types.d.ts.map +1 -0
  53. package/dist/services/types.js +2 -0
  54. package/dist/services/types.js.map +1 -0
  55. package/dist/tools/service.d.ts +18 -0
  56. package/dist/tools/service.d.ts.map +1 -0
  57. package/dist/tools/service.js +25 -0
  58. package/dist/tools/service.js.map +1 -0
  59. package/dist/types.d.ts +47 -4
  60. package/dist/types.d.ts.map +1 -1
  61. package/package.json +2 -2
package/dist/mlbClient.js CHANGED
@@ -1,10 +1,15 @@
1
1
  // 平台 ③ 面的 HTTP 客户端与事件流。
2
- // 管:拼请求路径与 query、每个请求带 Authorization: Bearer 令牌、解响应体、把非 2xx 分成「拒绝」与「该重试」;
3
- // GET /internal/v1/events 的 SSE 长连——连接时报上运行时版本号、手工切帧解析、过滤掉心跳与 data-access、校验 convoKey 与 runId、
4
- // 断线退避重连、收到 replaced 或被平台以 4xx 拒绝就停下不再重连、交上层收尾退出。
2
+ // 管:拼请求路径与 query、每个请求带 Authorization: Bearer 令牌和已配置的托管实例代次、解响应体、把非 2xx 分成「拒绝」与「该重试」;
3
+ // 商品目录、凭证与事件确认同样携带实例代次;对应 REDoc《【技术设计】搭子会话重建》。
4
+ // GET /internal/v1/events 的 SSE 长连——连接时报上运行时版本号与本进程编号、手工切帧解析、过滤掉心跳与 data-access、校验 convoKey 与 runId、
5
+ // 收平台发的 version 事件(这个进程是哪一版搭子,写回时每条带上)、断线退避重连、收到 replaced 或被平台以 4xx 拒绝就停下不再重连、交上层收尾退出。
6
+ // 首帧到达后才允许启动准备。
7
+ // EventStream.start() 完成前被拒绝或替换时,把具体原因交给调用方。
5
8
  // Widget 变更任务的领取、能力凭据提交与一次消费。
6
9
  // Widget 记录写入失败时只提供白名单字段校验提示,不透传服务端响应原文。
7
10
  // 不管:会话纪律(什么时候拉、拉到怎么办)、消息形状转换、幂等键分配、模型调用——那些在 conversation/ 目录 / model.ts。
11
+ import { randomUUID } from "node:crypto";
12
+ import { instanceHeaders } from "./instance.js";
8
13
  import { errorText } from "./log.js";
9
14
  import { widgetRecordValidationMessage } from "./widgetValidationError.js";
10
15
  /**
@@ -13,7 +18,10 @@ import { widgetRecordValidationMessage } from "./widgetValidationError.js";
13
18
  * package.json(测试机上的 fitness-buddy 就是这样,它那份没有 version 字段)。常量会被打包器原样搬走。
14
19
  * 发版时由 scripts/release.ts 连同 package.json 一起改,scripts/check-publish.ts 在 npm publish 前比对两处是否一致。
15
20
  */
16
- export const RUNTIME_VERSION = "0.27.0";
21
+ export const RUNTIME_VERSION = "0.28.0-dev.1";
22
+ /** 本进程的编号,连事件流时放进 X-Buddy-Process 头给平台。dev 分身没有发布的包版本,平台拿它当这个进程的搭子版本:
23
+ * 同一个进程断线重连,版本不变;改了代码重启进程,版本就换了 */
24
+ export const PROCESS_ID = randomUUID();
17
25
  /** 除事件流以外的请求都限时 30 秒:卡死的请求超时后按网络错误处理,调用方决定重不重发 */
18
26
  const REQUEST_TIMEOUT_MS = 30_000;
19
27
  export const MAX_DATASETS_PER_QUERY = 8;
@@ -37,9 +45,32 @@ export class PlatformRequestError extends Error {
37
45
  }
38
46
  }
39
47
  export class MLBClient {
48
+ /** 商业化接口:只走平台鉴权通道,写入不自动重试,不读取任意回跳 URL。 */
49
+ async productCall(method, path, body, signal) {
50
+ if (!/^\/(products|product-offers|product-credentials|product-events)(?:[/?]|$)/u.test(path))
51
+ throw new Error("无效的商品接口");
52
+ const timed = AbortSignal.any([AbortSignal.timeout(REQUEST_TIMEOUT_MS), ...(signal ? [signal] : [])]);
53
+ try {
54
+ const response = await fetch(`${this.base}${path}`, { method, headers: { ...instanceHeaders, Authorization: `Bearer ${this.token}`, "Content-Type": "application/json" }, body: body === undefined ? undefined : JSON.stringify(body), signal: timed, redirect: "error" });
55
+ if (!response.ok) {
56
+ await response.body?.cancel();
57
+ throw new PlatformRequestError(response.status);
58
+ }
59
+ const bytes = await readLimited(response, 1024 * 1024);
60
+ timed.throwIfAborted();
61
+ return JSON.parse(Buffer.from(bytes).toString("utf8"));
62
+ }
63
+ catch (error) {
64
+ signal?.throwIfAborted();
65
+ throw error instanceof PlatformRequestError ? error : new PlatformRequestError();
66
+ }
67
+ }
40
68
  base;
41
69
  token;
42
70
  log;
71
+ /** 这个进程是哪一版搭子:平台在事件流连上后用 version 事件发来,server.ts 收到就记在这里。
72
+ * 写回的每条记录带上它;重建时拿它认出换版之前那一版写的记录。收到之前是 undefined:写回不带,重建也不替换 */
73
+ buddyVersion;
43
74
  constructor(options) {
44
75
  this.base = baseUrlOf(options.gatewayUrl);
45
76
  this.token = options.token;
@@ -72,12 +103,30 @@ export class MLBClient {
72
103
  throw new Error(`GET /internal/v1/messages 回 ${reply.status}:${reply.text}`);
73
104
  return JSON.parse(reply.text);
74
105
  }
106
+ /** 从消息推断的待答请求独立分页;不受历史窗口大小限制。 */
107
+ async pendingRequests(convoKey) {
108
+ const requests = [];
109
+ let cursor;
110
+ do {
111
+ const query = new URLSearchParams({ convoKey, pendingOnly: "1" });
112
+ if (cursor)
113
+ query.set("pendingAfter", cursor);
114
+ const reply = await this.call("GET", `/messages?${query}`);
115
+ if (!reply.ok)
116
+ throw new Error(`拉取待答请求失败:${reply.status}`);
117
+ const page = JSON.parse(reply.text);
118
+ requests.push(...(page.pendingRequests ?? []));
119
+ cursor = page.pendingNextCursor;
120
+ } while (cursor);
121
+ return requests;
122
+ }
75
123
  /**
76
124
  * POST /internal/v1/messages { convoKey, messages }。
77
125
  * 2xx → delivered;4xx → rejected(带 status 与响应体,调用方丢弃);网络错误 / 5xx → throw(调用方带同一幂等键重发)。
78
126
  */
79
127
  async writeMessages(convoKey, messages) {
80
- const reply = await this.call("POST", "/messages", { convoKey, messages });
128
+ const stamped = messages.map((m) => ({ ...m, buddyVersion: this.buddyVersion }));
129
+ const reply = await this.call("POST", "/messages", { convoKey, messages: stamped });
81
130
  if (reply.ok)
82
131
  return { kind: "delivered", timestamps: timestampsOf(reply.text) };
83
132
  if (reply.status >= 400 && reply.status < 500)
@@ -182,7 +231,7 @@ export class MLBClient {
182
231
  try {
183
232
  timed.throwIfAborted();
184
233
  const response = await fetch(url, {
185
- method, headers: { Authorization: `Bearer ${this.token}`, "Content-Type": "application/json" },
234
+ method, headers: { ...instanceHeaders, Authorization: `Bearer ${this.token}`, "Content-Type": "application/json" },
186
235
  body: body === undefined ? undefined : JSON.stringify({ ...body, convoKey }), signal: timed, redirect: "error",
187
236
  });
188
237
  if (!response.ok) {
@@ -222,7 +271,7 @@ export class MLBClient {
222
271
  try {
223
272
  timed.throwIfAborted();
224
273
  const response = await fetch(`${this.base}/media?${new URLSearchParams({ convoKey, messageId })}`, {
225
- method: "GET", headers: { Authorization: `Bearer ${this.token}` }, signal: timed, redirect: "error",
274
+ method: "GET", headers: { ...instanceHeaders, Authorization: `Bearer ${this.token}` }, signal: timed, redirect: "error",
226
275
  });
227
276
  if (!response.ok) {
228
277
  await response.body?.cancel();
@@ -247,7 +296,7 @@ export class MLBClient {
247
296
  try {
248
297
  timed.throwIfAborted();
249
298
  const response = await fetch(`${this.base}/media?${new URLSearchParams({ convoKey })}`, {
250
- method: "POST", headers: { Authorization: `Bearer ${this.token}`, "Content-Type": mimeType }, body: bytes, signal: timed, redirect: "error",
299
+ method: "POST", headers: { ...instanceHeaders, Authorization: `Bearer ${this.token}`, "Content-Type": mimeType }, body: bytes, signal: timed, redirect: "error",
251
300
  });
252
301
  if (!response.ok) {
253
302
  await response.body?.cancel();
@@ -413,7 +462,7 @@ export class MLBClient {
413
462
  }
414
463
  /** 发一个请求并把响应体读完。网络错误、超时直接 throw;HTTP 状态不在这里判 */
415
464
  async call(method, path, body, signal) {
416
- const headers = { Authorization: `Bearer ${this.token}` };
465
+ const headers = { ...instanceHeaders, Authorization: `Bearer ${this.token}` };
417
466
  if (body !== undefined)
418
467
  headers["Content-Type"] = "application/json";
419
468
  const res = await fetch(`${this.base}${path}`, {
@@ -488,28 +537,32 @@ export class EventStream {
488
537
  token;
489
538
  log;
490
539
  onEvent;
540
+ onConnected;
491
541
  run;
492
542
  constructor(options) {
493
543
  this.base = baseUrlOf(options.gatewayUrl);
494
544
  this.token = options.token;
495
545
  this.log = options.log;
496
546
  this.onEvent = options.onEvent;
547
+ this.onConnected = options.onConnected;
497
548
  }
498
- /** 连上 GET /internal/v1/events 并一直保持;已经在跑就不重复起。不会 throw,连不上在后台退避重连 */
549
+ /** 等首帧确认连接可用;网络失败退避重连,连接前被拒绝或停止时抛错。 */
499
550
  start() {
500
551
  if (this.run !== undefined)
501
- return;
502
- const run = { stopped: false, controller: new AbortController() };
552
+ return this.run.connected.promise;
553
+ const run = { stopped: false, controller: new AbortController(), connected: Promise.withResolvers() };
503
554
  this.run = run;
504
555
  void this.loop(run);
556
+ return run.connected.promise;
505
557
  }
506
- /** 断开当前连接、取消等待中的重连,之后不再连。再调 start() 会重新起一轮 */
507
- stop() {
558
+ /** 断开连接并取消重连;尚未完成的 start() 以指定原因失败。再调 start() 会重新连接。 */
559
+ stop(reason = "事件流已停止") {
508
560
  const run = this.run;
509
561
  if (run === undefined)
510
562
  return;
511
563
  this.run = undefined;
512
564
  run.stopped = true;
565
+ run.connected.reject(new Error(reason));
513
566
  run.controller.abort();
514
567
  }
515
568
  /**
@@ -541,18 +594,18 @@ export class EventStream {
541
594
  /**
542
595
  * 连一次并读到流结束。流一打开就把 attempt.opened 置真;5xx、网络错误、被 abort 都 throw(上层退避重连)。
543
596
  * 4xx 是平台明确拒绝这条连接(令牌无效、运行时版本太低),重连多少次结果都一样:停掉这条流、
544
- * 分发一条 rejected 让上层收尾退出,不 throw、不重连。
597
+ * 尚未完成的 start() 以拒绝原因失败,同时分发 rejected 让上层收尾退出,不再重连。
545
598
  */
546
599
  async connectOnce(run, attempt) {
547
600
  const res = await fetch(`${this.base}/events`, {
548
- headers: { Authorization: `Bearer ${this.token}`, "X-Buddy-Runtime": RUNTIME_VERSION, Accept: "text/event-stream" },
601
+ headers: { ...instanceHeaders, Authorization: `Bearer ${this.token}`, "X-Buddy-Runtime": RUNTIME_VERSION, "X-Buddy-Process": PROCESS_ID, "X-MLB-Conversation-Recovery": "1", Accept: "text/event-stream" },
549
602
  signal: run.controller.signal,
550
603
  });
551
604
  if (!res.ok || res.body === null) {
552
605
  const text = await res.text().catch(() => "");
553
606
  const reason = `GET /internal/v1/events 回 ${res.status}${text === "" ? "" : `:${text}`}`;
554
607
  if (res.status >= 400 && res.status < 500) {
555
- this.stop();
608
+ this.stop(reason);
556
609
  try {
557
610
  this.onEvent({ type: "rejected", reason });
558
611
  }
@@ -565,6 +618,7 @@ export class EventStream {
565
618
  }
566
619
  attempt.opened = true;
567
620
  this.log.info("事件流已连上");
621
+ this.onConnected?.();
568
622
  const reader = res.body.getReader();
569
623
  const decoder = new TextDecoder();
570
624
  let buffer = "";
@@ -581,6 +635,8 @@ export class EventStream {
581
635
  if (run.stopped)
582
636
  return;
583
637
  this.handleFrame(frame);
638
+ if (!run.stopped)
639
+ run.connected.resolve();
584
640
  cut = buffer.indexOf("\n\n");
585
641
  }
586
642
  }
@@ -588,7 +644,7 @@ export class EventStream {
588
644
  /**
589
645
  * 解一帧:取 event: 与 data: 行(多行 data 用 \n 拼),其余字段和 : 开头的注释行不管。
590
646
  * 没有 data 的帧不算事件;ping / data-access 丢掉;replaced 不看 data,先停掉这条事件流(不再重连)再分发;
591
- * message / welcome / delete 带合法的 convoKey 才分发,proactive 带合法的 runId 才分发。
647
+ * version 带非空的 buddyVersion 才分发;message / welcome / delete 带合法的 convoKey 才分发,proactive 带合法的 runId 才分发。
592
648
  */
593
649
  handleFrame(frame) {
594
650
  // SSE 规定没写 event: 行时事件名就是 message
@@ -613,7 +669,7 @@ export class EventStream {
613
669
  return;
614
670
  if (name === "replaced") {
615
671
  // 平台已经让同一身份新连上的进程顶掉了这条连接:再连回去会把新进程顶掉,所以先停
616
- this.stop();
672
+ this.stop("这个搭子身份有新的进程连上了平台,本进程被顶掉");
617
673
  try {
618
674
  this.onEvent({ type: "replaced" });
619
675
  }
@@ -622,6 +678,33 @@ export class EventStream {
622
678
  }
623
679
  return;
624
680
  }
681
+ if (name === "version") {
682
+ let buddyVersion;
683
+ try {
684
+ buddyVersion = JSON.parse(data.join("\n"))?.buddyVersion;
685
+ }
686
+ catch { /* 不是 JSON:下面按不合法丢弃 */ }
687
+ if (typeof buddyVersion !== "string" || buddyVersion === "") {
688
+ this.log.warn("version 事件里没有 buddyVersion,丢弃", { data: data.join("\n") });
689
+ return;
690
+ }
691
+ try {
692
+ this.onEvent({ type: "version", buddyVersion });
693
+ }
694
+ catch (e) {
695
+ this.log.warn("onEvent 抛错", { event: name, error: errorText(e) });
696
+ }
697
+ return;
698
+ }
699
+ if (name === "commerce") {
700
+ try {
701
+ this.onEvent({ type: "commerce" });
702
+ }
703
+ catch (e) {
704
+ this.log.warn("服务事件处理失败", { error: errorText(e) });
705
+ }
706
+ return;
707
+ }
625
708
  if (name !== "message" && name !== "delete" && name !== "welcome" && name !== "proactive" && name !== "widget-change") {
626
709
  this.log.warn("事件流收到不认识的事件,丢弃", { event: name });
627
710
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"mlbClient.js","sourceRoot":"","sources":["../src/mlbClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mlbClient.js","sourceRoot":"","sources":["../src/mlbClient.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAyBxD;;;GAGG;AACH,eAAO,MAAM,SAAS,oGAAqG,CAAC;AAE5H,6BAA6B;AAC7B,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAOrF,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAMtE;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,EAAE,QAC8C,CAAC;AAEtE,6CAA6C;AAC7C,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAEjG"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAyBxD;;;GAGG;AACH,eAAO,MAAM,SAAS,oGAAqG,CAAC;AAE5H,6BAA6B;AAC7B,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAOrF,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAMtE;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,EAAE,QAC8C,CAAC;AAEtE,6CAA6C;AAC7C,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAEjG"}
package/dist/model.js CHANGED
@@ -7,6 +7,7 @@
7
7
  //
8
8
  // 通道:openai SDK 在 baseURL 后拼 /chat/completions,所以 baseUrl 只写到 /internal/v1 为止,
9
9
  // 最终请求落到 POST <网关地址>/internal/v1/chat/completions(网关地址怎么定见 server.ts)。
10
+ import { instanceHeaders } from "./instance.js";
10
11
  import { streamSimple } from "@earendil-works/pi-ai/api/openai-completions";
11
12
  import { DEEPSEEK_MODELS } from "@earendil-works/pi-ai/providers/deepseek.models";
12
13
  import { MINIMAX_CN_MODELS } from "@earendil-works/pi-ai/providers/minimax-cn.models";
@@ -62,7 +63,7 @@ export function createModel(gatewayUrl, id) {
62
63
  const entry = CATALOGS.map((catalog) => catalog[id]).find((m) => m !== undefined);
63
64
  if (entry === undefined)
64
65
  throw new Error(`CATALOGS 的各份模型目录里都没有 ${id}`);
65
- return { ...entry, baseUrl: `${gatewayUrl.replace(/\/+$/, "")}/internal/v1`, ...MODEL_SIZES[id] };
66
+ return { ...entry, headers: { ...entry.headers, ...instanceHeaders }, baseUrl: `${gatewayUrl.replace(/\/+$/, "")}/internal/v1`, ...MODEL_SIZES[id] };
66
67
  }
67
68
  /**
68
69
  * Agent 的 streamFn:直接用 pi-ai openai-completions 的 streamSimple。
package/dist/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAc,YAAY,EAAe,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAwF3F,qBAAa,WAAW;IACvB,iDAAiD;WACpC,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,iBAAiB,CAAC;CA+KnE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAc,YAAY,EAAe,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA0F3F,qBAAa,WAAW;IACvB,iDAAiD;WACpC,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAyOnE"}
package/dist/server.js CHANGED
@@ -5,6 +5,8 @@
5
5
  // 把事件流的 message / welcome / delete / widget-change 分发给对应会话,领取并提交一次性 Widget 变更任务、收到 replaced(同一身份有新的进程连上了平台)或 rejected(平台以 4xx 拒了这条事件流)就收尾并退出进程、
6
6
  // 每 60 秒淘汰不忙且 30 分钟没消息的会话(淘汰前历史超过触发线的拍快照、回收后在后台压缩写回,见 conversation/compaction.ts)、stop 时把一切收掉。
7
7
  // 不管:会话里的纪律(conversation/ 目录)、协议细节(mlbClient.ts)。没有 HTTP 面、没有会话列表。
8
+ // products.json 独立提交审核声明,读取或提交失败只报错,不阻断基础启动;服务 outbox 只分发私聊并在处理后确认,重连使服务凭证缓存失效;没有 products.json 的旧工程不新增启动请求。
9
+ // 不管:会话里的纪律(conversation/ 目录)、协议细节(mlbClient.ts)、服务履约判断。没有 HTTP 面、没有会话列表。
8
10
  import { existsSync, readFileSync } from "node:fs";
9
11
  import { dirname, join, resolve } from "node:path";
10
12
  import { compactConversation } from "./conversation/compaction.js";
@@ -15,6 +17,7 @@ import { streamFn } from "./model.js";
15
17
  import { loadResources } from "./tools/resource.js";
16
18
  import { loadWidgets } from "./tools/widget.js";
17
19
  import { DATA_ACCESS_CONFIG_FILE, loadDataAccessRequirements } from "./dataAccessRequirements.js";
20
+ import { loadProducts, PRODUCT_CONFIG_FILE } from "./services/manifest.js";
18
21
  /** 缺省连的网关:生产环境。环境变量 MLB_GATEWAY_URL 有值时以它为准 */
19
22
  const DEFAULT_GATEWAY_URL = "https://buddies.dots.chat";
20
23
  /** 资料目录:搭子目录下的 resources/(搭子目录怎么定见 buddyDir) */
@@ -133,8 +136,11 @@ export class BuddyServer {
133
136
  else
134
137
  pending.push(event);
135
138
  };
136
- const stream = new EventStream({ gatewayUrl, token, log, onEvent: (event) => dispatch(event) });
137
- stream.start();
139
+ // 重连恢复也须等启动准备完成,不能绕过 pending 提前建立缺少资料的会话。
140
+ let connectedBeforeReady = false;
141
+ let onConnected = () => { connectedBeforeReady = true; };
142
+ const stream = new EventStream({ gatewayUrl, token, log, onEvent: (event) => dispatch(event), onConnected: () => onConnected() });
143
+ await stream.start();
138
144
  const { dataRequirements, resources, resourcesDir, widgetTypes } = await prepare(dir, client, log).catch((e) => {
139
145
  // 准备失败要连流一起停:留下一条活着的连接,进程就退不掉——start 抛出后搭子工程的 start.mjs 拿不到
140
146
  // handle,它 finally 里的 stop 是空操作,事件流的重连定时器和连接会一直把事件循环撑着
@@ -146,10 +152,21 @@ export class BuddyServer {
146
152
  log.error(`${fatal},退出`);
147
153
  process.exit(1);
148
154
  }
155
+ let products;
156
+ try {
157
+ products = loadProducts(dir);
158
+ }
159
+ catch (error) {
160
+ log.error("服务声明读取失败,不影响搭子启动;本次声明未提交", { file: PRODUCT_CONFIG_FILE, error: errorText(error) });
161
+ }
149
162
  const conversations = new Map();
150
163
  const deleted = new Set();
151
164
  const proactiveTasks = new Map();
152
165
  const widgetChangeTasks = new Map();
166
+ let commerceTask;
167
+ let commerceAgain = false;
168
+ let productSubmission;
169
+ const submissionAbort = new AbortController();
153
170
  let stopped = false;
154
171
  /** 拿到这个键的会话;没有或已退役就新起一场 */
155
172
  const conversationOf = (key) => {
@@ -186,9 +203,54 @@ export class BuddyServer {
186
203
  log.info("会话退役", { convoKey: key, reason });
187
204
  void conversation.close();
188
205
  };
206
+ const drainCommerce = () => {
207
+ if (stopped)
208
+ return;
209
+ if (commerceTask) {
210
+ commerceAgain = true;
211
+ return;
212
+ }
213
+ commerceTask = (async () => {
214
+ do {
215
+ commerceAgain = false;
216
+ const response = await client.productCall("GET", "/product-events");
217
+ let acknowledged = 0;
218
+ for (const event of response.events) {
219
+ if (stopped)
220
+ return;
221
+ if (event.type !== "credential_created" && event.type !== "credential_changed")
222
+ continue;
223
+ try {
224
+ // 服务事件只恢复私聊;误投群聊的事件确认后丢弃,不建立群聊付费上下文。
225
+ if (event.convoKey.startsWith("p_") && !deleted.has(event.convoKey))
226
+ await conversationOf(event.convoKey).handleProductEvent(event);
227
+ await client.productCall("POST", `/product-events/${encodeURIComponent(event.eventId)}/ack`, {});
228
+ acknowledged++;
229
+ }
230
+ catch (error) {
231
+ // 保留失败事件供心跳重试,单个创作者回调失败不阻塞其他用户。
232
+ log.warn("服务事件暂未确认", { eventId: event.eventId, error: errorText(error) });
233
+ }
234
+ }
235
+ if (response.events.length >= 100 && acknowledged > 0)
236
+ commerceAgain = true;
237
+ } while (commerceAgain && !stopped);
238
+ })().catch(error => log.warn("服务事件未完成,等待重放", { error: errorText(error) }))
239
+ .finally(() => { commerceTask = undefined; });
240
+ };
189
241
  const onEvent = (event) => {
190
242
  if (stopped)
191
243
  return;
244
+ if (event.type === "version") {
245
+ // 平台定下这个进程是哪一版搭子:之后写回的每条记录都带它,重建时按它认出换版之前那一版写的记录
246
+ client.buddyVersion = event.buddyVersion;
247
+ log.info("平台定下这个进程的搭子版本", { buddyVersion: event.buddyVersion });
248
+ return;
249
+ }
250
+ if (event.type === "commerce") {
251
+ drainCommerce();
252
+ return;
253
+ }
192
254
  if (event.type === "replaced") {
193
255
  // 同一身份只能有一个进程连着平台。被顶掉的进程要退出,不能只断事件流留着:
194
256
  // 托管进程还活着,平台就不会重拉它记着的那一个;本地多开的进程由开发者决定留哪个
@@ -278,6 +340,7 @@ export class BuddyServer {
278
340
  const stop = async () => {
279
341
  stopped = true;
280
342
  stream.stop();
343
+ submissionAbort.abort();
281
344
  clearInterval(sweeper);
282
345
  for (const abort of compactions.values())
283
346
  abort.abort();
@@ -286,12 +349,29 @@ export class BuddyServer {
286
349
  await Promise.all(closing);
287
350
  await Promise.all(proactiveTasks.values());
288
351
  await Promise.all(widgetChangeTasks.values());
352
+ await commerceTask;
353
+ await productSubmission;
289
354
  log.info("搭子已停止", { buddyId });
290
355
  };
291
356
  // 机器搭好了:事件改为直接处理,准备期间攒下的按到达顺序补上
357
+ onConnected = () => {
358
+ for (const conversation of conversations.values())
359
+ conversation.invalidateCredential();
360
+ // 旧商品卡的购买事件可能在声明文件被移除后到达,仍须恢复凭证事件。
361
+ drainCommerce();
362
+ };
292
363
  dispatch = onEvent;
293
364
  for (const event of pending.splice(0))
294
365
  onEvent(event);
366
+ if (connectedBeforeReady)
367
+ onConnected();
368
+ if (products !== undefined) {
369
+ productSubmission = client.productCall("PUT", "/products", products, submissionAbort.signal)
370
+ .then(() => { if (!stopped)
371
+ log.info("商品声明已向平台登记"); })
372
+ .catch(error => { if (!stopped)
373
+ log.error("服务声明提交失败,不影响搭子运行;已审核版本与已购凭证保持不变", { error: errorText(error) }); });
374
+ }
295
375
  log.info("搭子已启动", { buddyId, gatewayUrl });
296
376
  return { stop };
297
377
  }