@my-life-buddies/buddy-runtime 0.1.0 → 0.2.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.
Files changed (79) hide show
  1. package/README.md +148 -73
  2. package/dist/conversation/agent.d.ts +6 -1
  3. package/dist/conversation/agent.d.ts.map +1 -1
  4. package/dist/conversation/agent.js +58 -51
  5. package/dist/conversation/agent.js.map +1 -1
  6. package/dist/conversation/agentMessageLLMMessageConverter.d.ts +2 -2
  7. package/dist/conversation/agentMessageLLMMessageConverter.d.ts.map +1 -1
  8. package/dist/conversation/agentMessageLLMMessageConverter.js +8 -32
  9. package/dist/conversation/agentMessageLLMMessageConverter.js.map +1 -1
  10. package/dist/conversation/history.js +1 -1
  11. package/dist/conversation/history.js.map +1 -1
  12. package/dist/conversation/index.d.ts +11 -1
  13. package/dist/conversation/index.d.ts.map +1 -1
  14. package/dist/conversation/index.js +60 -8
  15. package/dist/conversation/index.js.map +1 -1
  16. package/dist/conversation/mlbMessageAgentMessageConverter.d.ts +5 -2
  17. package/dist/conversation/mlbMessageAgentMessageConverter.d.ts.map +1 -1
  18. package/dist/conversation/mlbMessageAgentMessageConverter.js +77 -22
  19. package/dist/conversation/mlbMessageAgentMessageConverter.js.map +1 -1
  20. package/dist/conversation/readMLBMessages.d.ts +3 -1
  21. package/dist/conversation/readMLBMessages.d.ts.map +1 -1
  22. package/dist/conversation/readMLBMessages.js +9 -5
  23. package/dist/conversation/readMLBMessages.js.map +1 -1
  24. package/dist/conversation/writeMLBMessage.d.ts +3 -1
  25. package/dist/conversation/writeMLBMessage.d.ts.map +1 -1
  26. package/dist/conversation/writeMLBMessage.js +5 -3
  27. package/dist/conversation/writeMLBMessage.js.map +1 -1
  28. package/dist/index.d.ts +5 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +2 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/mlbClient.d.ts +1 -128
  33. package/dist/mlbClient.d.ts.map +1 -1
  34. package/dist/mlbClient.js +2 -375
  35. package/dist/mlbClient.js.map +1 -1
  36. package/dist/platform/client.d.ts +29 -0
  37. package/dist/platform/client.d.ts.map +1 -0
  38. package/dist/platform/client.js +22 -0
  39. package/dist/platform/client.js.map +1 -0
  40. package/dist/platform/mlbClient.d.ts +133 -0
  41. package/dist/platform/mlbClient.d.ts.map +1 -0
  42. package/dist/platform/mlbClient.js +420 -0
  43. package/dist/platform/mlbClient.js.map +1 -0
  44. package/dist/platform/widgets.d.ts +74 -0
  45. package/dist/platform/widgets.d.ts.map +1 -0
  46. package/dist/platform/widgets.js +85 -0
  47. package/dist/platform/widgets.js.map +1 -0
  48. package/dist/server.d.ts.map +1 -1
  49. package/dist/server.js +8 -4
  50. package/dist/server.js.map +1 -1
  51. package/dist/tools/dataAccess.d.ts +2 -2
  52. package/dist/tools/dataAccess.d.ts.map +1 -1
  53. package/dist/tools/dataAccess.js +4 -4
  54. package/dist/tools/dataAccess.js.map +1 -1
  55. package/dist/tools/registry.d.ts +6 -0
  56. package/dist/tools/registry.d.ts.map +1 -0
  57. package/dist/tools/registry.js +23 -0
  58. package/dist/tools/registry.js.map +1 -0
  59. package/dist/tools/widgets.d.ts +3 -2
  60. package/dist/tools/widgets.d.ts.map +1 -1
  61. package/dist/tools/widgets.js +22 -53
  62. package/dist/tools/widgets.js.map +1 -1
  63. package/dist/types.d.ts +37 -7
  64. package/dist/types.d.ts.map +1 -1
  65. package/dist/types.js +3 -3
  66. package/dist/types.js.map +1 -1
  67. package/package.json +4 -3
  68. package/dist/conversation/convert.d.ts +0 -46
  69. package/dist/conversation/convert.d.ts.map +0 -1
  70. package/dist/conversation/convert.js +0 -297
  71. package/dist/conversation/convert.js.map +0 -1
  72. package/dist/conversation/presence.d.ts +0 -24
  73. package/dist/conversation/presence.d.ts.map +0 -1
  74. package/dist/conversation/presence.js +0 -56
  75. package/dist/conversation/presence.js.map +0 -1
  76. package/dist/conversation/writeBack.d.ts +0 -36
  77. package/dist/conversation/writeBack.d.ts.map +0 -1
  78. package/dist/conversation/writeBack.js +0 -114
  79. package/dist/conversation/writeBack.js.map +0 -1
package/dist/server.js CHANGED
@@ -77,12 +77,14 @@ export class BuddyServer {
77
77
  return dataRequirements;
78
78
  };
79
79
  const conversations = new Map();
80
+ const deleted = new Set();
80
81
  /** 拿到这个键的会话;没有或已退役就新起一场 */
81
82
  const conversationOf = (key) => {
82
83
  const existing = conversations.get(key);
83
84
  if (existing !== undefined && !existing.closed)
84
85
  return existing;
85
86
  const conversation = new ConversationHandle({
87
+ welcome: options.welcome, errorReply: options.errorReply,
86
88
  key,
87
89
  buddyId,
88
90
  client,
@@ -112,12 +114,14 @@ export class BuddyServer {
112
114
  void conversation.close();
113
115
  };
114
116
  const onEvent = (event) => {
115
- if (event.type === "message")
116
- conversationOf(event.convoKey).notify();
117
- else
117
+ if (event.type === "delete") {
118
+ deleted.add(event.convoKey);
118
119
  dropConversation(event.convoKey, "delete");
120
+ }
121
+ else if (!deleted.has(event.convoKey))
122
+ conversationOf(event.convoKey).notify(event.type === "welcome");
119
123
  };
120
- const stream = new EventStream({ gatewayUrl, token, log, onEvent });
124
+ const stream = new EventStream({ gatewayUrl, token, log, onEvent, includeWelcome: !!options.welcome });
121
125
  stream.start();
122
126
  const sweeper = setInterval(() => {
123
127
  const now = Date.now();
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -31,14 +31,14 @@ export declare class DataAccessUsageTracker {
31
31
  private used;
32
32
  track(tool: AgentTool): AgentTool;
33
33
  runForTool<T>(toolCallId: string, action: () => Promise<T>): Promise<T>;
34
- query(client: MLBClient, convoKey: string, datasets: string[], memberId?: string): Promise<DatasetAccessResult[]>;
34
+ query(client: MLBClient, convoKey: string, datasets: string[], memberId?: string, signal?: AbortSignal): Promise<DatasetAccessResult[]>;
35
35
  details(toolCallId: string): DataAccessToolDetails | undefined;
36
36
  hasUsage(): boolean;
37
37
  clear(): void;
38
38
  private record;
39
39
  }
40
40
  /** 内置只读 Tool。真实数据会给当前回合的模型,但不会被 Runtime 持久化。 */
41
- export declare function dataAccessTool(client: MLBClient, convoKey: string, tracker: DataAccessUsageTracker, requirements: DataRequirement[]): AgentTool<typeof queryParams, DataAccessToolDetails>;
41
+ export declare function dataAccessTool(client: MLBClient, convoKey: string, tracker: DataAccessUsageTracker, requirements: DataRequirement[], lifetimeSignal?: AbortSignal): AgentTool<typeof queryParams, DataAccessToolDetails>;
42
42
  /**
43
43
  * Agent run 结束后(index.ts 在 agent_end 时调),把内存里 Agent 历史中这一轮的 DataAccess 原始结果换成状态摘要,
44
44
  * 这一轮 assistant 的 thinking 与工具参数一并去掉。run 内不能提前替换:模型在 Tool 后续一轮还需要读取真实数据。
@@ -1 +1 @@
1
- {"version":3,"file":"dataAccess.d.ts","sourceRoot":"","sources":["../../src/tools/dataAccess.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAmB,MAAM,+BAA+B,CAAC;AAC9F,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAExE,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAEzD,QAAA,MAAM,WAAW;;;EAQf,CAAC;AAEH,MAAM,WAAW,qBAAqB;IACrC,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAA;KAAE,EAAE,CAAC;CAClE;AAED,8CAA8C;AAC9C,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,qBAAqB,CAEvF;AAED,sCAAsC;AACtC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAG1D;AAED,kDAAkD;AAClD,eAAO,MAAM,0BAA0B,qJAA6B,CAAC;AAErE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,qBAAqB,CASlF;AAED;;;GAGG;AACH,qBAAa,sBAAsB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;IAC9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA4C;IAClE,OAAO,CAAC,IAAI,CAAS;IAErB,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS;IAOjC,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAQvH,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAI9D,QAAQ,IAAI,OAAO;IAInB,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,MAAM;CAMd;AASD,gDAAgD;AAChD,wBAAgB,cAAc,CAC7B,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,sBAAsB,EAC/B,YAAY,EAAE,eAAe,EAAE,GAC7B,SAAS,CAAC,OAAO,WAAW,EAAE,qBAAqB,CAAC,CAYtD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CACjC,QAAQ,EAAE,YAAY,EAAE,EACxB,WAAW,EAAE,YAAY,EAAE,EAC3B,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,GACnD,YAAY,EAAE,CAqBhB"}
1
+ {"version":3,"file":"dataAccess.d.ts","sourceRoot":"","sources":["../../src/tools/dataAccess.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAmB,MAAM,+BAA+B,CAAC;AAC9F,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAExE,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAEzD,QAAA,MAAM,WAAW;;;EAQf,CAAC;AAEH,MAAM,WAAW,qBAAqB;IACrC,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAA;KAAE,EAAE,CAAC;CAClE;AAED,8CAA8C;AAC9C,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,qBAAqB,CAEvF;AAED,sCAAsC;AACtC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAG1D;AAED,kDAAkD;AAClD,eAAO,MAAM,0BAA0B,qJAA6B,CAAC;AAErE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,qBAAqB,CASlF;AAED;;;GAGG;AACH,qBAAa,sBAAsB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;IAC9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA4C;IAClE,OAAO,CAAC,IAAI,CAAS;IAErB,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS;IAOjC,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAQ7I,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAI9D,QAAQ,IAAI,OAAO;IAInB,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,MAAM;CAMd;AASD,gDAAgD;AAChD,wBAAgB,cAAc,CAC7B,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,sBAAsB,EAC/B,YAAY,EAAE,eAAe,EAAE,EAC/B,cAAc,CAAC,EAAE,WAAW,GAC1B,SAAS,CAAC,OAAO,WAAW,EAAE,qBAAqB,CAAC,CAYtD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CACjC,QAAQ,EAAE,YAAY,EAAE,EACxB,WAAW,EAAE,YAAY,EAAE,EAC3B,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,GACnD,YAAY,EAAE,CAqBhB"}
@@ -56,8 +56,8 @@ export class DataAccessUsageTracker {
56
56
  runForTool(toolCallId, action) {
57
57
  return this.activeCall.run(toolCallId, action);
58
58
  }
59
- async query(client, convoKey, datasets, memberId) {
60
- const results = await client.queryDataAccess(convoKey, datasets, memberId);
59
+ async query(client, convoKey, datasets, memberId, signal) {
60
+ const results = await client.queryDataAccess(convoKey, datasets, memberId, signal);
61
61
  this.used = true;
62
62
  const toolCallId = this.activeCall.getStore();
63
63
  if (toolCallId !== undefined)
@@ -89,7 +89,7 @@ function resultForModel(results) {
89
89
  };
90
90
  }
91
91
  /** 内置只读 Tool。真实数据会给当前回合的模型,但不会被 Runtime 持久化。 */
92
- export function dataAccessTool(client, convoKey, tracker, requirements) {
92
+ export function dataAccessTool(client, convoKey, tracker, requirements, lifetimeSignal) {
93
93
  const catalog = requirements.map((item) => `${item.id}(${item.title}):${item.purpose}`).join("\n");
94
94
  return {
95
95
  name: DATA_ACCESS_TOOL_NAME,
@@ -98,7 +98,7 @@ export function dataAccessTool(client, convoKey, tracker, requirements) {
98
98
  `\n你声明过的 Dataset:\n${catalog}`,
99
99
  parameters: queryParams,
100
100
  replay: "safe",
101
- execute: async (_id, { datasets, memberId }) => resultForModel(await tracker.query(client, convoKey, datasets, memberId)),
101
+ execute: async (_id, { datasets, memberId }, signal) => resultForModel(await tracker.query(client, convoKey, datasets, memberId, AbortSignal.any([...(signal ? [signal] : []), ...(lifetimeSignal ? [lifetimeSignal] : [])]))),
102
102
  };
103
103
  }
104
104
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"dataAccess.js","sourceRoot":"","sources":["../../src/tools/dataAccess.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataAccess.js","sourceRoot":"","sources":["../../src/tools/dataAccess.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { AgentTool } from "@earendil-works/pi-agent-core";
2
+ export declare const PLATFORM_TOOL_NAMES: readonly ["widget_create", "widget_write", "widget_read", "widget_delete", "widget_send", "data_access_query", "read_resource"];
3
+ export type PlatformToolName = typeof PLATFORM_TOOL_NAMES[number];
4
+ export declare function validatePlatformTools(names?: readonly PlatformToolName[]): Set<PlatformToolName>;
5
+ export declare function registerTools(selected: ReadonlySet<PlatformToolName>, available: AgentTool[], business: AgentTool[]): AgentTool[];
6
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/D,eAAO,MAAM,mBAAmB,iIAAkI,CAAC;AACnK,MAAM,MAAM,gBAAgB,GAAG,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAElE,wBAAgB,qBAAqB,CAAC,KAAK,GAAE,SAAS,gBAAgB,EAAO,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAQpG;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAQjI"}
@@ -0,0 +1,23 @@
1
+ export const PLATFORM_TOOL_NAMES = ["widget_create", "widget_write", "widget_read", "widget_delete", "widget_send", "data_access_query", "read_resource"];
2
+ export function validatePlatformTools(names = []) {
3
+ const selected = new Set();
4
+ for (const name of names) {
5
+ if (!PLATFORM_TOOL_NAMES.includes(name))
6
+ throw new Error(`未知平台工具:${name}`);
7
+ if (selected.has(name))
8
+ throw new Error(`工具重复注册:${name}`);
9
+ selected.add(name);
10
+ }
11
+ return selected;
12
+ }
13
+ export function registerTools(selected, available, business) {
14
+ const tools = [...available.filter(tool => selected.has(tool.name)), ...business];
15
+ const names = new Set();
16
+ for (const tool of tools) {
17
+ if (names.has(tool.name))
18
+ throw new Error(`工具重名:${tool.name}`);
19
+ names.add(tool.name);
20
+ }
21
+ return tools;
22
+ }
23
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,mBAAmB,EAAE,eAAe,CAAU,CAAC;AAGnK,MAAM,UAAU,qBAAqB,CAAC,QAAqC,EAAE;IACzE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,CAAE,mBAAyC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAClG,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAC1D,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAuC,EAAE,SAAsB,EAAE,QAAqB;IAChH,MAAM,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAwB,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC;IACtG,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { AgentTool } from "@earendil-works/pi-agent-core";
2
- import type { MLBClient, WidgetType } from "../mlbClient.ts";
2
+ import type { WidgetType } from "../platform/mlbClient.ts";
3
+ import type { WidgetClient } from "../platform/widgets.ts";
3
4
  /**
4
5
  * 把类型目录渲染成人话,供 widget_create / widget_write 的 description 用。每个类型三层:
5
6
  * 【<id>】<description>
@@ -12,5 +13,5 @@ export declare function renderCatalog(types: WidgetType[]): string;
12
13
  * 给一场会话造五个小挂件工具。types 为空说明平台没开放任何小挂件类型,回 [],模型就见不到这些工具。
13
14
  * 五个工具都绑死在这场会话的 convoKey 上,跨会话看不见对方的小挂件。
14
15
  */
15
- export declare function widgetTools(client: MLBClient, convoKey: string, types: WidgetType[]): AgentTool[];
16
+ export declare function widgetTools(client: WidgetClient, types: WidgetType[]): AgentTool[];
16
17
  //# sourceMappingURL=widgets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"widgets.d.ts","sourceRoot":"","sources":["../../src/tools/widgets.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,+BAA+B,CAAC;AAEhF,OAAO,KAAK,EAAE,SAAS,EAAoB,UAAU,EAAe,MAAM,iBAAiB,CAAC;AAY5F;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,CAWzD;AAuFD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,SAAS,EAAE,CA8EjG"}
1
+ {"version":3,"file":"widgets.d.ts","sourceRoot":"","sources":["../../src/tools/widgets.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,+BAA+B,CAAC;AAEhF,OAAO,KAAK,EAAoB,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAY3D;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,CAWzD;AAwFD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,SAAS,EAAE,CAiElF"}
@@ -1,7 +1,7 @@
1
1
  // 小挂件工具:把平台的小挂件接口包成五个 pi AgentTool,交给模型在会话里建面板、写记录、读记录、删记录、把小挂件发进聊天流。
2
2
  // 管:五个工具的名字与 label(固定,人设按名字叫它们)、参数 schema(typebox)、description 里把小挂件类型目录渲染成人话、
3
- // 把平台的回复翻成给模型看的一句话(平台拒绝时也回人话,不 throw,让模型看到原因后改参数重试)。
4
- // 不管:HTTP 请求本身(mlbClient.ts)、类型目录从哪拉(server.ts 懒拉一次)、什么时候把工具装进 Agent(conversation/agent.ts)。
3
+ // 调用共享 Client;失败抛给 pi 标为错误,不能伪报成功。
4
+ // 不管:HTTP 请求本身(platform/)、类型目录从哪拉(server.ts 懒拉一次)、什么时候把工具装进 Agent(conversation/agent.ts)。
5
5
  import { Type } from "typebox";
6
6
  /** JSON Schema 的 type 值 → 目录里给模型看的中文类型词 */
7
7
  const TYPE_WORDS = {
@@ -89,17 +89,18 @@ const createParams = Type.Object({
89
89
  title: Type.String({ description: "标题,给人看的" }),
90
90
  });
91
91
  const writeParams = Type.Object({
92
- widgetId: Type.String({ description: "widget_create 回的 id" }),
92
+ widgetId: Type.String({ description: "当前会话中已有的 Widget id,从上下文或工具结果取得" }),
93
93
  module: Type.String({ description: "模块名,见目录" }),
94
94
  recordId: Type.String({ description: "记录 id,自己起;已存在就覆盖" }),
95
95
  data: Type.Object({}, { additionalProperties: true, description: "这条记录的内容,字段照该模块的说明填" }),
96
+ expectedRevision: Type.Optional(Type.Integer({ minimum: 0, description: "读到的 revision;提供时检测并发修改" })),
96
97
  });
97
98
  const readParams = Type.Object({
98
- widgetId: Type.String({ description: "widget_create 回的 id" }),
99
+ widgetId: Type.String({ description: "当前会话中已有的 Widget id,从上下文或工具结果取得" }),
99
100
  module: Type.Optional(Type.String({ description: "只读这个模块;不给就读整个 widget" })),
100
101
  });
101
102
  const deleteParams = Type.Object({
102
- widgetId: Type.String({ description: "widget_create 回的 id" }),
103
+ widgetId: Type.String({ description: "当前会话中已有的 Widget id,从上下文或工具结果取得" }),
103
104
  module: Type.String({ description: "模块名" }),
104
105
  recordId: Type.String({ description: "要删的记录 id" }),
105
106
  });
@@ -110,24 +111,19 @@ const sendParams = Type.Object({
110
111
  * 给一场会话造五个小挂件工具。types 为空说明平台没开放任何小挂件类型,回 [],模型就见不到这些工具。
111
112
  * 五个工具都绑死在这场会话的 convoKey 上,跨会话看不见对方的小挂件。
112
113
  */
113
- export function widgetTools(client, convoKey, types) {
114
+ export function widgetTools(client, types) {
114
115
  if (types.length === 0)
115
116
  return [];
116
117
  const catalog = renderCatalog(types);
117
118
  const create = {
118
119
  name: "widget_create",
119
120
  label: "正在建 widget",
120
- description: "在这场会话里新建一个小挂件(一块给人看的结构化面板)。建好只是个空壳:还要用 widget_write 往模块里写记录,再用 widget_send 把小挂件发进聊天流,用户才看得见。\n" +
121
+ description: "在这场会话里新建一个小挂件(一块给人看的结构化面板)。建好只是个空壳,后续需使用当前可用的工具写入内容并发送引用,不要声称已展示。\n" +
121
122
  `你能建的类型:\n${catalog}`,
122
123
  parameters: createParams,
123
- execute: async (_id, params) => {
124
- const reply = await client.widgetCreate(convoKey, params.type, params.title);
125
- if (!reply.ok)
126
- return text(`没建成:${reply.error}`);
127
- const id = field(reply.body, "id");
128
- if (typeof id !== "string")
129
- return text(`没建成:平台响应里没有 id(${JSON.stringify(reply.body)})`);
130
- return text(`建好了,小挂件 id 是 ${id}。接下来用 widget_write 往里写记录,用 widget_send 把小挂件发进聊天流。`);
124
+ execute: async (callId, params, signal) => {
125
+ const { id } = await client.create({ ...params, idempotencyKey: `widget-create:${callId}` }, { signal });
126
+ return text(`建好了,小挂件 id 是 ${id}。后续使用当前可用的工具写入内容并发送引用;这里只确认创建。`);
131
127
  },
132
128
  };
133
129
  const write = {
@@ -136,11 +132,8 @@ export function widgetTools(client, convoKey, types) {
136
132
  description: "往小挂件的某个模块里写一条记录:recordId 已存在就整条覆盖,不存在就新建。data 里的字段照该模块的说明填。\n" +
137
133
  `各类型的模块与字段:\n${catalog}`,
138
134
  parameters: writeParams,
139
- execute: async (_id, params) => {
140
- const reply = await client.widgetWrite(convoKey, params.widgetId, params.module, params.recordId, params.data);
141
- if (!reply.ok)
142
- return text(`没写成:${reply.error}`);
143
- const revision = field(reply.body, "revision");
135
+ execute: async (_id, params, signal) => {
136
+ const { revision } = await client.write(params.widgetId, { ...params, data: params.data }, { signal });
144
137
  return text(`写好了:${params.module}/${params.recordId}${revision === undefined ? "" : `(revision ${String(revision)})`}`);
145
138
  },
146
139
  };
@@ -149,13 +142,11 @@ export function widgetTools(client, convoKey, types) {
149
142
  label: "正在读 widget",
150
143
  description: "读一个小挂件里现在有什么:不给 module 就读整个小挂件(所有模块的记录),给了 module 只读那个模块。改记录之前先读一遍,别凭印象。",
151
144
  parameters: readParams,
152
- execute: async (_id, params) => {
153
- const reply = await client.widgetRead(convoKey, params.widgetId, params.module);
154
- if (!reply.ok)
155
- return text(`没读到:${reply.error}`);
145
+ execute: async (_id, params, signal) => {
156
146
  if (params.module === undefined)
157
- return text(renderWidget(reply.body));
158
- return text(renderRecords(params.module, field(reply.body, "records")).join("\n"));
147
+ return text(renderWidget(await client.read(params.widgetId, { signal })));
148
+ const body = await client.readModule(params.widgetId, params.module, { signal });
149
+ return text(renderRecords(params.module, body.records).join("\n"));
159
150
  },
160
151
  };
161
152
  const remove = {
@@ -163,10 +154,8 @@ export function widgetTools(client, convoKey, types) {
163
154
  label: "正在删小挂件记录",
164
155
  description: "删掉小挂件某个模块里的一条记录。删的是记录,不是整个小挂件。",
165
156
  parameters: deleteParams,
166
- execute: async (_id, params) => {
167
- const reply = await client.widgetDelete(convoKey, params.widgetId, params.module, params.recordId);
168
- if (!reply.ok)
169
- return text(`没删成:${reply.error}`);
157
+ execute: async (_id, params, signal) => {
158
+ await client.deleteRecord(params.widgetId, params.module, params.recordId, { signal });
170
159
  return text(`删掉了:${params.module}/${params.recordId}`);
171
160
  },
172
161
  };
@@ -175,31 +164,11 @@ export function widgetTools(client, convoKey, types) {
175
164
  label: "正在把小挂件发进聊天流",
176
165
  description: "把一个建好的小挂件发进聊天流,用户点开就能看。内容改了不用重发,用户点开看到的就是最新的;同一个小挂件也可以再发一次。",
177
166
  parameters: sendParams,
178
- execute: async (_id, params) => {
179
- let result;
180
- try {
181
- result = await client.writeMessages(convoKey, [{ type: "widget", widget: { id: params.widgetId } }]);
182
- }
183
- catch (e) {
184
- return text(`没发成:${e instanceof Error ? e.message : String(e)}`);
185
- }
186
- if (result.kind === "rejected")
187
- return text(`没发成:${rejectionText(result.status, result.body)}`);
188
- return text("小挂件发进聊天流了。");
167
+ execute: async (callId, params, signal) => {
168
+ client.send(params.widgetId, { idempotencyKey: `widget-send:${callId}`, signal });
169
+ return text("小挂件引用已加入发送队列,尚不代表平台确认送达。");
189
170
  },
190
171
  };
191
172
  return [create, write, read, remove, send];
192
173
  }
193
- /** 写口 4xx 的错误体是 { error },取出来给模型看;不是 JSON 就把原文带上 */
194
- function rejectionText(status, body) {
195
- try {
196
- const error = field(JSON.parse(body), "error");
197
- if (typeof error === "string")
198
- return error;
199
- }
200
- catch {
201
- // 错误体不是 JSON,下面退回用原文
202
- }
203
- return `HTTP ${status}${body === "" ? "" : `:${body}`}`;
204
- }
205
174
  //# sourceMappingURL=widgets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"widgets.js","sourceRoot":"","sources":["../../src/tools/widgets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"widgets.js","sourceRoot":"","sources":["../../src/tools/widgets.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,6 +1,10 @@
1
+ import type { PlatformClient } from "./platform/client.ts";
2
+ import type { PlatformToolName } from "./tools/registry.ts";
1
3
  import type { AgentMessage, AgentOptions, AgentState } from "@earendil-works/pi-agent-core";
2
4
  /** 一个搭子在一场会话里的配置。形状照 pi 的 Agent 来。 */
3
- export type BuddyOptions = Pick<AgentOptions, "transformContext" | "beforeToolCall" | "afterToolCall" | "shouldStopAfterTurn" | "prepareNextTurnWithContext" | "thinkingBudgets" | "toolExecution"> & {
5
+ export type BuddyOptions = Pick<AgentOptions, "beforeToolCall" | "afterToolCall" | "shouldStopAfterTurn" | "prepareNextTurnWithContext" | "thinkingBudgets" | "toolExecution"> & {
6
+ /** 显式选择给模型开放的平台工具;默认 []。不影响业务工具调用 platform Clients。 */
7
+ platformTools?: readonly PlatformToolName[];
4
8
  /** systemPrompt 必填;tools / thinkingLevel 可选。model / messages 不露——模型在 BuddyServer.start 的 model 里按 id 选、历史从平台灌 */
5
9
  initialState: Pick<AgentState, "systemPrompt"> & Partial<Pick<AgentState, "tools" | "thinkingLevel">>;
6
10
  };
@@ -8,11 +12,16 @@ export type BuddyOptions = Pick<AgentOptions, "transformContext" | "beforeToolCa
8
12
  export type BuddyFactory = (conversation: Conversation) => BuddyOptions | Promise<BuddyOptions>;
9
13
  /** 一场会话。工厂和工具闭包都拿得到。 */
10
14
  export interface Conversation {
15
+ /** 会话退役时取消工具中尚未完成的请求。 */
16
+ readonly signal: AbortSignal;
17
+ /** 当前会话绑定的平台能力;Client 不包含任何应用领域规则。 */
18
+ readonly platform: PlatformClient;
11
19
  /** 平台的会话键:私聊 p_ 前缀、群 g_ 前缀。两场会话之间不该看得见对方 */
12
20
  readonly key: string;
13
21
  /** 行首带搭子 id */
14
22
  readonly log: BuddyLogger;
15
23
  /**
24
+ * @deprecated 新应用使用 platform.memory。两者是同一实例。
16
25
  * 这场会话的记忆:搭子写给自己的长期印象,平台只存不读,按会话隔离,会话删除时平台一并清掉。
17
26
  * 会话键已经绑好,调的时候不用传。失败(超配额、key 不合法、网络错误)直接 throw,文案是平台给的原因。
18
27
  */
@@ -25,6 +34,7 @@ export interface Conversation {
25
34
  delete(key: string): Promise<void>;
26
35
  };
27
36
  /**
37
+ * @deprecated 新应用使用 platform.dataAccess。两者是同一实例。
28
38
  * 用户授权数据。会话键已经绑定:私聊只传 datasets,群聊还要传消息前缀里的稳定 memberId。
29
39
  * 平台按搭子声明、用户 Grant、群开关和 Snapshot 有效期逐项判定;搭子拿不到真实用户 ID。
30
40
  */
@@ -77,6 +87,10 @@ export interface StartOptions {
77
87
  buddy: BuddyFactory;
78
88
  /** 模型 id,必填,取值照平台 GET /cli/models 报的。整个进程的会话共用这一个 */
79
89
  model: string;
90
+ /** 可选首次问候,仅处理 welcome 事件且历史为空;不调用模型。 */
91
+ welcome?: string;
92
+ /** 模型失败、空回复时的明确兜底;不在会话已删除时发送。 */
93
+ errorReply?: string;
80
94
  }
81
95
  export interface BuddyServerHandle {
82
96
  stop(): Promise<void>;
@@ -91,13 +105,25 @@ export interface NoteMessage {
91
105
  text: string;
92
106
  timestamp: number;
93
107
  }
108
+ /** 消息里的一张图:type image 记录的 image、聊天记录卡条目的 image、引用块的 image */
109
+ export interface MLBImage {
110
+ mediaId: string;
111
+ width?: number;
112
+ height?: number;
113
+ mimeType?: string;
114
+ size?: number;
115
+ /** 处理好的 JPEG 的 base64,平台在拉取时加上。图片读不到时没有;引用块里的图不带 */
116
+ data?: string;
117
+ }
94
118
  /** 读口每条记录 */
95
119
  export interface MLBMessage {
96
- /** message / checkin / tool / question / note / widget / messagesCard / system / context */
120
+ /** 平台消息的稳定 ID。换算图片记录时给图片打标记,引用靠它对上是历史里哪一张;不用时间戳代替 */
121
+ id: string;
122
+ /** message / checkin / image / tool / question / note / widget / messagesCard / system / context */
97
123
  type: string;
98
124
  /** user / buddy / platform */
99
125
  author: string;
100
- /** 正文;富类型这里是给人看的一行摘要 */
126
+ /** 正文;富类型这里是给人看的一行摘要。type image 是用户给图片配的文字,没配时是「[图片]」 */
101
127
  text: string;
102
128
  /** 发言人显示名(群成员现名 / 私聊转发人);搭子自己的消息不带 */
103
129
  name?: string;
@@ -114,15 +140,19 @@ export interface MLBMessage {
114
140
  widget?: {
115
141
  id: string;
116
142
  };
143
+ image?: MLBImage;
117
144
  messagesCard?: MessagesCard;
118
145
  toolCalls?: MLBToolCall[];
119
146
  /** 该步推理原文,只有搭子自己的记录上有 */
120
147
  thinking?: string;
121
148
  /** 半截话,重建跳过 */
122
149
  interrupted?: boolean;
150
+ /** 引用块:被引消息的 id、发言人名、原文前 120 字;引用的是图片消息时带 image(不带图片内容) */
123
151
  quote?: {
152
+ id?: string;
124
153
  name?: string;
125
154
  text?: string;
155
+ image?: MLBImage;
126
156
  };
127
157
  }
128
158
  export interface MessagesCard {
@@ -131,6 +161,7 @@ export interface MessagesCard {
131
161
  items: {
132
162
  name?: string;
133
163
  text?: string;
164
+ image?: MLBImage;
134
165
  messagesCard?: MessagesCard;
135
166
  }[];
136
167
  }
@@ -157,13 +188,12 @@ export interface MLBMessageToWrite {
157
188
  /** 读口响应。平台的场合交代是其中 type 为 context 的记录,不单独成字段 */
158
189
  export interface PullResponse {
159
190
  messages: MLBMessage[];
191
+ /** 这一页之外还有没拉的记录:一页条数不超过 limit、图片内容加起来不超过 20 MB,可能不满就结束 */
192
+ hasMore: boolean;
160
193
  }
161
194
  /** 事件流分发出来的事件;welcome / data-access 在流那层就丢掉 */
162
195
  export type BuddyEvent = {
163
- type: "message";
164
- convoKey: string;
165
- } | {
166
- type: "delete";
196
+ type: "message" | "delete" | "welcome";
167
197
  convoKey: string;
168
198
  };
169
199
  /** Agent 的历史 */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -1,8 +1,8 @@
1
1
  // 开发者契约 + 模块间共享的类型。设计正本:REDoc《【技术设计】搭子 runtime 基座》。
2
2
  //
3
- // 开发者交一个工厂:buddy: (conversation) => BuddyOptions。BuddyOptions 里没有一个自造字段——
4
- // 名字和签名全部从 pi 的 AgentOptions / AgentState 上 Pick,运行时只做两件事:
5
- // 藏掉运行时独占的字段(streamFn / getApiKey / model / messages / convertToLlm / steeringMode …),
3
+ // 开发者交一个工厂:buddy: (conversation) => BuddyOptions。模型钩子取自 pi,
4
+ // 平台工具按名单显式注册,默认不暴露给模型。
5
+ // 藏掉运行时独占的字段(streamFn / getApiKey / model / messages / transformContext / convertToLlm / steeringMode …),
6
6
  // 把 systemPrompt 设成必填(没人设的搭子是 bug,类型上就拦)。
7
7
  export {};
8
8
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,EAAE;AACF,0EAA0E;AAC1E,2DAA2D;AAC3D,uFAAuF;AACvF,0CAA0C"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,EAAE;AACF,4DAA4D;AAC5D,wBAAwB;AACxB,0GAA0G;AAC1G,0CAA0C"}
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@my-life-buddies/buddy-runtime",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "description": "MLB 搭子运行时,基于 pi-agent-core:订阅平台事件流、拉取消息、驱动模型、写回回复。开发者调用 BuddyServer.start 交一份配置即可跑起一只搭子",
6
6
  "exports": {
7
7
  ".": {
8
+ "buddy-runtime-source": "./src/index.ts",
8
9
  "types": "./dist/index.d.ts",
9
10
  "default": "./dist/index.js"
10
11
  },
@@ -14,9 +15,9 @@
14
15
  "dist/"
15
16
  ],
16
17
  "scripts": {
17
- "build": "tsc -p tsconfig.build.json",
18
+ "build": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\" && tsc -p tsconfig.build.json",
18
19
  "typecheck": "tsc --noEmit -p tsconfig.json",
19
- "test": "node --test src/*.test.ts src/conversation/*.test.ts src/tools/*.test.ts",
20
+ "test": "node --test src/*.test.ts src/conversation/*.test.ts src/tools/*.test.ts src/platform/*.test.ts",
20
21
  "prepublishOnly": "npm run build"
21
22
  },
22
23
  "dependencies": {