@zhin.js/core 1.0.14 → 1.0.16

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.
@@ -0,0 +1,173 @@
1
+ # 异步 JSX 组件支持
2
+
3
+ ## 概述
4
+
5
+ Zhin Core 现在原生支持异步 JSX 组件,允许你像使用普通组件一样使用异步组件,无需额外的类型断言或注释。
6
+
7
+ ## 核心改动
8
+
9
+ ### 1. 类型系统扩展
10
+
11
+ **`packages/core/src/jsx.ts`**:
12
+ - 修改 `JSX.Element` 类型为联合类型,支持 `Promise<SendContent>`
13
+ - `renderJSX` 函数自动检测并 await Promise 返回值
14
+ - 错误时自动捕获并返回错误信息
15
+
16
+ **`packages/core/src/message.ts`**:
17
+ - `MessageComponent` 类型支持异步组件函数
18
+
19
+ ### 2. 运行时支持
20
+
21
+ **自动 Promise 处理**:
22
+ ```typescript
23
+ export async function renderJSX(element: MessageComponent<any>, context?: ComponentContext): Promise<SendContent> {
24
+ try {
25
+ // ... 组件渲染逻辑
26
+ const result = await component(element.data, context || {} as ComponentContext);
27
+
28
+ // 如果组件返回 Promise,自动 await
29
+ if (result && typeof result === 'object' && 'then' in result) {
30
+ return await result;
31
+ }
32
+
33
+ return result;
34
+ } catch (error) {
35
+ // 渲染错误时返回错误信息
36
+ const errorMessage = error instanceof Error ? error.message : String(error);
37
+ return `❌ 组件渲染失败: ${errorMessage}`;
38
+ }
39
+ }
40
+ ```
41
+
42
+ **子组件 Promise 处理**:
43
+ ```typescript
44
+ async function renderChildren(children: JSXChildren, context?: ComponentContext): Promise<SendContent> {
45
+ // ...
46
+ // 如果子元素是 Promise,自动 await
47
+ if (children && typeof children === 'object' && 'then' in children) {
48
+ try {
49
+ return await children;
50
+ } catch (error) {
51
+ return `❌ 组件渲染失败: ${errorMessage}`;
52
+ }
53
+ }
54
+ }
55
+ ```
56
+
57
+ ## 使用方式
58
+
59
+ ### 定义异步组件
60
+
61
+ ```tsx
62
+ import { defineComponent, addComponent } from 'zhin.js';
63
+
64
+ const AsyncComponent = defineComponent(async function AsyncComponent({ userId }: { userId: string }) {
65
+ // 执行异步操作
66
+ const user = await fetchUserFromDatabase(userId);
67
+ const profile = await fetchUserProfile(userId);
68
+
69
+ return `👤 ${user.name}\n📧 ${profile.email}`;
70
+ }, 'AsyncComponent');
71
+
72
+ addComponent(AsyncComponent);
73
+ ```
74
+
75
+ ### 在 JSX 中使用(现在完全类型安全)
76
+
77
+ ```tsx
78
+ addCommand(
79
+ new MessageCommand('用户 <userId:text>')
80
+ .action(async (message, result) => {
81
+ // ✅ 直接使用 JSX 语法,无需 @ts-expect-error
82
+ return <AsyncComponent userId={result.params.userId} />
83
+ })
84
+ );
85
+ ```
86
+
87
+ ### 嵌套异步组件
88
+
89
+ ```tsx
90
+ const UserProfile = defineComponent(async function UserProfile({ userId }: { userId: string }) {
91
+ const user = await fetchUser(userId);
92
+
93
+ // 嵌套使用其他异步组件
94
+ return (
95
+ <div>
96
+ <h1>{user.name}</h1>
97
+ <AsyncComponent userId={userId} />
98
+ </div>
99
+ );
100
+ }, 'UserProfile');
101
+ ```
102
+
103
+ ## 错误处理
104
+
105
+ 异步组件中的错误会自动被捕获并返回友好的错误信息:
106
+
107
+ ```tsx
108
+ const FailingComponent = defineComponent(async function FailingComponent() {
109
+ throw new Error('数据加载失败');
110
+ }, 'FailingComponent');
111
+
112
+ // 使用时会自动返回: "❌ 组件渲染失败: 数据加载失败"
113
+ ```
114
+
115
+ ## 性能考虑
116
+
117
+ - **自动 await**:框架自动检测 Promise 并等待,无额外开销
118
+ - **并行渲染**:多个异步组件可以并行加载(使用 `Promise.all`)
119
+ - **错误隔离**:单个组件错误不会影响整体渲染
120
+
121
+ ## 迁移指南
122
+
123
+ 如果你之前使用了 `@ts-expect-error` 或直接函数调用:
124
+
125
+ ```tsx
126
+ // ❌ 旧方式(已废弃)
127
+ return await ShareMusic({ platform: 'qq', musicId: '123' });
128
+
129
+ // ✅ 新方式(推荐)
130
+ return <ShareMusic platform="qq" musicId="123" />
131
+ ```
132
+
133
+ ## TypeScript 类型
134
+
135
+ ```typescript
136
+ // JSX.Element 现在支持 Promise
137
+ declare global {
138
+ namespace JSX {
139
+ type Element = MessageComponent<any> | Promise<MessageComponent<any>> | Promise<SendContent>
140
+ }
141
+ }
142
+
143
+ // MessageComponent 支持异步函数
144
+ export type MessageComponent<T extends object> = {
145
+ type: Component<T & {children?: SendContent}> | ((props: T & {children?: SendContent}) => Promise<SendContent>)
146
+ data: T
147
+ }
148
+ ```
149
+
150
+ ## 测试
151
+
152
+ 确保你的异步组件正确工作:
153
+
154
+ ```typescript
155
+ import { describe, it, expect } from 'vitest';
156
+
157
+ describe('Async Components', () => {
158
+ it('should render async component', async () => {
159
+ const result = await renderJSX(<AsyncComponent userId="123" />);
160
+ expect(result).toBe('👤 User Name\n📧 user@example.com');
161
+ });
162
+
163
+ it('should handle errors gracefully', async () => {
164
+ const result = await renderJSX(<FailingComponent />);
165
+ expect(result).toMatch(/❌ 组件渲染失败/);
166
+ });
167
+ });
168
+ ```
169
+
170
+ ---
171
+
172
+ **版本**: 1.0.15+
173
+ **文档更新**: 2025-11-19
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @zhin.js/core
2
2
 
3
+ ## 1.0.16
4
+
5
+ ### Patch Changes
6
+
7
+ - e733fab: fix: 异步组件优化
8
+
9
+ ## 1.0.15
10
+
11
+ ### Patch Changes
12
+
13
+ - f9e75ce: fix: 一致性调整,文档调整
14
+ - e783f90: fix:保护 bun
15
+ - f9e75ce: fix: recall,文档统一,mcp,githubnotifiy
16
+
3
17
  ## 1.0.14
4
18
 
5
19
  ### Patch Changes
package/README.md CHANGED
@@ -121,7 +121,7 @@ import { MessageCommand } from '@zhin.js/core'
121
121
 
122
122
  const command = new MessageCommand('echo <content:text>')
123
123
  .action(async (message, result) => {
124
- const content = result.args.content
124
+ const content = result.params.content
125
125
  return `你说了:${content}`
126
126
  })
127
127
 
package/lib/command.d.ts CHANGED
@@ -25,7 +25,7 @@ export declare class MessageCommand<T extends keyof RegisteredAdapters = keyof R
25
25
  handle(message: Message<AdapterMessage<T>>, app: App): Promise<SendContent | undefined>;
26
26
  }
27
27
  export declare namespace MessageCommand {
28
- type Callback<T extends keyof RegisteredAdapters> = (message: Message<AdapterMessage<T>>, result: MatchResult) => MaybePromise<SendContent | void>;
28
+ type Callback<T extends keyof RegisteredAdapters> = (message: Message<AdapterMessage<T>>, result: MatchResult) => SendContent | undefined | Promise<SendContent | undefined>;
29
29
  type Checker<T extends keyof RegisteredAdapters> = (message: Message<AdapterMessage<T>>) => MaybePromise<boolean>;
30
30
  }
31
31
  //# sourceMappingURL=command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAC,cAAc,EAAE,WAAW,EAAC,MAAM,YAAY,CAAC;AACvD,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B;;;GAGG;AACH,qBAAa,cAAc,CAAC,CAAC,SAAS,MAAM,kBAAkB,GAAC,MAAM,kBAAkB,CAAE,SAAQ,cAAc;;IAI3G;;;OAGG;IACH,MAAM,CAAC,QAAQ,EAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,GAEvB,cAAc,CAAC,CAAC,CAAC;IAEpC,MAAM,CAAC,GAAG,WAAW,EAAC,MAAM,EAAE,GAEX,cAAc,CAAC,CAAC,CAAC;IAEpC;;;;;OAKG;IACG,MAAM,CAAC,OAAO,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAC,GAAG,EAAC,GAAG,GAAE,OAAO,CAAC,WAAW,GAAC,SAAS,CAAC;CAoB1F;AACD,yBAAiB,cAAc,CAAA;IAC3B,KAAY,QAAQ,CAAC,CAAC,SAAS,MAAM,kBAAkB,IAAE,CAAC,OAAO,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAC,MAAM,EAAC,WAAW,KAAG,YAAY,CAAC,WAAW,GAAC,IAAI,CAAC,CAAC;IACjJ,KAAY,OAAO,CAAC,CAAC,SAAS,MAAM,kBAAkB,IAAE,CAAC,OAAO,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAG,YAAY,CAAC,OAAO,CAAC,CAAA;CACtH"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAC,cAAc,EAAE,WAAW,EAAC,MAAM,YAAY,CAAC;AACvD,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B;;;GAGG;AACH,qBAAa,cAAc,CAAC,CAAC,SAAS,MAAM,kBAAkB,GAAC,MAAM,kBAAkB,CAAE,SAAQ,cAAc;;IAI3G;;;OAGG;IACH,MAAM,CAAC,QAAQ,EAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,GAEvB,cAAc,CAAC,CAAC,CAAC;IAEpC,MAAM,CAAC,GAAG,WAAW,EAAC,MAAM,EAAE,GAEX,cAAc,CAAC,CAAC,CAAC;IAEpC;;;;;OAKG;IACG,MAAM,CAAC,OAAO,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAC,GAAG,EAAC,GAAG,GAAE,OAAO,CAAC,WAAW,GAAC,SAAS,CAAC;CAoB1F;AACD,yBAAiB,cAAc,CAAA;IAC3B,KAAY,QAAQ,CAAC,CAAC,SAAS,MAAM,kBAAkB,IAAE,CAAC,OAAO,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAC,MAAM,EAAC,WAAW,KAAG,WAAW,GAAC,SAAS,GAAC,OAAO,CAAC,WAAW,GAAC,SAAS,CAAC,CAAC;IACvK,KAAY,OAAO,CAAC,CAAC,SAAS,MAAM,kBAAkB,IAAE,CAAC,OAAO,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAG,YAAY,CAAC,OAAO,CAAC,CAAA;CACtH"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAkB,MAAM,YAAY,CAAC;AAI5E,eAAO,MAAM,YAAY,eAAyB,CAAC;AACnD,eAAO,MAAM,YAAY,eAAyB,CAAC;AAGnD,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,IAAI;IAC7B,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5D,IAAI,EAAE,MAAM,CAAC;CAChB,CAAA;AAID,MAAM,WAAW,gBAAgB;IAE7B,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAGxF,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAGtB,MAAM,CAAC,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAGpC,IAAI,EAAE,MAAM,CAAC;IAGb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,CAAC;IACpC,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;CACzC;AAGD,wBAAgB,eAAe,CAAC,CAAC,GAAG,GAAG,EACnC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EACvB,IAAI,GAAE,MAAuB,GAC9B,SAAS,CAAC,CAAC,CAAC,CAad;AAGD,wBAAgB,cAAc,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAWpF;AAGD,wBAAgB,QAAQ,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,CAAC,CA6FrG;AAuRD,wBAAgB,sBAAsB,CAClC,KAAK,GAAE,IAAS,EAChB,MAAM,CAAC,EAAE,gBAAgB,EACzB,IAAI,GAAE,MAAW,GAClB,gBAAgB,CAuBlB;AACD,wBAAsB,eAAe,CAAC,CAAC,GAAG,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAGzI;AAED,wBAAsB,gBAAgB,CAClC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EACpC,OAAO,EAAE,WAAW,EACpB,aAAa,CAAC,EAAE,gBAAgB,GACjC,OAAO,CAAC,WAAW,CAAC,CA8DlB;AAGL,eAAO,MAAM,QAAQ;eAA8C,WAAW;EAchE,CAAC;AACf,eAAO,MAAM,KAAK,gBAEP,CAAC"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAkB,MAAM,YAAY,CAAC;AAI5E,eAAO,MAAM,YAAY,eAAyB,CAAC;AACnD,eAAO,MAAM,YAAY,eAAyB,CAAC;AAGnD,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,IAAI;IAC7B,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5D,IAAI,EAAE,MAAM,CAAC;CAChB,CAAA;AAID,MAAM,WAAW,gBAAgB;IAE7B,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAGxF,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAGtB,MAAM,CAAC,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAGpC,IAAI,EAAE,MAAM,CAAC;IAGb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,CAAC;IACpC,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;CACzC;AAGD,wBAAgB,eAAe,CAAC,CAAC,GAAG,GAAG,EACnC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EACvB,IAAI,GAAE,MAAuB,GAC9B,SAAS,CAAC,CAAC,CAAC,CAad;AAGD,wBAAgB,cAAc,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAWpF;AAGD,wBAAgB,QAAQ,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,CAAC,CA6FrG;AAuRD,wBAAgB,sBAAsB,CAClC,KAAK,GAAE,IAAS,EAChB,MAAM,CAAC,EAAE,gBAAgB,EACzB,IAAI,GAAE,MAAW,GAClB,gBAAgB,CAuBlB;AACD,wBAAsB,eAAe,CAAC,CAAC,GAAG,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAGzI;AAED,wBAAsB,gBAAgB,CAClC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EACpC,OAAO,EAAE,WAAW,EACpB,aAAa,CAAC,EAAE,gBAAgB,GACjC,OAAO,CAAC,WAAW,CAAC,CAkElB;AAGL,eAAO,MAAM,QAAQ;eAA8C,WAAW;EAchE,CAAC;AACf,eAAO,MAAM,KAAK,gBAEP,CAAC"}
package/lib/component.js CHANGED
@@ -424,8 +424,14 @@ export async function renderComponents(componentMap, options, customContext) {
424
424
  if (match) {
425
425
  // 创建组件特定的上下文
426
426
  const componentContext = createComponentContext(context.props, context, result);
427
- const rendered = await renderComponent(comp, match, componentContext);
428
- const renderedString = typeof rendered === 'string' ? rendered : segment.toString(rendered);
427
+ let SendContent;
428
+ try {
429
+ SendContent = await renderComponent(comp, match, componentContext);
430
+ }
431
+ catch (error) {
432
+ SendContent = `[${comp.name} Error: ${error?.message || String(error)}]`;
433
+ }
434
+ const renderedString = typeof SendContent === 'string' ? SendContent : segment.toString(SendContent);
429
435
  result = result.replace(match, renderedString);
430
436
  hasChanges = true;
431
437
  break; // 处理一个组件后重新开始循环
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIpE,SAAS;AACT,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AA6BnD,wBAAwB;AACxB,MAAM,UAAU,eAAe,CAC3B,SAAuB,EACvB,OAAe,SAAS,CAAC,IAAI;IAE7B,IAAI,IAAI,EAAE,CAAC;QACP,oBAAoB;QACpB,MAAM,cAAc,GAAG,SAAyB,CAAC;QACjD,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE;YAC1C,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;QACH,OAAO,cAAc,CAAC;IAC1B,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS;AACT,MAAM,UAAU,cAAc,CAAU,IAAkB,EAAE,QAAgB;IACxE,0BAA0B;IAC1B,MAAM,gBAAgB,GAAG,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,wBAAwB,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,kCAAkC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAE7F,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjC,CAAC;AAED,uBAAuB;AACvB,MAAM,UAAU,QAAQ,CAAU,IAAkB,EAAE,QAAgB,EAAE,OAA0B;IAC9F,yBAAyB;IACzB,MAAM,gBAAgB,GAAG,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,wBAAwB,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,kCAAkC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAE7F,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC7C,IAAI,aAAa,GAAG,IAAI,CAAC;IACzB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACrC,aAAa,GAAG,KAAK,CAAC;QACtB,IAAI,KAAK,EAAE,CAAC;YACR,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9B,CAAC;IACL,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,EAAO,CAAC;IACnB,CAAC;IAED,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAExC,iBAAiB;IACjB,MAAM,KAAK,GAAwB,EAAE,CAAC;IAEtC,gBAAgB;IAChB,IAAI,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1B,mBAAmB;QACnB,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC;YACjC,SAAS;YACT,OAAO,CAAC,GAAG,gBAAgB,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,CAAC,EAAE,CAAC;YACR,CAAC;YAED,IAAI,CAAC,IAAI,gBAAgB,CAAC,MAAM;gBAAE,MAAM;YAExC,QAAQ;YACR,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,gBAAgB,CAAC,MAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,GAAG,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBAC3B,CAAC,EAAE,CAAC;YACR,CAAC;YAED,IAAI,CAAC,GAAG,EAAE,CAAC;gBACP,CAAC,EAAE,CAAC;gBACJ,SAAS;YACb,CAAC;YAED,SAAS;YACT,OAAO,CAAC,GAAG,gBAAgB,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,CAAC,EAAE,CAAC;YACR,CAAC;YAED,UAAU;YACV,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM,IAAI,gBAAgB,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC7D,CAAC,EAAE,CAAC,CAAC,OAAO;gBAEZ,SAAS;gBACT,OAAO,CAAC,GAAG,gBAAgB,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,CAAC,EAAE,CAAC;gBACR,CAAC;gBAED,IAAI,CAAC,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;oBAC/B,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;oBAClB,MAAM;gBACV,CAAC;gBAED,QAAQ;gBACR,MAAM,KAAK,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;gBAChE,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;gBACzB,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACJ,aAAa;gBACb,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACtB,CAAC;QACL,CAAC;IACL,CAAC;IAED,4BAA4B;IAC5B,IAAI,CAAC,aAAa,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QACpC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAED,mCAAmC;IACnC,MAAM,cAAc,GAAwB,EAAE,CAAC;IAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/E,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;IACrC,CAAC;IAED,OAAO,cAAmB,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,GAAW,EAAE,UAAkB,EAAE,OAA0B;IACpF,IAAI,CAAC,GAAG,UAAU,CAAC;IAEnB,aAAa;IACb,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,EAAE,CAAC,CAAC,SAAS;QACd,IAAI,KAAK,GAAG,EAAE,CAAC;QAEf,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;YACxC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;gBACxC,SAAS;gBACT,CAAC,EAAE,CAAC;gBACJ,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACJ,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;YACD,CAAC,EAAE,CAAC;QACR,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;YACjB,CAAC,EAAE,CAAC,CAAC,SAAS;QAClB,CAAC;QAED,oBAAoB;QACpB,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,aAAa;YACb,MAAM,cAAc,GAAG,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAChE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACnD,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACnC,CAAC;IAED,cAAc;IACd,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACjB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,CAAC,EAAE,CAAC,CAAC,UAAU;QAEf,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;YACpB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACjB,UAAU,EAAE,CAAC;YACjB,CAAC;iBAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACxB,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;oBACnB,CAAC,EAAE,CAAC,CAAC,UAAU;oBACf,MAAM;gBACV,CAAC;gBACD,UAAU,EAAE,CAAC;YACjB,CAAC;YACD,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;YAChB,CAAC,EAAE,CAAC;QACR,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACzE,CAAC;IAED,UAAU;IACV,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QAC5D,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC,EAAE,CAAC;IACR,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAAC,WAAmB,EAAE,OAA0B;IAC7E,IAAI,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC;IAEjC,sCAAsC;IACtC,IAAI,MAAM,GAAG,WAAW,CAAC;IACzB,MAAM,eAAe,GAAG,cAAc,CAAC;IACvC,IAAI,KAAK,CAAC;IAEV,OAAO,CAAC,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACxC,MAAM,WAAW,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC9E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YACnD,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,iBAAiB;QACrB,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,IAAY,EAAE,OAA0B;IAClE,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAEnB,WAAW;IACX,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO;IACP,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,QAAQ;IACR,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IAE3C,OAAO;IACP,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACL,wBAAwB;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAClD,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAC7C,CAAC;YACF,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,oBAAoB;IACpB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACL,wBAAwB;YACxB,IAAI,CAAC;gBACD,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACL,gBAAgB;gBAChB,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;IACL,CAAC;IAED,iBAAiB;IACjB,IAAI,OAAO,EAAE,CAAC;QACV,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtC,wCAAwC;YACxC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,iBAAiB;YACjB,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,MAAc;IACrC,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU;IACrB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,UAAU,GAAG,EAAE,CAAC;IAEpB,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,UAAU;QACtC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAEvB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,KAAK,EAAE,CAAC;gBACR,KAAK,IAAI,IAAI,CAAC;YAClB,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACtB,KAAK,EAAE,CAAC;gBACR,KAAK,IAAI,IAAI,CAAC;YAClB,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACtB,YAAY,EAAE,CAAC;gBACf,KAAK,IAAI,IAAI,CAAC;YAClB,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACtB,YAAY,EAAE,CAAC;gBACf,KAAK,IAAI,IAAI,CAAC;YAClB,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;gBAC3D,KAAK,GAAG,KAAK,CAAC;gBACd,CAAC,EAAE,CAAC;gBACJ,SAAS;YACb,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;gBAC3D,QAAQ;gBACR,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC7B,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;oBACvD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,WAAW,CAAC;gBACrC,CAAC;gBACD,GAAG,GAAG,EAAE,CAAC;gBACT,KAAK,GAAG,EAAE,CAAC;gBACX,KAAK,GAAG,IAAI,CAAC;gBACb,CAAC,EAAE,CAAC;gBACJ,SAAS;YACb,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACtC,QAAQ,GAAG,IAAI,CAAC;gBAChB,UAAU,GAAG,IAAI,CAAC;gBAClB,IAAI,KAAK,EAAE,CAAC;oBACR,GAAG,IAAI,IAAI,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACJ,KAAK,IAAI,IAAI,CAAC;gBAClB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,KAAK,EAAE,CAAC;oBACR,GAAG,IAAI,IAAI,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACJ,KAAK,IAAI,IAAI,CAAC;gBAClB,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACtB,QAAQ,GAAG,KAAK,CAAC;YACrB,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACR,GAAG,IAAI,IAAI,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACJ,KAAK,IAAI,IAAI,CAAC;YAClB,CAAC;QACL,CAAC;QACD,CAAC,EAAE,CAAC;IACR,CAAC;IAED,YAAY;IACZ,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,WAAW,CAAC;IACrC,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,KAAa,EAAE,OAA0B;IACjE,cAAc;IACd,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ;QACzC,OAAO,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,QAAQ;IACR,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAEpC,OAAO;IACP,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,oBAAoB;IACpB,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,KAAK,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IAE5C,cAAc;IACd,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,eAAe;AACf,MAAM,UAAU,sBAAsB,CAClC,QAAc,EAAE,EAChB,MAAyB,EACzB,OAAe,EAAE;IAET,OAAO;QACX,SAAS;QACT,MAAM,EAAE,KAAK,EAAE,QAAgB,EAAE,OAAmC,EAAE,EAAE;YACpE,aAAa;YACb,OAAO,QAAQ,CAAC;QACpB,CAAC;QAED,WAAW;QACX,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC;QAElC,aAAa;QACb,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QAElD,UAAU;QACV,IAAI;QAGJ,kBAAkB;QAClB,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC;QACpE,OAAO,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;KAC3D,CAAC;AACN,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAU,SAAuB,EAAE,QAAgB,EAAE,OAAyB;IAC/G,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrD,OAAO,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC;AACD,kBAAkB;AAClB,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,YAAoC,EACpC,OAAoB,EACpB,aAAgC;IAEhC,IAAI,CAAC,YAAY,CAAC,IAAI;QAAE,OAAO,OAAO,CAAC;IAEvC,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE3E,SAAS;IACT,MAAM,WAAW,GAAG,aAAa,IAAI,sBAAsB,CACvD,OAAO,EACP,SAAS,EACT,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAyB,CAAC,CAC9G,CAAC;IAEF,SAAS;IACT,MAAM,iBAAiB,GAAG,KAAK,EAAE,QAAgB,EAAE,OAAyB,EAAwB,EAAE;QAClG,IAAI,MAAM,GAAG,QAAQ,CAAC;QACtB,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,MAAM,aAAa,GAAG,EAAE,CAAC,CAAC,SAAS;QAEnC,OAAO;QACP,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEjC,wBAAwB;QACxB,OAAO,UAAU,IAAI,UAAU,GAAG,aAAa,EAAE,CAAC;YAC9C,UAAU,GAAG,KAAK,CAAC;YACnB,UAAU,EAAE,CAAC;YAEb,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC3C,IAAI,KAAK,EAAE,CAAC;oBACR,aAAa;oBACb,MAAM,gBAAgB,GAAG,sBAAsB,CAC3C,OAAO,CAAC,KAAK,EACb,OAAO,EACP,MAAM,CACT,CAAC;oBACF,IAAI,WAAW,CAAC;oBAChB,IAAG,CAAC;wBACA,WAAW,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;oBACvE,CAAC;oBAAA,OAAM,KAAK,EAAC,CAAC;wBACV,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,WAAY,KAAe,EAAE,OAAO,IAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAA;oBACrF,CAAC;oBACD,MAAM,cAAc,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,WAA6B,CAAC,CAAC;oBACvH,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;oBAC/C,UAAU,GAAG,IAAI,CAAC;oBAClB,MAAM,CAAC,gBAAgB;gBAC3B,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;IAEF,cAAc;IACd,WAAW,CAAC,MAAM,GAAG,KAAK,EAAE,QAAgB,EAAE,OAAmC,EAAE,EAAE;QACjF,OAAO,MAAM,iBAAiB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,OAAO;IACP,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAA0B,CAAC;IAE3F,OAAO;QACH,GAAG,OAAO;QACV,OAAO;KACV,CAAC;AACN,CAAC;AAEL,OAAO;AACP,MAAM,CAAC,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,EAAE,KAAiC,EAAE,OAAyB,EAAE,EAAE;IAC3G,IAAI,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC/B,IAAG,CAAC;YACA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtD,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;QAAA,MAAK,CAAC;YACH,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC5B,CAAC,EAAE,UAAU,CAAC,CAAC;AACf,MAAM,CAAC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;IACnD,OAAO,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC,EAAE,OAAO,CAAC,CAAC"}
package/lib/jsx.d.ts CHANGED
@@ -10,8 +10,7 @@ export type JSXProps = Record<string, any> & {
10
10
  export { Fragment } from './component.js';
11
11
  declare global {
12
12
  namespace JSX {
13
- interface Element extends MessageComponent<any> {
14
- }
13
+ type Element = MessageComponent<any> | Promise<MessageComponent<any>> | Promise<SendContent>;
15
14
  interface ElementClass {
16
15
  render(props: any, context?: ComponentContext): MaybePromise<SendContent>;
17
16
  }
@@ -24,9 +23,12 @@ declare global {
24
23
  interface IntrinsicElements {
25
24
  [elemName: string]: any;
26
25
  }
26
+ interface IntrinsicAttributes {
27
+ key?: string | number;
28
+ }
27
29
  }
28
30
  }
29
- export declare function jsx(type: JSXElementType, data: JSXProps): MessageElement;
31
+ export declare function jsx(type: JSXElementType, data: JSXProps): MessageComponent<any>;
30
32
  export declare function jsxs(type: JSXElementType, props: JSXProps): MessageElement;
31
33
  export declare function renderJSX(element: MessageComponent<any>, context?: ComponentContext): Promise<SendContent>;
32
34
  //# sourceMappingURL=jsx.d.ts.map
package/lib/jsx.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"jsx.d.ts","sourceRoot":"","sources":["../src/jsx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAC,cAAc,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAI7D,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,EAAE,CAAC;AAGxG,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAE;AAGtD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IACzC,QAAQ,CAAC,EAAE,WAAW,CAAC;CAC1B,CAAC;AACF,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAEvC,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,GAAG,CAAC;QACV,UAAU,OAAQ,SAAQ,gBAAgB,CAAC,GAAG,CAAC;SAAG;QAClD,UAAU,YAAY;YAClB,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;SAC7E;QACD,UAAU,yBAAyB;YAC/B,IAAI,EAAE,EAAE,CAAC;SACZ;QACD,UAAU,wBAAwB;YAC9B,QAAQ,EAAE,EAAE,CAAC;SAChB;QACD,UAAU,iBAAiB;YACvB,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC;SAC3B;KACJ;CACJ;AAGD,wBAAgB,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,GAAG,cAAc,CAKxE;AAGD,wBAAgB,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,GAAG,cAAc,CAE1E;AAID,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAgBhH"}
1
+ {"version":3,"file":"jsx.d.ts","sourceRoot":"","sources":["../src/jsx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAC,cAAc,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAI7D,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,EAAE,CAAC;AAGxG,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAE;AAGtD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IACzC,QAAQ,CAAC,EAAE,WAAW,CAAC;CAC1B,CAAC;AACF,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAEvC,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,GAAG,CAAC;QAGV,KAAK,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;QAC5F,UAAU,YAAY;YAClB,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;SAC7E;QACD,UAAU,yBAAyB;YAC/B,IAAI,EAAE,EAAE,CAAC;SACZ;QACD,UAAU,wBAAwB;YAC9B,QAAQ,EAAE,EAAE,CAAC;SAChB;QACD,UAAU,iBAAiB;YACvB,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC;SAC3B;QAED,UAAU,mBAAmB;YACzB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;SACzB;KACJ;CACJ;AAGD,wBAAgB,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAK/E;AAGD,wBAAgB,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,GAAG,cAAc,CAE1E;AAID,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAoChH"}
package/lib/jsx.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { Fragment } from './component.js';
2
- // JSX 运行时函数
2
+ // JSX 运行时函数 - 支持异步组件
3
3
  export function jsx(type, data) {
4
4
  return {
5
5
  type,
@@ -12,22 +12,39 @@ export function jsxs(type, props) {
12
12
  }
13
13
  // JSX 渲染函数
14
14
  export async function renderJSX(element, context) {
15
- if (typeof element.type === 'string') {
16
- if (element.type === 'Fragment') {
15
+ try {
16
+ if (typeof element.type === 'string') {
17
+ if (element.type === 'Fragment') {
18
+ return await renderChildren(element.data.children, context);
19
+ }
20
+ // 其他内置组件处理
17
21
  return await renderChildren(element.data.children, context);
18
22
  }
19
- // 其他内置组件处理
20
- return await renderChildren(element.data.children, context);
21
- }
22
- else if (typeof element.type === 'function') {
23
- // 函数组件
24
- const component = element.type;
25
- return await component(element.data, context || {});
23
+ else if (typeof element.type === 'function') {
24
+ // 函数组件
25
+ const component = element.type;
26
+ const result = await component(element.data, context || {});
27
+ // 如果组件返回 Promise,自动 await
28
+ if (result && typeof result === 'object' && 'then' in result) {
29
+ return await result;
30
+ }
31
+ return result;
32
+ }
33
+ else {
34
+ // 类组件或其他类型
35
+ const component = element.type;
36
+ const result = await component(element.data, context || {});
37
+ // 如果组件返回 Promise,自动 await
38
+ if (result && typeof result === 'object' && 'then' in result) {
39
+ return await result;
40
+ }
41
+ return result;
42
+ }
26
43
  }
27
- else {
28
- // 类组件或其他类型
29
- const component = element.type;
30
- return await component(element.data, context || {});
44
+ catch (error) {
45
+ // 渲染错误时返回错误信息
46
+ const errorMessage = error instanceof Error ? error.message : String(error);
47
+ return `❌ 组件渲染失败: ${errorMessage}`;
31
48
  }
32
49
  }
33
50
  // 渲染子元素
@@ -45,6 +62,16 @@ async function renderChildren(children, context) {
45
62
  if (child && typeof child === 'object' && 'type' in child) {
46
63
  return await renderJSX(child, context);
47
64
  }
65
+ // 如果子元素是 Promise,自动 await
66
+ if (child && typeof child === 'object' && 'then' in child) {
67
+ try {
68
+ return await child;
69
+ }
70
+ catch (error) {
71
+ const errorMessage = error instanceof Error ? error.message : String(error);
72
+ return `❌ 组件渲染失败: ${errorMessage}`;
73
+ }
74
+ }
48
75
  return '';
49
76
  }));
50
77
  return results.join('');
@@ -52,6 +79,16 @@ async function renderChildren(children, context) {
52
79
  if (children && typeof children === 'object' && 'type' in children) {
53
80
  return await renderJSX(children, context);
54
81
  }
82
+ // 如果子元素是 Promise,自动 await
83
+ if (children && typeof children === 'object' && 'then' in children) {
84
+ try {
85
+ return await children;
86
+ }
87
+ catch (error) {
88
+ const errorMessage = error instanceof Error ? error.message : String(error);
89
+ return `❌ 组件渲染失败: ${errorMessage}`;
90
+ }
91
+ }
55
92
  return '';
56
93
  }
57
94
  //# sourceMappingURL=jsx.js.map
package/lib/jsx.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"jsx.js","sourceRoot":"","sources":["../src/jsx.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAoBvC,YAAY;AACZ,MAAM,UAAU,GAAG,CAAC,IAAoB,EAAE,IAAc;IACpD,OAAO;QACH,IAAI;QACJ,IAAI;KACW,CAAC;AACxB,CAAC;AAED,kBAAkB;AAClB,MAAM,UAAU,IAAI,CAAC,IAAoB,EAAE,KAAe;IACtD,OAAO,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC5B,CAAC;AAGD,WAAW;AACX,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAA8B,EAAE,OAA0B;IACtF,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,OAAO,MAAM,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC;QACD,WAAW;QACX,OAAO,MAAM,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;SAAM,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC5C,OAAO;QACP,MAAM,SAAS,GAAG,OAAO,CAAC,IAAsB,CAAC;QACjD,OAAO,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,IAAI,EAAsB,CAAC,CAAC;IAC5E,CAAC;SAAM,CAAC;QACJ,WAAW;QACX,MAAM,SAAS,GAAG,OAAO,CAAC,IAAsB,CAAC;QACjD,OAAO,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,IAAI,EAAsB,CAAC,CAAC;IAC5E,CAAC;AACL,CAAC;AAED,QAAQ;AACR,KAAK,UAAU,cAAc,CAAC,QAAqB,EAAE,OAA0B;IAC3E,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,EAAE,CAAC;IAChC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChG,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;YACzD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;gBACvF,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;YACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;gBACxD,OAAO,MAAM,SAAS,CAAC,KAA8B,EAAE,OAAO,CAAC,CAAC;YACpE,CAAC;YACD,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC,CAAC;QACJ,OAAO,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;QACjE,OAAO,MAAM,SAAS,CAAC,QAAiC,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"jsx.js","sourceRoot":"","sources":["../src/jsx.ts"],"names":[],"mappings":"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"}
package/lib/message.d.ts CHANGED
@@ -2,11 +2,14 @@ import { MessageElement, MessageSender, SendContent } from "./types";
2
2
  import { Component } from "./component.js";
3
3
  /**
4
4
  * 消息组件类型:用于自定义消息结构
5
+ * 支持同步和异步组件
5
6
  */
6
7
  export type MessageComponent<T extends object> = {
7
8
  type: Component<T & {
8
9
  children?: SendContent;
9
- }>;
10
+ }> | ((props: T & {
11
+ children?: SendContent;
12
+ }) => Promise<SendContent>);
10
13
  data: T;
11
14
  };
12
15
  /**
@@ -30,6 +33,7 @@ export interface MessageBase {
30
33
  $content: MessageElement[];
31
34
  $sender: MessageSender;
32
35
  $reply(content: SendContent, quote?: boolean | string): Promise<string>;
36
+ $recall(): Promise<void>;
33
37
  $channel: MessageChannel;
34
38
  $timestamp: number;
35
39
  $raw: string;
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../src/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,aAAa,EAAE,WAAW,EAAC,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAE;IAC3C,IAAI,EAAC,SAAS,CAAC,CAAC,GAAC;QAAC,QAAQ,CAAC,EAAC,WAAW,CAAA;KAAC,CAAC,CAAA;IACzC,IAAI,EAAC,CAAC,CAAA;CACT,CAAA;AACD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;CACrB;AACD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAA;AACzD;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAC,MAAM,CAAA;IACf,IAAI,EAAC,MAAM,CAAA;IACX,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,OAAO,EAAC,WAAW,EAAC,KAAK,CAAC,EAAC,OAAO,GAAC,MAAM,GAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACjE,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CAChB;AACD;;GAEG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,GAAC,EAAE,IAAE,WAAW,GAAC,CAAC,CAAC;AACvD,yBAAiB,OAAO,CAAA;IACpB;;OAEG;IACH,SAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAC,CAAC,EAAC,MAAM,EAAC,WAAW,GAAE,OAAO,CAAC,CAAC,CAAC,CAE5E;CACJ"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../src/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,aAAa,EAAE,WAAW,EAAC,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;GAGG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAE;IAC3C,IAAI,EAAC,SAAS,CAAC,CAAC,GAAC;QAAC,QAAQ,CAAC,EAAC,WAAW,CAAA;KAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG;QAAC,QAAQ,CAAC,EAAE,WAAW,CAAA;KAAC,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;IAC3G,IAAI,EAAC,CAAC,CAAA;CACT,CAAA;AACD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;CACrB;AACD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAA;AACzD;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAC,MAAM,CAAA;IACf,IAAI,EAAC,MAAM,CAAA;IACX,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,OAAO,EAAC,WAAW,EAAC,KAAK,CAAC,EAAC,OAAO,GAAC,MAAM,GAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACjE,OAAO,IAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvB,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CAChB;AACD;;GAEG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,GAAC,EAAE,IAAE,WAAW,GAAC,CAAC,CAAC;AACvD,yBAAiB,OAAO,CAAA;IACpB;;OAEG;IACH,SAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAC,CAAC,EAAC,MAAM,EAAC,WAAW,GAAE,OAAO,CAAC,CAAC,CAAC,CAE5E;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../src/message.ts"],"names":[],"mappings":"AAuCA,MAAM,KAAW,OAAO,CAOvB;AAPD,WAAiB,OAAO;IACpB;;OAEG;IACH,SAAgB,IAAI,CAAmB,KAAO,EAAC,MAAkB;QAC7D,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAC,MAAM,CAAC,CAAA;IACtC,CAAC;IAFe,YAAI,OAEnB,CAAA;AACL,CAAC,EAPgB,OAAO,KAAP,OAAO,QAOvB"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../src/message.ts"],"names":[],"mappings":"AAyCA,MAAM,KAAW,OAAO,CAOvB;AAPD,WAAiB,OAAO;IACpB;;OAEG;IACH,SAAgB,IAAI,CAAmB,KAAO,EAAC,MAAkB;QAC7D,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAC,MAAM,CAAC,CAAA;IACtC,CAAC;IAFe,YAAI,OAEnB,CAAA;AACL,CAAC,EAPgB,OAAO,KAAP,OAAO,QAOvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/lib/utils.js CHANGED
@@ -57,6 +57,7 @@ export const execute = (exp, context) => {
57
57
  pid: process.pid,
58
58
  ppid: process.ppid,
59
59
  },
60
+ Bun: '你想干嘛',
60
61
  global: undefined,
61
62
  Buffer: undefined,
62
63
  crypto: undefined
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhin.js/core",
3
- "version": "1.0.14",
3
+ "version": "1.0.16",
4
4
  "description": "Zhin机器人核心框架",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
package/src/command.ts CHANGED
@@ -54,6 +54,6 @@ export class MessageCommand<T extends keyof RegisteredAdapters=keyof RegisteredA
54
54
  }
55
55
  }
56
56
  export namespace MessageCommand{
57
- export type Callback<T extends keyof RegisteredAdapters>=(message:Message<AdapterMessage<T>>,result:MatchResult)=>MaybePromise<SendContent|void>;
57
+ export type Callback<T extends keyof RegisteredAdapters>=(message:Message<AdapterMessage<T>>,result:MatchResult)=>SendContent|undefined|Promise<SendContent|undefined>;
58
58
  export type Checker<T extends keyof RegisteredAdapters>=(message:Message<AdapterMessage<T>>)=>MaybePromise<boolean>
59
59
  }
package/src/component.ts CHANGED
@@ -512,9 +512,13 @@ export async function renderComponents(
512
512
  context,
513
513
  result
514
514
  );
515
-
516
- const rendered = await renderComponent(comp, match, componentContext);
517
- const renderedString = typeof rendered === 'string' ? rendered : segment.toString(rendered as MessageElement);
515
+ let SendContent;
516
+ try{
517
+ SendContent = await renderComponent(comp, match, componentContext);
518
+ }catch(error){
519
+ SendContent = `[${comp.name} Error: ${(error as Error)?.message||String(error)}]`
520
+ }
521
+ const renderedString = typeof SendContent === 'string' ? SendContent : segment.toString(SendContent as MessageElement);
518
522
  result = result.replace(match, renderedString);
519
523
  hasChanges = true;
520
524
  break; // 处理一个组件后重新开始循环
package/src/jsx.ts CHANGED
@@ -18,7 +18,9 @@ export {Fragment} from './component.js'
18
18
  // 全局 JSX 命名空间
19
19
  declare global {
20
20
  namespace JSX {
21
- interface Element extends MessageComponent<any> {}
21
+ // 支持同步和异步组件 - Element 可以是 MessageComponent
22
+ // TypeScript 会在编译时允许异步组件,运行时会自动 await
23
+ type Element = MessageComponent<any> | Promise<MessageComponent<any>> | Promise<SendContent>
22
24
  interface ElementClass {
23
25
  render(props: any, context?: ComponentContext): MaybePromise<SendContent>;
24
26
  }
@@ -31,15 +33,19 @@ declare global {
31
33
  interface IntrinsicElements {
32
34
  [elemName: string]: any;
33
35
  }
36
+ // 添加对异步组件的支持
37
+ interface IntrinsicAttributes {
38
+ key?: string | number;
39
+ }
34
40
  }
35
41
  }
36
42
 
37
- // JSX 运行时函数
38
- export function jsx(type: JSXElementType, data: JSXProps): MessageElement {
43
+ // JSX 运行时函数 - 支持异步组件
44
+ export function jsx(type: JSXElementType, data: JSXProps): MessageComponent<any> {
39
45
  return {
40
46
  type,
41
47
  data,
42
- } as MessageElement;
48
+ } as MessageComponent<any>;
43
49
  }
44
50
 
45
51
  // JSX Fragment 支持
@@ -50,20 +56,40 @@ export function jsxs(type: JSXElementType, props: JSXProps): MessageElement {
50
56
 
51
57
  // JSX 渲染函数
52
58
  export async function renderJSX(element: MessageComponent<any>, context?: ComponentContext): Promise<SendContent> {
53
- if (typeof element.type === 'string') {
54
- if (element.type === 'Fragment') {
59
+ try {
60
+ if (typeof element.type === 'string') {
61
+ if (element.type === 'Fragment') {
62
+ return await renderChildren(element.data.children, context);
63
+ }
64
+ // 其他内置组件处理
55
65
  return await renderChildren(element.data.children, context);
66
+ } else if (typeof element.type === 'function') {
67
+ // 函数组件
68
+ const component = element.type as Component<any>;
69
+ const result = await component(element.data, context || {} as ComponentContext);
70
+
71
+ // 如果组件返回 Promise,自动 await
72
+ if (result && typeof result === 'object' && 'then' in result) {
73
+ return await result;
74
+ }
75
+
76
+ return result;
77
+ } else {
78
+ // 类组件或其他类型
79
+ const component = element.type as Component<any>;
80
+ const result = await component(element.data, context || {} as ComponentContext);
81
+
82
+ // 如果组件返回 Promise,自动 await
83
+ if (result && typeof result === 'object' && 'then' in result) {
84
+ return await result;
85
+ }
86
+
87
+ return result;
56
88
  }
57
- // 其他内置组件处理
58
- return await renderChildren(element.data.children, context);
59
- } else if (typeof element.type === 'function') {
60
- // 函数组件
61
- const component = element.type as Component<any>;
62
- return await component(element.data, context || {} as ComponentContext);
63
- } else {
64
- // 类组件或其他类型
65
- const component = element.type as Component<any>;
66
- return await component(element.data, context || {} as ComponentContext);
89
+ } catch (error) {
90
+ // 渲染错误时返回错误信息
91
+ const errorMessage = error instanceof Error ? error.message : String(error);
92
+ return `❌ 组件渲染失败: ${errorMessage}`;
67
93
  }
68
94
  }
69
95
 
@@ -81,6 +107,15 @@ async function renderChildren(children: JSXChildren, context?: ComponentContext)
81
107
  if (child && typeof child === 'object' && 'type' in child) {
82
108
  return await renderJSX(child as MessageComponent<any>, context);
83
109
  }
110
+ // 如果子元素是 Promise,自动 await
111
+ if (child && typeof child === 'object' && 'then' in child) {
112
+ try {
113
+ return await child;
114
+ } catch (error) {
115
+ const errorMessage = error instanceof Error ? error.message : String(error);
116
+ return `❌ 组件渲染失败: ${errorMessage}`;
117
+ }
118
+ }
84
119
  return '';
85
120
  }));
86
121
  return results.join('');
@@ -88,5 +123,14 @@ async function renderChildren(children: JSXChildren, context?: ComponentContext)
88
123
  if (children && typeof children === 'object' && 'type' in children) {
89
124
  return await renderJSX(children as MessageComponent<any>, context);
90
125
  }
126
+ // 如果子元素是 Promise,自动 await
127
+ if (children && typeof children === 'object' && 'then' in children) {
128
+ try {
129
+ return await children;
130
+ } catch (error) {
131
+ const errorMessage = error instanceof Error ? error.message : String(error);
132
+ return `❌ 组件渲染失败: ${errorMessage}`;
133
+ }
134
+ }
91
135
  return '';
92
136
  }
package/src/message.ts CHANGED
@@ -3,9 +3,10 @@ import { Component } from "./component.js";
3
3
 
4
4
  /**
5
5
  * 消息组件类型:用于自定义消息结构
6
+ * 支持同步和异步组件
6
7
  */
7
8
  export type MessageComponent<T extends object>={
8
- type:Component<T&{children?:SendContent}>
9
+ type:Component<T&{children?:SendContent}> | ((props: T & {children?: SendContent}) => Promise<SendContent>)
9
10
  data:T
10
11
  }
11
12
  /**
@@ -29,6 +30,7 @@ export interface MessageBase {
29
30
  $content: MessageElement[];
30
31
  $sender: MessageSender;
31
32
  $reply(content:SendContent,quote?:boolean|string):Promise<string>
33
+ $recall():Promise<void>
32
34
  $channel: MessageChannel;
33
35
  $timestamp: number;
34
36
  $raw: string;
package/src/utils.ts CHANGED
@@ -54,6 +54,7 @@ export const execute = <S, T = any>(exp: string, context: S):T => {
54
54
  pid:process.pid,
55
55
  ppid:process.ppid,
56
56
  },
57
+ Bun:'你想干嘛',
57
58
  global:undefined,
58
59
  Buffer:undefined,
59
60
  crypto:undefined
@@ -6,10 +6,22 @@ import { App } from '../src/app'
6
6
 
7
7
  // Mock segment-matcher
8
8
  vi.mock('segment-matcher', () => {
9
- const MatchResult = {
10
- matched: true,
11
- args: [],
12
- options: {}
9
+ class MatchResult {
10
+ matched: any[] = []
11
+ params: Record<string, any> = {}
12
+ remaining: any[] = []
13
+
14
+ addMatched(segment: any) {
15
+ this.matched.push(segment)
16
+ }
17
+
18
+ addParam(name: string, value: any) {
19
+ this.params[name] = value
20
+ }
21
+
22
+ addRemaining(segment: any) {
23
+ this.remaining.push(segment)
24
+ }
13
25
  }
14
26
 
15
27
  class SegmentMatcher {
@@ -20,11 +32,13 @@ vi.mock('segment-matcher', () => {
20
32
  if (Array.isArray(content) && content.length > 0) {
21
33
  const text = content[0]?.data?.text || ''
22
34
  if (text.includes(this.pattern)) {
23
- return {
24
- matched: true,
25
- args: [text.replace(this.pattern, '').trim()],
26
- options: {}
35
+ const result = new MatchResult()
36
+ result.addMatched(content[0])
37
+ const value = text.replace(this.pattern, '').trim()
38
+ if (value) {
39
+ result.addParam('text', value)
27
40
  }
41
+ return result
28
42
  }
29
43
  }
30
44
  return null
@@ -297,8 +311,8 @@ describe('Command系统测试', () => {
297
311
  expect(actionSpy).toHaveBeenCalledWith(
298
312
  message,
299
313
  expect.objectContaining({
300
- matched: true,
301
- args: ['hello world']
314
+ matched: expect.any(Array),
315
+ params: expect.any(Object)
302
316
  })
303
317
  )
304
318
  expect(result).toBe('Got args!')
@@ -523,7 +537,7 @@ describe('Command系统测试', () => {
523
537
  describe('复杂场景测试', () => {
524
538
  it('应该支持命令参数解析', async () => {
525
539
  const actionSpy = vi.fn((message, matchResult) => {
526
- return `参数: ${matchResult.args.join(', ')}`
540
+ return `参数: ${Object.values(matchResult.params).join(', ')}`
527
541
  })
528
542
 
529
543
  const command = new MessageCommand('say')
@@ -546,7 +560,7 @@ describe('Command系统测试', () => {
546
560
  expect(actionSpy).toHaveBeenCalledWith(
547
561
  message,
548
562
  expect.objectContaining({
549
- args: ['hello world from bot']
563
+ params: expect.any(Object)
550
564
  })
551
565
  )
552
566
  expect(result).toBe('参数: hello world from bot')
@@ -342,7 +342,9 @@ describe('函数式组件系统测试', () => {
342
342
  bot: 'test'
343
343
  }
344
344
 
345
- await expect(renderComponents(componentMap, options)).rejects.toThrow('Test error')
345
+ const result = await renderComponents(componentMap, options)
346
+ // 错误会被捕获并转换为错误消息
347
+ expect(result.content).toMatch(/\[error Error: Test error\]/)
346
348
  })
347
349
  })
348
350
  })
package/tests/jsx.test.ts CHANGED
@@ -218,15 +218,15 @@ describe('JSX消息组件系统测试', () => {
218
218
  })
219
219
 
220
220
  describe('错误处理', () => {
221
- it('应该处理组件执行错误', async () => {
221
+ it('应该捕获组件执行错误并返回错误消息', async () => {
222
222
  const ErrorComponent: Component<{}> = async () => {
223
223
  throw new Error('Component error')
224
224
  }
225
225
 
226
226
  const element = jsx(ErrorComponent, {})
227
227
 
228
- await expect(renderJSX(element as MessageComponent<any>, mockContext))
229
- .rejects.toThrow('Component error')
228
+ const result = await renderJSX(element as MessageComponent<any>, mockContext)
229
+ expect(result).toBe('❌ 组件渲染失败: Component error')
230
230
  })
231
231
 
232
232
  it('应该处理无效的元素类型', async () => {
@@ -235,9 +235,28 @@ describe('JSX消息组件系统测试', () => {
235
235
  data: { children: 'test' }
236
236
  }
237
237
 
238
- // 由于实现中会尝试调用type作为函数,这里应该处理错误
239
- await expect(renderJSX(invalidElement as MessageComponent<any>, mockContext))
240
- .rejects.toThrow()
238
+ const result = await renderJSX(invalidElement as MessageComponent<any>, mockContext)
239
+ expect(result).toMatch(/❌ 组件渲染失败/)
240
+ })
241
+
242
+ it('应该处理异步组件返回 Promise 的情况', async () => {
243
+ const AsyncPromiseComponent: Component<{ text: string }> = async (props) => {
244
+ // 返回一个 Promise(会被自动 await)
245
+ return Promise.resolve(`Async: ${props.text}`)
246
+ }
247
+
248
+ const element = jsx(AsyncPromiseComponent, { text: 'test' })
249
+ const result = await renderJSX(element as MessageComponent<any>, mockContext)
250
+
251
+ expect(result).toBe('Async: test')
252
+ })
253
+
254
+ it('应该处理子组件为 Promise 的情况', async () => {
255
+ const AsyncChild = Promise.resolve('Async Child Content')
256
+ const element = jsx('div', { children: [AsyncChild] })
257
+
258
+ const result = await renderJSX(element as MessageComponent<any>, mockContext)
259
+ expect(result).toBe('Async Child Content')
241
260
  })
242
261
  })
243
262