@zhin.js/core 1.0.57 → 1.1.2

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 (126) hide show
  1. package/lib/adapter.d.ts +1 -26
  2. package/lib/adapter.d.ts.map +1 -1
  3. package/lib/adapter.js +20 -117
  4. package/lib/adapter.js.map +1 -1
  5. package/lib/ai/index.d.ts +2 -0
  6. package/lib/ai/index.d.ts.map +1 -1
  7. package/lib/ai/index.js +1 -0
  8. package/lib/ai/index.js.map +1 -1
  9. package/lib/built/adapter-process.d.ts +0 -4
  10. package/lib/built/adapter-process.d.ts.map +1 -1
  11. package/lib/built/adapter-process.js +0 -95
  12. package/lib/built/adapter-process.js.map +1 -1
  13. package/lib/built/agent-preset.d.ts +2 -0
  14. package/lib/built/agent-preset.d.ts.map +1 -1
  15. package/lib/built/agent-preset.js +4 -0
  16. package/lib/built/agent-preset.js.map +1 -1
  17. package/lib/built/command.d.ts +4 -0
  18. package/lib/built/command.d.ts.map +1 -1
  19. package/lib/built/command.js +6 -0
  20. package/lib/built/command.js.map +1 -1
  21. package/lib/built/component.d.ts.map +1 -1
  22. package/lib/built/component.js +1 -0
  23. package/lib/built/component.js.map +1 -1
  24. package/lib/built/dispatcher.d.ts.map +1 -1
  25. package/lib/built/dispatcher.js +0 -13
  26. package/lib/built/dispatcher.js.map +1 -1
  27. package/lib/built/message-filter.d.ts +2 -0
  28. package/lib/built/message-filter.d.ts.map +1 -1
  29. package/lib/built/message-filter.js +5 -0
  30. package/lib/built/message-filter.js.map +1 -1
  31. package/lib/built/skill.d.ts +11 -0
  32. package/lib/built/skill.d.ts.map +1 -1
  33. package/lib/built/skill.js +14 -0
  34. package/lib/built/skill.js.map +1 -1
  35. package/lib/built/tool.d.ts +11 -44
  36. package/lib/built/tool.d.ts.map +1 -1
  37. package/lib/built/tool.js +14 -353
  38. package/lib/built/tool.js.map +1 -1
  39. package/lib/plugin.d.ts +1 -25
  40. package/lib/plugin.d.ts.map +1 -1
  41. package/lib/plugin.js +1 -77
  42. package/lib/plugin.js.map +1 -1
  43. package/lib/types.d.ts +0 -25
  44. package/lib/types.d.ts.map +1 -1
  45. package/package.json +10 -7
  46. package/CHANGELOG.md +0 -538
  47. package/REFACTORING_COMPLETE.md +0 -178
  48. package/REFACTORING_STATUS.md +0 -263
  49. package/src/adapter.ts +0 -275
  50. package/src/ai/index.ts +0 -52
  51. package/src/ai/providers/anthropic.ts +0 -379
  52. package/src/ai/providers/base.ts +0 -175
  53. package/src/ai/providers/index.ts +0 -13
  54. package/src/ai/providers/ollama.ts +0 -302
  55. package/src/ai/providers/openai.ts +0 -174
  56. package/src/ai/types.ts +0 -348
  57. package/src/bot.ts +0 -37
  58. package/src/built/adapter-process.ts +0 -177
  59. package/src/built/agent-preset.ts +0 -136
  60. package/src/built/ai-trigger.ts +0 -259
  61. package/src/built/command.ts +0 -108
  62. package/src/built/common-adapter-tools.ts +0 -242
  63. package/src/built/component.ts +0 -130
  64. package/src/built/config.ts +0 -335
  65. package/src/built/cron.ts +0 -156
  66. package/src/built/database.ts +0 -134
  67. package/src/built/dispatcher.ts +0 -496
  68. package/src/built/login-assist.ts +0 -131
  69. package/src/built/message-filter.ts +0 -390
  70. package/src/built/permission.ts +0 -151
  71. package/src/built/schema-feature.ts +0 -190
  72. package/src/built/skill.ts +0 -221
  73. package/src/built/tool.ts +0 -948
  74. package/src/command.ts +0 -87
  75. package/src/component.ts +0 -565
  76. package/src/cron.ts +0 -4
  77. package/src/errors.ts +0 -46
  78. package/src/feature.ts +0 -7
  79. package/src/index.ts +0 -53
  80. package/src/jsx-dev-runtime.ts +0 -2
  81. package/src/jsx-runtime.ts +0 -12
  82. package/src/jsx.ts +0 -135
  83. package/src/message.ts +0 -48
  84. package/src/models/system-log.ts +0 -20
  85. package/src/models/user.ts +0 -15
  86. package/src/notice.ts +0 -98
  87. package/src/plugin.ts +0 -896
  88. package/src/prompt.ts +0 -293
  89. package/src/request.ts +0 -95
  90. package/src/scheduler/index.ts +0 -19
  91. package/src/scheduler/scheduler.ts +0 -372
  92. package/src/scheduler/types.ts +0 -74
  93. package/src/tool-zod.ts +0 -115
  94. package/src/types-generator.ts +0 -78
  95. package/src/types.ts +0 -505
  96. package/src/utils.ts +0 -227
  97. package/tests/adapter.test.ts +0 -638
  98. package/tests/ai/ai-trigger.test.ts +0 -368
  99. package/tests/ai/providers.integration.test.ts +0 -227
  100. package/tests/ai/setup.ts +0 -308
  101. package/tests/ai/tool.test.ts +0 -800
  102. package/tests/bot.test.ts +0 -151
  103. package/tests/command.test.ts +0 -737
  104. package/tests/component-new.test.ts +0 -361
  105. package/tests/config.test.ts +0 -372
  106. package/tests/cron.test.ts +0 -82
  107. package/tests/dispatcher.test.ts +0 -293
  108. package/tests/errors.test.ts +0 -21
  109. package/tests/expression-evaluation.test.ts +0 -258
  110. package/tests/features-builtin.test.ts +0 -191
  111. package/tests/jsx-runtime.test.ts +0 -45
  112. package/tests/jsx.test.ts +0 -319
  113. package/tests/message-filter.test.ts +0 -566
  114. package/tests/message.test.ts +0 -402
  115. package/tests/notice.test.ts +0 -198
  116. package/tests/plugin.test.ts +0 -779
  117. package/tests/prompt.test.ts +0 -78
  118. package/tests/redos-protection.test.ts +0 -198
  119. package/tests/request.test.ts +0 -221
  120. package/tests/schema.test.ts +0 -248
  121. package/tests/skill-feature.test.ts +0 -179
  122. package/tests/test-utils.ts +0 -59
  123. package/tests/tool-feature.test.ts +0 -254
  124. package/tests/types.test.ts +0 -162
  125. package/tests/utils.test.ts +0 -135
  126. package/tsconfig.json +0 -24
package/CHANGELOG.md DELETED
@@ -1,538 +0,0 @@
1
- # @zhin.js/core
2
-
3
- ## 1.0.57
4
-
5
- ### Patch Changes
6
-
7
- - c606a57: fix: ask_user 优化
8
- - @zhin.js/database@1.0.44
9
- - @zhin.js/logger@0.1.41
10
- - @zhin.js/schema@1.0.41
11
- - @zhin.js/ai@1.0.18
12
- - @zhin.js/kernel@0.0.18
13
-
14
- ## 1.0.56
15
-
16
- ### Patch Changes
17
-
18
- - Updated dependencies [20ab379]
19
- - @zhin.js/ai@1.0.17
20
- - @zhin.js/database@1.0.43
21
- - @zhin.js/logger@0.1.40
22
- - @zhin.js/schema@1.0.40
23
- - @zhin.js/kernel@0.0.17
24
-
25
- ## 1.0.55
26
-
27
- ### Patch Changes
28
-
29
- - 75709e1: fix: ai 强化,文档梳理
30
- - @zhin.js/database@1.0.42
31
- - @zhin.js/logger@0.1.39
32
- - @zhin.js/schema@1.0.39
33
- - @zhin.js/ai@1.0.16
34
- - @zhin.js/kernel@0.0.16
35
-
36
- ## 1.0.54
37
-
38
- ### Patch Changes
39
-
40
- - 16c8f92: fix: 统一发一次版
41
- - Updated dependencies [16c8f92]
42
- - @zhin.js/database@1.0.41
43
- - @zhin.js/logger@0.1.38
44
- - @zhin.js/schema@1.0.38
45
- - @zhin.js/ai@1.0.15
46
- - @zhin.js/kernel@0.0.15
47
-
48
- ## 1.0.53
49
-
50
- ### Patch Changes
51
-
52
- - Updated dependencies [daee7f6]
53
- - @zhin.js/database@1.0.40
54
- - @zhin.js/logger@0.1.37
55
- - @zhin.js/schema@1.0.37
56
- - @zhin.js/ai@1.0.14
57
- - @zhin.js/kernel@0.0.14
58
-
59
- ## 1.0.52
60
-
61
- ### Patch Changes
62
-
63
- - bb6bfa8: feat: MessageDispatcher 双轨分流(指令+AI)、出站润色管道;技能扫描含插件包 `skills/`
64
- - bb6bfa8: feat: 技能全面文件化——仓库内插件/适配器使用 `skills/<name>/SKILL.md`;Core 已移除 `plugin.declareSkill` / `Adapter.declareSkill` API
65
- - @zhin.js/database@1.0.39
66
- - @zhin.js/logger@0.1.36
67
- - @zhin.js/schema@1.0.36
68
- - @zhin.js/ai@1.0.13
69
- - @zhin.js/kernel@0.0.13
70
-
71
- ## 1.0.51
72
-
73
- ### Patch Changes
74
-
75
- - @zhin.js/database@1.0.38
76
- - @zhin.js/logger@0.1.35
77
- - @zhin.js/schema@1.0.35
78
- - @zhin.js/ai@1.0.12
79
- - @zhin.js/kernel@0.0.12
80
-
81
- ## 1.0.50
82
-
83
- ### Patch Changes
84
-
85
- - @zhin.js/database@1.0.37
86
- - @zhin.js/logger@0.1.34
87
- - @zhin.js/schema@1.0.34
88
- - @zhin.js/ai@1.0.11
89
- - @zhin.js/kernel@0.0.11
90
-
91
- ## 1.0.49
92
-
93
- ### Patch Changes
94
-
95
- - b00b6c9: fix: 代码逃逸拦截增强
96
- - Updated dependencies [b00b6c9]
97
- - @zhin.js/kernel@0.0.10
98
- - @zhin.js/database@1.0.36
99
- - @zhin.js/logger@0.1.33
100
- - @zhin.js/schema@1.0.33
101
- - @zhin.js/ai@1.0.10
102
-
103
- ## 1.0.48
104
-
105
- ### Patch Changes
106
-
107
- - 7d09e5e: fix: 代码安全漏洞修复
108
- - Updated dependencies [7d09e5e]
109
- - @zhin.js/kernel@0.0.9
110
- - @zhin.js/database@1.0.35
111
- - @zhin.js/logger@0.1.32
112
- - @zhin.js/schema@1.0.32
113
- - @zhin.js/ai@1.0.9
114
-
115
- ## 1.0.47
116
-
117
- ### Patch Changes
118
-
119
- - de3e352: fix: 新增 request 和 notice 抽象,新增消息过滤支持
120
- - @zhin.js/database@1.0.34
121
- - @zhin.js/logger@0.1.31
122
- - @zhin.js/schema@1.0.31
123
- - @zhin.js/ai@1.0.8
124
- - @zhin.js/kernel@0.0.8
125
-
126
- ## 1.0.46
127
-
128
- ### Patch Changes
129
-
130
- - 7394603: fix: cli 优化, windows 用户体验优化
131
- fix: 新增消息过滤系统
132
- - Updated dependencies [7394603]
133
- - @zhin.js/ai@1.0.7
134
- - @zhin.js/database@1.0.33
135
- - @zhin.js/logger@0.1.30
136
- - @zhin.js/schema@1.0.30
137
- - @zhin.js/kernel@0.0.7
138
-
139
- ## 1.0.45
140
-
141
- ### Patch Changes
142
-
143
- - 63b83ef: fix: 自定义 schema
144
- - Updated dependencies [63b83ef]
145
- - @zhin.js/ai@1.0.6
146
- - @zhin.js/database@1.0.32
147
- - @zhin.js/logger@0.1.29
148
- - @zhin.js/schema@1.0.29
149
- - @zhin.js/kernel@0.0.6
150
-
151
- ## 1.0.44
152
-
153
- ### Patch Changes
154
-
155
- - @zhin.js/database@1.0.31
156
- - @zhin.js/logger@0.1.28
157
- - @zhin.js/schema@1.0.28
158
- - @zhin.js/ai@1.0.5
159
- - @zhin.js/kernel@0.0.5
160
-
161
- ## 1.0.43
162
-
163
- ### Patch Changes
164
-
165
- - 72ec4ba: fix: 新增插件,控制台调优
166
- - @zhin.js/database@1.0.30
167
- - @zhin.js/logger@0.1.27
168
- - @zhin.js/schema@1.0.27
169
- - @zhin.js/ai@1.0.4
170
- - @zhin.js/kernel@0.0.4
171
-
172
- ## 1.0.42
173
-
174
- ### Patch Changes
175
-
176
- - Updated dependencies [0999ca6]
177
- - @zhin.js/ai@1.0.3
178
- - @zhin.js/database@1.0.29
179
- - @zhin.js/logger@0.1.26
180
- - @zhin.js/schema@1.0.26
181
- - @zhin.js/kernel@0.0.3
182
-
183
- ## 1.0.41
184
-
185
- ### Patch Changes
186
-
187
- - 5a68249: fix: 文档优化
188
- - @zhin.js/database@1.0.28
189
- - @zhin.js/logger@0.1.25
190
- - @zhin.js/schema@1.0.25
191
- - @zhin.js/ai@1.0.2
192
- - @zhin.js/kernel@0.0.2
193
-
194
- ## 1.0.40
195
-
196
- ### Patch Changes
197
-
198
- - 7ef9057: fix: 架构调整优化
199
- - @zhin.js/database@1.0.27
200
- - @zhin.js/logger@0.1.24
201
- - @zhin.js/schema@1.0.24
202
- - @zhin.js/ai@1.0.1
203
- - @zhin.js/kernel@0.0.1
204
-
205
- ## 1.0.39
206
-
207
- ### Patch Changes
208
-
209
- - 04f76ac: fix: 工具命名格式优化
210
- - @zhin.js/database@1.0.26
211
- - @zhin.js/logger@0.1.23
212
- - @zhin.js/schema@1.0.23
213
-
214
- ## 1.0.38
215
-
216
- ### Patch Changes
217
-
218
- - ab5c54a: fix: ai 架构优化
219
- - @zhin.js/database@1.0.25
220
- - @zhin.js/logger@0.1.22
221
- - @zhin.js/schema@1.0.22
222
-
223
- ## 1.0.37
224
-
225
- ### Patch Changes
226
-
227
- - a8ce720: fix: ai 优化,github 优化
228
- - @zhin.js/database@1.0.24
229
- - @zhin.js/logger@0.1.21
230
- - @zhin.js/schema@1.0.21
231
-
232
- ## 1.0.36
233
-
234
- ### Patch Changes
235
-
236
- - 6d94111: fix: 增加 github 适配器,更改 auth 为 token auth
237
- - @zhin.js/database@1.0.23
238
- - @zhin.js/logger@0.1.20
239
- - @zhin.js/schema@1.0.20
240
-
241
- ## 1.0.35
242
-
243
- ### Patch Changes
244
-
245
- - 8502351: fix: token 优化
246
- - @zhin.js/database@1.0.22
247
- - @zhin.js/logger@0.1.19
248
- - @zhin.js/schema@1.0.19
249
-
250
- ## 1.0.34
251
-
252
- ### Patch Changes
253
-
254
- - 634e2d7: fix: ai 强化
255
- - @zhin.js/database@1.0.21
256
- - @zhin.js/logger@0.1.18
257
- - @zhin.js/schema@1.0.18
258
-
259
- ## 1.0.33
260
-
261
- ### Patch Changes
262
-
263
- - 4abae79: fix: msg compile
264
- - @zhin.js/database@1.0.20
265
- - @zhin.js/logger@0.1.17
266
- - @zhin.js/schema@1.0.17
267
-
268
- ## 1.0.32
269
-
270
- ### Patch Changes
271
-
272
- - 10d8bdc: fix: win 下 dev 错误
273
- - @zhin.js/database@1.0.19
274
- - @zhin.js/logger@0.1.16
275
- - @zhin.js/schema@1.0.16
276
-
277
- ## 1.0.31
278
-
279
- ### Patch Changes
280
-
281
- - 771706d: fix: 技能优化
282
- - @zhin.js/database@1.0.18
283
- - @zhin.js/logger@0.1.15
284
- - @zhin.js/schema@1.0.15
285
-
286
- ## 1.0.30
287
-
288
- ### Patch Changes
289
-
290
- - @zhin.js/database@1.0.17
291
- - @zhin.js/logger@0.1.14
292
- - @zhin.js/schema@1.0.14
293
-
294
- ## 1.0.29
295
-
296
- ### Patch Changes
297
-
298
- - 4ec9176: fix: ai
299
- - @zhin.js/database@1.0.16
300
- - @zhin.js/logger@0.1.13
301
- - @zhin.js/schema@1.0.13
302
-
303
- ## 1.0.28
304
-
305
- ### Patch Changes
306
-
307
- - 05a514d: fix: ai 增强,cli 增强
308
- - @zhin.js/database@1.0.15
309
- - @zhin.js/logger@0.1.12
310
- - @zhin.js/schema@1.0.12
311
-
312
- ## 1.0.27
313
-
314
- ### Patch Changes
315
-
316
- - b27e633: fix: cli 优化
317
- - @zhin.js/database@1.0.14
318
- - @zhin.js/logger@0.1.11
319
- - @zhin.js/schema@1.0.11
320
-
321
- ## 1.0.26
322
-
323
- ### Patch Changes
324
-
325
- - 106d357: fix: ai
326
- - Updated dependencies [106d357]
327
- - @zhin.js/database@1.0.13
328
- - @zhin.js/logger@0.1.10
329
- - @zhin.js/schema@1.0.10
330
-
331
- ## 1.0.25
332
-
333
- ### Patch Changes
334
-
335
- - 26d2942: fix: ai
336
- - 6b02c41: fix: ai
337
- - Updated dependencies [26d2942]
338
- - Updated dependencies [6b02c41]
339
- - @zhin.js/database@1.0.12
340
- - @zhin.js/logger@0.1.9
341
- - @zhin.js/schema@1.0.9
342
-
343
- ## 1.0.24
344
-
345
- ### Patch Changes
346
-
347
- - 6108e5d: fix: component
348
- - @zhin.js/database@1.0.11
349
- - @zhin.js/logger@0.1.8
350
- - @zhin.js/schema@1.0.8
351
-
352
- ## 1.0.23
353
-
354
- ### Patch Changes
355
-
356
- - 52ae08a: fix: 更新消息处理流程
357
- - @zhin.js/database@1.0.10
358
- - @zhin.js/logger@0.1.7
359
- - @zhin.js/schema@1.0.7
360
-
361
- ## 1.0.22
362
-
363
- ### Patch Changes
364
-
365
- - @zhin.js/database@1.0.9
366
- - @zhin.js/logger@0.1.6
367
- - @zhin.js/schema@1.0.6
368
-
369
- ## 1.0.21
370
-
371
- ### Patch Changes
372
-
373
- - 3960e70: fix: runtime err
374
- - @zhin.js/database@1.0.8
375
- - @zhin.js/logger@0.1.5
376
- - @zhin.js/schema@1.0.5
377
-
378
- ## 1.0.20
379
-
380
- ### Patch Changes
381
-
382
- - 5141137: fix: 修复适配器读取配置 bug
383
- - Updated dependencies [a3b7673]
384
- - @zhin.js/dependency@1.0.5
385
- - @zhin.js/database@1.0.7
386
- - @zhin.js/logger@0.1.4
387
- - @zhin.js/schema@1.0.4
388
-
389
- ## 1.0.19
390
-
391
- ### Patch Changes
392
-
393
- - f9faa1d: fix: test release
394
- - Updated dependencies [f9faa1d]
395
- - @zhin.js/database@1.0.6
396
- - @zhin.js/dependency@1.0.4
397
- - @zhin.js/logger@0.1.3
398
- - @zhin.js/schema@1.0.3
399
-
400
- ## 1.0.18
401
-
402
- ### Patch Changes
403
-
404
- - d16a69c: fix: test trust publish
405
- - Updated dependencies [d16a69c]
406
- - @zhin.js/database@1.0.5
407
- - @zhin.js/dependency@1.0.3
408
- - @zhin.js/logger@0.1.2
409
- - @zhin.js/schema@1.0.2
410
-
411
- ## 1.0.17
412
-
413
- ### Patch Changes
414
-
415
- - 3bc5d56: fix: 内存优化
416
- - Updated dependencies [3bc5d56]
417
- - @zhin.js/hmr@1.0.8
418
-
419
- ## 1.0.16
420
-
421
- ### Patch Changes
422
-
423
- - e733fab: fix: 异步组件优化
424
-
425
- ## 1.0.15
426
-
427
- ### Patch Changes
428
-
429
- - f9e75ce: fix: 一致性调整,文档调整
430
- - e783f90: fix:保护 bun
431
- - f9e75ce: fix: recall,文档统一,mcp,githubnotifiy
432
-
433
- ## 1.0.14
434
-
435
- ### Patch Changes
436
-
437
- - 547028f: fix: 优化包结构,优化客户端支持
438
- - Updated dependencies [547028f]
439
- - @zhin.js/database@1.0.4
440
- - @zhin.js/hmr@1.0.7
441
-
442
- ## 1.0.13
443
-
444
- ### Patch Changes
445
-
446
- - a2e1ebc: fix: 优化监听
447
- - Updated dependencies [a2e1ebc]
448
- - @zhin.js/hmr@1.0.6
449
-
450
- ## 1.0.12
451
-
452
- ### Patch Changes
453
-
454
- - ff5a7ed: fix: 文件监听
455
- - Updated dependencies [ff5a7ed]
456
- - @zhin.js/hmr@1.0.5
457
-
458
- ## 1.0.11
459
-
460
- ### Patch Changes
461
-
462
- - Updated dependencies [ae680db]
463
- - @zhin.js/hmr@1.0.4
464
-
465
- ## 1.0.10
466
-
467
- ### Patch Changes
468
-
469
- - c8c3996: fix: 修复 segment-matcher
470
- - Updated dependencies [c8c3996]
471
- - @zhin.js/logger@0.1.1
472
- - @zhin.js/hmr@1.0.3
473
-
474
- ## 1.0.9
475
-
476
- ### Patch Changes
477
-
478
- - c490260: fix: 更新脚手架结构,优化包依赖
479
-
480
- ## 1.0.8
481
-
482
- ### Patch Changes
483
-
484
- - 551c4d2: fix: 插件支持配置文件读取,优化 test 用例
485
- - Updated dependencies [551c4d2]
486
- - @zhin.js/database@1.0.3
487
- - @zhin.js/hmr@1.0.2
488
-
489
- ## 1.0.7
490
-
491
- ### Patch Changes
492
-
493
- - 47845fb: fix: err
494
- - Updated dependencies [47845fb]
495
- - @zhin.js/database@1.0.2
496
-
497
- ## 1.0.6
498
-
499
- ### Patch Changes
500
-
501
- - c2d9047: fix: 重复插件 bug
502
- - c2d9047: fix: 优化中间件逻辑
503
-
504
- ## 1.0.5
505
-
506
- ### Patch Changes
507
-
508
- - f347667: fix: runtime error
509
-
510
- ## 1.0.4
511
-
512
- ### Patch Changes
513
-
514
- - 15be776: fix: 修改 cli 错误,增加 permit
515
-
516
- ## 1.0.3
517
-
518
- ### Patch Changes
519
-
520
- - 89bc676: fix: 类型反射优化
521
- - Updated dependencies [727963c]
522
- - @zhin.js/database@1.0.1
523
- - @zhin.js/hmr@1.0.1
524
-
525
- ## 1.0.2
526
-
527
- ### Patch Changes
528
-
529
- - 15fc934: fix: 支持 jsx
530
- - 3ecd487: fix: 函数式组件,更新文档
531
-
532
- ## 1.0.1
533
-
534
- ### Patch Changes
535
-
536
- - efdd58a: fix: init
537
- - Updated dependencies [efdd58a]
538
- - @zhin.js/hmr@1.0.1
@@ -1,178 +0,0 @@
1
- # 重构完成状态
2
-
3
- ## ✅ 已完成的核心文件
4
-
5
- ### 1. Service 基类 (`service.ts`)
6
- - ✅ 统一的生命周期管理 (`start()`, `stop()`)
7
- - ✅ 状态保护 (`initialized`, `disposed`)
8
- - ✅ `ensureInitialized()` 方法
9
- - ✅ 完整的错误检查
10
-
11
- ### 2. Plugin 类 (`plugin-new.ts`)
12
- - ✅ 直接继承 EventEmitter
13
- - ✅ AsyncLocalStorage 上下文
14
- - ✅ usePlugin() / useService() API
15
- - ✅ provide/inject 依赖注入
16
- - ✅ watch/reload 内置方法
17
- - ✅ dispatch/broadcast 事件系统
18
-
19
- ### 3. ConfigService (`plugins/config.ts`)
20
- - ✅ 环境变量替换 `${VAR:-default}`
21
- - ✅ 嵌套配置访问(点号路径)
22
- - ✅ 自动保存到 YAML
23
- - ✅ ConfigLoader 多文件管理
24
- - ✅ 类型安全的 API
25
-
26
- ### 4. Worker 入口 (`worker-new.ts`)
27
- - ✅ 使用 usePlugin() 创建根插件
28
- - ✅ 加载配置服务
29
- - ✅ 动态加载插件
30
- - ✅ 优雅关闭处理
31
-
32
- ## 📋 文件清单
33
-
34
- ```
35
- packages/core/src/
36
- ├── service.ts ✅ Service 基类
37
- ├── plugin-new.ts ✅ 新 Plugin 类
38
- ├── worker-new.ts ✅ 新 worker 入口
39
- └── plugins/
40
- └── config.ts ✅ ConfigService 插件
41
- ```
42
-
43
- ## 🎯 下一步工作
44
-
45
- ### 待完成任务
46
-
47
- 1. **测试新架构**
48
- ```bash
49
- # 编译测试
50
- cd packages/core
51
- pnpm build
52
-
53
- # 运行测试
54
- node lib/worker-new.js
55
- ```
56
-
57
- 2. **替换核心文件**
58
- ```bash
59
- # 备份旧文件
60
- mv packages/core/src/plugin.ts packages/core/src/plugin.old.ts
61
- mv packages/core/src/worker.ts packages/core/src/worker.old.ts
62
-
63
- # 使用新文件
64
- mv packages/core/src/plugin-new.ts packages/core/src/plugin.ts
65
- mv packages/core/src/worker-new.ts packages/core/src/worker.ts
66
- ```
67
-
68
- 3. **删除旧包**
69
- ```bash
70
- # 删除 Dependency 和 HMR
71
- rm -rf basic/dependency
72
- rm -rf basic/hmr
73
-
74
- # 删除旧的进程管理器
75
- rm packages/core/src/zhin.ts
76
- ```
77
-
78
- 4. **更新 CLI 命令**
79
- - 修改 `basic/cli/src/commands/dev.ts`
80
- - 修改 `basic/cli/src/commands/start.ts`
81
- - 直接 fork worker.ts
82
-
83
- 5. **更新 package.json**
84
- ```json
85
- {
86
- "exports": {
87
- ".": "./lib/index.js",
88
- "./worker": "./lib/worker.js"
89
- }
90
- }
91
- ```
92
-
93
- 6. **更新类型定义**
94
- - 移除 Dependency 相关类型
95
- - 更新插件类型扩展
96
-
97
- ## 🔍 验证清单
98
-
99
- - [ ] `pnpm build` 无错误
100
- - [ ] `pnpm test` 通过
101
- - [ ] `zhin dev` 启动成功
102
- - [ ] 配置文件正常加载
103
- - [ ] 热重载正常工作
104
- - [ ] 插件加载正常
105
-
106
- ## 📊 架构对比
107
-
108
- ### 旧架构
109
- ```
110
- App (extends Plugin)
111
- → Plugin (extends Dependency)
112
- → Dependency (extends EventEmitter)
113
- + HMRManager (组合)
114
- ```
115
-
116
- ### 新架构
117
- ```
118
- Plugin (extends EventEmitter)
119
- + AsyncLocalStorage<Plugin>
120
- + usePlugin() / useService()
121
- + 内置 watch/reload
122
- + Service 基类支持
123
- ```
124
-
125
- ## ✨ 核心特性
126
-
127
- ### 1. AsyncLocalStorage 上下文
128
- ```typescript
129
- const plugin = usePlugin(); // 自动获取或创建插件实例
130
- ```
131
-
132
- ### 2. 类型安全的服务访问
133
- ```typescript
134
- const config = useService('config'); // 类型安全
135
- config.get('key'); // 同步访问
136
- await config; // 异步等待
137
- ```
138
-
139
- ### 3. 环境变量替换
140
- ```yaml
141
- # zhin.config.yml
142
- database:
143
- host: ${DB_HOST:-localhost}
144
- port: ${DB_PORT:-5432}
145
- ```
146
-
147
- ### 4. 嵌套配置访问
148
- ```typescript
149
- config.get('database.host'); // 点号路径
150
- config.set('database.port', 3306); // 自动保存
151
- ```
152
-
153
- ## 🎉 重构收益
154
-
155
- 1. **简化架构** - 移除 Dependency/HMR,减少 50% 核心代码
156
- 2. **更易使用** - React Hooks 风格 API
157
- 3. **类型安全** - 完整的 TypeScript 支持
158
- 4. **更灵活** - AsyncLocalStorage 替代继承链
159
- 5. **易测试** - 无需创建 App 实例
160
-
161
- ## 📝 待办事项
162
-
163
- 优先级从高到低:
164
-
165
- 1. **高优先级**
166
- - [ ] 测试新架构
167
- - [ ] 更新 CLI 命令
168
- - [ ] 更新 package.json
169
-
170
- 2. **中优先级**
171
- - [ ] 删除旧包
172
- - [ ] 更新类型定义
173
- - [ ] 更新文档
174
-
175
- 3. **低优先级**
176
- - [ ] 迁移现有插件
177
- - [ ] 性能优化
178
- - [ ] 添加更多测试