@zhin.js/core 1.0.39 → 1.0.41

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 (46) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/lib/ai/index.d.ts +10 -5
  3. package/lib/ai/index.d.ts.map +1 -1
  4. package/lib/ai/index.js +7 -4
  5. package/lib/ai/index.js.map +1 -1
  6. package/lib/built/common-adapter-tools.d.ts.map +1 -1
  7. package/lib/built/common-adapter-tools.js +38 -32
  8. package/lib/built/common-adapter-tools.js.map +1 -1
  9. package/lib/cron.d.ts +2 -43
  10. package/lib/cron.d.ts.map +1 -1
  11. package/lib/cron.js +2 -126
  12. package/lib/cron.js.map +1 -1
  13. package/lib/errors.d.ts +3 -146
  14. package/lib/errors.d.ts.map +1 -1
  15. package/lib/errors.js +3 -279
  16. package/lib/errors.js.map +1 -1
  17. package/lib/feature.d.ts +5 -87
  18. package/lib/feature.d.ts.map +1 -1
  19. package/lib/feature.js +4 -105
  20. package/lib/feature.js.map +1 -1
  21. package/lib/index.d.ts +1 -0
  22. package/lib/index.d.ts.map +1 -1
  23. package/lib/scheduler/index.d.ts +3 -7
  24. package/lib/scheduler/index.d.ts.map +1 -1
  25. package/lib/scheduler/index.js +2 -9
  26. package/lib/scheduler/index.js.map +1 -1
  27. package/lib/types.d.ts +8 -1
  28. package/lib/types.d.ts.map +1 -1
  29. package/lib/utils.d.ts +7 -52
  30. package/lib/utils.d.ts.map +1 -1
  31. package/lib/utils.js +9 -325
  32. package/lib/utils.js.map +1 -1
  33. package/package.json +6 -4
  34. package/src/ai/index.ts +15 -9
  35. package/src/built/common-adapter-tools.ts +38 -32
  36. package/src/cron.ts +2 -140
  37. package/src/errors.ts +15 -334
  38. package/src/feature.ts +5 -154
  39. package/src/index.ts +3 -1
  40. package/src/scheduler/index.ts +8 -17
  41. package/src/types.ts +10 -2
  42. package/src/utils.ts +37 -334
  43. package/tests/cron.test.ts +4 -299
  44. package/tests/errors.test.ts +17 -307
  45. package/tests/utils.test.ts +11 -516
  46. package/tests/feature.test.ts +0 -145
package/lib/utils.d.ts CHANGED
@@ -1,37 +1,16 @@
1
- import { AdapterMessage, Dict, MessageMiddleware, RegisteredAdapter, SendContent } from "./types";
2
- import { Message } from "./message.js";
3
- export declare function getValueWithRuntime(template: string, ctx: Dict): unknown;
4
1
  /**
5
- * Evaluate a single expression in a sandboxed vm context.
6
- * Unlike `execute`, does NOT wrap in IIFE — the expression value is returned directly.
2
+ * @zhin.js/core utilities.
3
+ *
4
+ * Generic utilities are re-exported from @zhin.js/kernel.
5
+ * IM-specific utilities (compose, segment) remain here.
7
6
  */
8
- export declare const evaluate: <S extends Record<string, unknown>, T = unknown>(exp: string, context: S) => T | undefined;
7
+ export { evaluate, execute, clearEvalCache, getEvalCacheStats, getValueWithRuntime, compiler, remove, isEmpty, Time, supportedPluginExtensions, resolveEntry, sleep, } from '@zhin.js/kernel';
8
+ import { AdapterMessage, MessageMiddleware, RegisteredAdapter, SendContent } from "./types.js";
9
+ import { Message } from "./message.js";
9
10
  /**
10
11
  * 组合中间件,洋葱模型
11
- * 灵感来源于 zhinjs/next 的 Hooks.compose
12
- *
13
- * @param middlewares 中间件列表
14
- * @returns 中间件处理函数
15
- *
16
- * @example
17
- * ```typescript
18
- * const composed = compose([middleware1, middleware2]);
19
- * await composed(message);
20
- * ```
21
12
  */
22
13
  export declare function compose<P extends RegisteredAdapter = RegisteredAdapter>(middlewares: MessageMiddleware<P>[]): ((message: Message<AdapterMessage<P>>, next?: () => Promise<void>) => void | Promise<void>) | ((message: Message<AdapterMessage<P>>, next: () => Promise<void>) => Promise<void>);
23
- /**
24
- * Execute a code block in a sandboxed vm context.
25
- * Supports `return` statements by wrapping in an IIFE.
26
- * Throws on compilation or runtime errors.
27
- */
28
- export declare const execute: <S extends Record<string, unknown>, T = unknown>(code: string, context: S) => T;
29
- export declare function clearEvalCache(): void;
30
- export declare function getEvalCacheStats(): {
31
- size: number;
32
- maxSize: number;
33
- };
34
- export declare function compiler(template: string, ctx: Dict): string;
35
14
  export declare function segment<T extends object>(type: string, data: T): {
36
15
  type: string;
37
16
  data: T;
@@ -56,28 +35,4 @@ export declare namespace segment {
56
35
  function raw(content: SendContent): string;
57
36
  function toString(content: SendContent): string;
58
37
  }
59
- export declare function remove<T>(list: T[], fn: (item: T) => boolean): void;
60
- export declare function remove<T>(list: T[], item: T): void;
61
- export declare function isEmpty<T>(item: T): boolean;
62
- export declare namespace Time {
63
- const millisecond = 1;
64
- const second = 1000;
65
- const minute: number;
66
- const hour: number;
67
- const day: number;
68
- const week: number;
69
- function setTimezoneOffset(offset: number): void;
70
- function getTimezoneOffset(): number;
71
- function getDateNumber(date?: number | Date, offset?: number): number;
72
- function fromDateNumber(value: number, offset?: number): Date;
73
- function parseTime(source: string): number;
74
- function parseDate(date: string): Date;
75
- function formatTimeShort(ms: number): string;
76
- function formatTime(ms: number): string;
77
- function template(template: string, time?: Date): string;
78
- function formatTimeInterval(time: Date, interval?: number): string;
79
- }
80
- export declare const supportedPluginExtensions: string[];
81
- export declare function resolveEntry(entry: string): string | undefined;
82
- export declare function sleep(ms: number): Promise<unknown>;
83
38
  //# sourceMappingURL=utils.d.ts.map
@@ -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":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,QAAQ,EACR,OAAO,EACP,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,QAAQ,EACR,MAAM,EACN,OAAO,EACP,IAAI,EACJ,yBAAyB,EACzB,YAAY,EACZ,KAAK,GACN,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,cAAc,EAEd,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,iBAAiB,GAAC,iBAAiB,EACnE,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,cAOhB,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAQ,MAAM,OAAO,CAAC,IAAI,CAAC,wCAM7D,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAC7B,MAAM,OAAO,CAAC,IAAI,CAAC,oBAoB5B;AAED,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;;EAK9D;AACD,yBAAiB,OAAO,CAAC;IACvB,SAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAQpC;IACD,SAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAQtC;IACD,SAAgB,IAAI,CAAC,IAAI,EAAE,MAAM;;;;;MAEhC;IACD,SAAgB,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;;;;;;MAE7C;IACD,SAAgB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CA+FtD;IACD,SAAgB,GAAG,CAAC,OAAO,EAAE,WAAW,UAWvC;IACD,SAAgB,QAAQ,CAAC,OAAO,EAAE,WAAW,UAa5C;CACF"}
package/lib/utils.js CHANGED
@@ -1,43 +1,18 @@
1
- import * as path from "path";
2
- import * as fs from "fs";
3
- import * as vm from "vm";
4
- export function getValueWithRuntime(template, ctx) {
5
- return evaluate(template, ctx);
6
- }
7
1
  /**
8
- * Evaluate a single expression in a sandboxed vm context.
9
- * Unlike `execute`, does NOT wrap in IIFE — the expression value is returned directly.
2
+ * @zhin.js/core utilities.
3
+ *
4
+ * Generic utilities are re-exported from @zhin.js/kernel.
5
+ * IM-specific utilities (compose, segment) remain here.
10
6
  */
11
- export const evaluate = (exp, context) => {
12
- const script = getOrCompileScript(exp);
13
- if (!script)
14
- return undefined;
15
- try {
16
- return script.runInNewContext(buildSandbox(context), { timeout: 200 });
17
- }
18
- catch {
19
- return undefined;
20
- }
21
- };
7
+ // ── Re-export generic utils from kernel ──
8
+ export { evaluate, execute, clearEvalCache, getEvalCacheStats, getValueWithRuntime, compiler, remove, isEmpty, Time, supportedPluginExtensions, resolveEntry, sleep, } from '@zhin.js/kernel';
22
9
  /**
23
10
  * 组合中间件,洋葱模型
24
- * 灵感来源于 zhinjs/next 的 Hooks.compose
25
- *
26
- * @param middlewares 中间件列表
27
- * @returns 中间件处理函数
28
- *
29
- * @example
30
- * ```typescript
31
- * const composed = compose([middleware1, middleware2]);
32
- * await composed(message);
33
- * ```
34
11
  */
35
12
  export function compose(middlewares) {
36
- // 性能优化:空数组直接返回空函数
37
13
  if (middlewares.length === 0) {
38
14
  return () => Promise.resolve();
39
15
  }
40
- // 性能优化:单个中间件直接返回
41
16
  if (middlewares.length === 1) {
42
17
  return (message, next = () => Promise.resolve()) => {
43
18
  return middlewares[0](message, next);
@@ -46,7 +21,6 @@ export function compose(middlewares) {
46
21
  return function (message, next) {
47
22
  let index = -1;
48
23
  const dispatch = async (i = 0) => {
49
- // 防止 next() 被多次调用
50
24
  if (i <= index) {
51
25
  return Promise.reject(new Error("next() called multiple times"));
52
26
  }
@@ -60,7 +34,6 @@ export function compose(middlewares) {
60
34
  return await fn(message, () => dispatch(i + 1));
61
35
  }
62
36
  catch (error) {
63
- // 中间件异常应该被记录但不中断整个流程
64
37
  console.error("Middleware error:", error);
65
38
  throw error;
66
39
  }
@@ -68,85 +41,6 @@ export function compose(middlewares) {
68
41
  return dispatch(0);
69
42
  };
70
43
  }
71
- // LRU cache for compiled vm.Script instances
72
- const MAX_EVAL_CACHE_SIZE = 1000;
73
- const scriptCache = new Map();
74
- function getOrCompileScript(code) {
75
- let script = scriptCache.get(code);
76
- if (script)
77
- return script;
78
- try {
79
- script = new vm.Script(code);
80
- }
81
- catch {
82
- return null;
83
- }
84
- if (scriptCache.size >= MAX_EVAL_CACHE_SIZE) {
85
- const oldest = scriptCache.keys().next().value;
86
- if (oldest !== undefined)
87
- scriptCache.delete(oldest);
88
- }
89
- scriptCache.set(code, script);
90
- return script;
91
- }
92
- function buildSandbox(context) {
93
- return {
94
- ...context,
95
- process: {
96
- version: process.version,
97
- versions: process.versions,
98
- platform: process.platform,
99
- arch: process.arch,
100
- release: process.release,
101
- uptime: process.uptime(),
102
- memoryUsage: process.memoryUsage(),
103
- cpuUsage: process.cpuUsage(),
104
- pid: process.pid,
105
- ppid: process.ppid,
106
- },
107
- global: undefined,
108
- globalThis: undefined,
109
- Buffer: undefined,
110
- crypto: undefined,
111
- require: undefined,
112
- import: undefined,
113
- __dirname: undefined,
114
- __filename: undefined,
115
- Bun: undefined,
116
- Deno: undefined,
117
- };
118
- }
119
- /**
120
- * Execute a code block in a sandboxed vm context.
121
- * Supports `return` statements by wrapping in an IIFE.
122
- * Throws on compilation or runtime errors.
123
- */
124
- export const execute = (code, context) => {
125
- const wrapped = `(function(){${code}})()`;
126
- const script = getOrCompileScript(wrapped);
127
- if (!script)
128
- throw new SyntaxError(`Failed to compile: ${code.slice(0, 80)}`);
129
- return script.runInNewContext(buildSandbox(context), { timeout: 200 });
130
- };
131
- export function clearEvalCache() {
132
- scriptCache.clear();
133
- }
134
- export function getEvalCacheStats() {
135
- return {
136
- size: scriptCache.size,
137
- maxSize: MAX_EVAL_CACHE_SIZE,
138
- };
139
- }
140
- export function compiler(template, ctx) {
141
- const matched = [...template.matchAll(/\${([^}]*?)}/g)];
142
- for (const item of matched) {
143
- const tpl = item[1];
144
- const raw = getValueWithRuntime(tpl, ctx);
145
- const value = typeof raw === 'string' ? raw : (raw == null ? 'undefined' : JSON.stringify(raw, null, 2));
146
- template = template.replace(`\${${item[1]}}`, value);
147
- }
148
- return template;
149
- }
150
44
  export function segment(type, data) {
151
45
  return {
152
46
  type,
@@ -190,25 +84,19 @@ export function segment(type, data) {
190
84
  const toString = (template) => {
191
85
  if (typeof template !== "string")
192
86
  return [template];
193
- // 安全检查:限制输入长度,防止 ReDoS 攻击
194
- const MAX_TEMPLATE_LENGTH = 100000; // 100KB
87
+ const MAX_TEMPLATE_LENGTH = 100000;
195
88
  if (template.length > MAX_TEMPLATE_LENGTH) {
196
89
  throw new Error(`Template too large: ${template.length} > ${MAX_TEMPLATE_LENGTH}`);
197
90
  }
198
91
  template = unescape(template);
199
92
  const result = [];
200
- // 修复 ReDoS 漏洞:使用更安全的正则表达式
201
- // 注意:需要使用捕获组来获取属性字符串,否则无法正确重建原始标签
202
- // closingReg: 自闭合标签 <type attr="val"/>
203
93
  const closingReg = /<(\w+)(\s+[^>]*?)?\/>/;
204
- // twinningReg: 成对标签 <type attr="val">child</type>
205
94
  const twinningReg = /<(\w+)(\s+[^>]*?)?>([^]*?)<\/\1>/;
206
95
  let iterations = 0;
207
- const MAX_ITERATIONS = 1000; // 防止无限循环
96
+ const MAX_ITERATIONS = 1000;
208
97
  while (template.length && iterations++ < MAX_ITERATIONS) {
209
98
  const twinMatch = template.match(twinningReg);
210
99
  const closeMatch = template.match(closingReg);
211
- // 选择位置更靠前的匹配
212
100
  let match = null;
213
101
  let isClosing = false;
214
102
  if (twinMatch && closeMatch) {
@@ -236,7 +124,7 @@ export function segment(type, data) {
236
124
  : [match[0], match[1], match[2] || "", match[3] || ""];
237
125
  const index = template.indexOf(fullMatch);
238
126
  if (index === -1)
239
- break; // 安全检查
127
+ break;
240
128
  const prevText = template.slice(0, index);
241
129
  if (prevText)
242
130
  result.push({
@@ -246,8 +134,6 @@ export function segment(type, data) {
246
134
  },
247
135
  });
248
136
  template = template.slice(index + fullMatch.length);
249
- // 修复 ReDoS 漏洞:使用更简单的正则表达式
250
- // 原: /\s([^=]+)(?=(?=="([^"]+)")|(?=='([^']+)'))/g 嵌套前瞻断言
251
137
  const attrArr = [
252
138
  ...attrStr.matchAll(/\s+([^=\s]+)=(?:"([^"]*)"|'([^']*)')/g),
253
139
  ];
@@ -324,206 +210,4 @@ export function segment(type, data) {
324
210
  }
325
211
  segment.toString = toString;
326
212
  })(segment || (segment = {}));
327
- export function remove(list, arg) {
328
- const index = typeof arg === "function" &&
329
- !list.every((item) => typeof item === "function")
330
- ? list.findIndex(arg)
331
- : list.indexOf(arg);
332
- if (index !== -1)
333
- list.splice(index, 1);
334
- }
335
- export function isEmpty(item) {
336
- if (Array.isArray(item))
337
- return item.length === 0;
338
- if (typeof item === "object") {
339
- if (!item)
340
- return true;
341
- return Reflect.ownKeys(item).length === 0;
342
- }
343
- return false;
344
- }
345
- export var Time;
346
- (function (Time) {
347
- Time.millisecond = 1;
348
- Time.second = 1000;
349
- Time.minute = Time.second * 60;
350
- Time.hour = Time.minute * 60;
351
- Time.day = Time.hour * 24;
352
- Time.week = Time.day * 7;
353
- let timezoneOffset = new Date().getTimezoneOffset();
354
- function setTimezoneOffset(offset) {
355
- timezoneOffset = offset;
356
- }
357
- Time.setTimezoneOffset = setTimezoneOffset;
358
- function getTimezoneOffset() {
359
- return timezoneOffset;
360
- }
361
- Time.getTimezoneOffset = getTimezoneOffset;
362
- function getDateNumber(date = new Date(), offset) {
363
- if (typeof date === "number")
364
- date = new Date(date);
365
- if (offset === undefined)
366
- offset = timezoneOffset;
367
- return Math.floor((date.valueOf() / Time.minute - offset) / 1440);
368
- }
369
- Time.getDateNumber = getDateNumber;
370
- function fromDateNumber(value, offset) {
371
- const date = new Date(value * Time.day);
372
- if (offset === undefined)
373
- offset = timezoneOffset;
374
- return new Date(+date + offset * Time.minute);
375
- }
376
- Time.fromDateNumber = fromDateNumber;
377
- const numeric = /\d+(?:\.\d+)?/.source;
378
- const timeRegExp = new RegExp(`^${[
379
- "w(?:eek(?:s)?)?",
380
- "d(?:ay(?:s)?)?",
381
- "h(?:our(?:s)?)?",
382
- "m(?:in(?:ute)?(?:s)?)?",
383
- "s(?:ec(?:ond)?(?:s)?)?",
384
- ]
385
- .map((unit) => `(${numeric}${unit})?`)
386
- .join("")}$`);
387
- function parseTime(source) {
388
- const capture = timeRegExp.exec(source);
389
- if (!capture)
390
- return 0;
391
- return ((parseFloat(capture[1]) * Time.week || 0) +
392
- (parseFloat(capture[2]) * Time.day || 0) +
393
- (parseFloat(capture[3]) * Time.hour || 0) +
394
- (parseFloat(capture[4]) * Time.minute || 0) +
395
- (parseFloat(capture[5]) * Time.second || 0));
396
- }
397
- Time.parseTime = parseTime;
398
- function parseDate(date) {
399
- const parsed = parseTime(date);
400
- let dateInput = date;
401
- if (parsed) {
402
- dateInput = Date.now() + parsed;
403
- }
404
- else if (/^\d{1,2}(:\d{1,2}){1,2}$/.test(date)) {
405
- dateInput = `${new Date().toLocaleDateString()}-${date}`;
406
- }
407
- else if (/^\d{1,2}-\d{1,2}-\d{1,2}(:\d{1,2}){1,2}$/.test(date)) {
408
- dateInput = `${new Date().getFullYear()}-${date}`;
409
- }
410
- return dateInput ? new Date(dateInput) : new Date();
411
- }
412
- Time.parseDate = parseDate;
413
- function formatTimeShort(ms) {
414
- const abs = Math.abs(ms);
415
- if (abs >= Time.day - Time.hour / 2) {
416
- return Math.round(ms / Time.day) + "d";
417
- }
418
- else if (abs >= Time.hour - Time.minute / 2) {
419
- return Math.round(ms / Time.hour) + "h";
420
- }
421
- else if (abs >= Time.minute - Time.second / 2) {
422
- return Math.round(ms / Time.minute) + "m";
423
- }
424
- else if (abs >= Time.second) {
425
- return Math.round(ms / Time.second) + "s";
426
- }
427
- return ms + "ms";
428
- }
429
- Time.formatTimeShort = formatTimeShort;
430
- function formatTime(ms) {
431
- let result;
432
- if (ms >= Time.day - Time.hour / 2) {
433
- ms += Time.hour / 2;
434
- result = Math.floor(ms / Time.day) + " 天";
435
- if (ms % Time.day > Time.hour) {
436
- result += ` ${Math.floor((ms % Time.day) / Time.hour)} 小时`;
437
- }
438
- }
439
- else if (ms >= Time.hour - Time.minute / 2) {
440
- ms += Time.minute / 2;
441
- result = Math.floor(ms / Time.hour) + " 小时";
442
- if (ms % Time.hour > Time.minute) {
443
- result += ` ${Math.floor((ms % Time.hour) / Time.minute)} 分钟`;
444
- }
445
- }
446
- else if (ms >= Time.minute - Time.second / 2) {
447
- ms += Time.second / 2;
448
- result = Math.floor(ms / Time.minute) + " 分钟";
449
- if (ms % Time.minute > Time.second) {
450
- result += ` ${Math.floor((ms % Time.minute) / Time.second)} 秒`;
451
- }
452
- }
453
- else {
454
- result = Math.round(ms / Time.second) + " 秒";
455
- }
456
- return result;
457
- }
458
- Time.formatTime = formatTime;
459
- const dayMap = ["日", "一", "二", "三", "四", "五", "六"];
460
- function toDigits(source, length = 2) {
461
- return source.toString().padStart(length, "0");
462
- }
463
- function template(template, time = new Date()) {
464
- return template
465
- .replace("yyyy", time.getFullYear().toString())
466
- .replace("yy", time.getFullYear().toString().slice(2))
467
- .replace("MM", toDigits(time.getMonth() + 1))
468
- .replace("dd", toDigits(time.getDate()))
469
- .replace("hh", toDigits(time.getHours()))
470
- .replace("mm", toDigits(time.getMinutes()))
471
- .replace("ss", toDigits(time.getSeconds()))
472
- .replace("SSS", toDigits(time.getMilliseconds(), 3));
473
- }
474
- Time.template = template;
475
- function toHourMinute(time) {
476
- return `${toDigits(time.getHours())}:${toDigits(time.getMinutes())}`;
477
- }
478
- function formatTimeInterval(time, interval) {
479
- if (!interval) {
480
- return template("yyyy-MM-dd hh:mm:ss", time);
481
- }
482
- else if (interval === Time.day) {
483
- return `每天 ${toHourMinute(time)}`;
484
- }
485
- else if (interval === Time.week) {
486
- return `每周${dayMap[time.getDay()]} ${toHourMinute(time)}`;
487
- }
488
- else {
489
- return `${template("yyyy-MM-dd hh:mm:ss", time)} 起每隔 ${formatTime(interval)}`;
490
- }
491
- }
492
- Time.formatTimeInterval = formatTimeInterval;
493
- })(Time || (Time = {}));
494
- export const supportedPluginExtensions = [
495
- ".js",
496
- ".ts",
497
- ".mjs",
498
- ".cjs",
499
- ".jsx",
500
- ".tsx",
501
- "",
502
- ];
503
- export function resolveEntry(entry) {
504
- if (fs.existsSync(entry)) {
505
- const stat = fs.statSync(entry);
506
- if (stat.isFile())
507
- return entry;
508
- if (stat.isSymbolicLink())
509
- return resolveEntry(fs.realpathSync(entry));
510
- if (stat.isDirectory()) {
511
- const packageJsonPath = path.resolve(entry, 'package.json');
512
- if (!fs.existsSync(packageJsonPath))
513
- return resolveEntry(path.join(entry, 'index'));
514
- const pkgJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
515
- return resolveEntry(path.resolve(entry, pkgJson.main || 'index.js'));
516
- }
517
- }
518
- else {
519
- for (const ext of supportedPluginExtensions) {
520
- const fullPath = path.resolve(entry + ext);
521
- if (fs.existsSync(fullPath))
522
- return resolveEntry(fullPath);
523
- }
524
- }
525
- }
526
- export function sleep(ms) {
527
- return new Promise((resolve) => setTimeout(resolve, ms));
528
- }
529
213
  //# sourceMappingURL=utils.js.map
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.39",
3
+ "version": "1.0.41",
4
4
  "description": "Zhin机器人核心框架",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -37,9 +37,11 @@
37
37
  "segment-matcher": "^1.0.5",
38
38
  "smol-toml": "^1.6.0",
39
39
  "yaml": "^2.3.4",
40
- "@zhin.js/database": "1.0.26",
41
- "@zhin.js/logger": "0.1.23",
42
- "@zhin.js/schema": "1.0.23"
40
+ "@zhin.js/ai": "1.0.2",
41
+ "@zhin.js/database": "1.0.28",
42
+ "@zhin.js/kernel": "0.0.2",
43
+ "@zhin.js/logger": "0.1.25",
44
+ "@zhin.js/schema": "1.0.25"
43
45
  },
44
46
  "devDependencies": {
45
47
  "@types/node": "^24.3.0",
package/src/ai/index.ts CHANGED
@@ -1,10 +1,13 @@
1
1
  /**
2
- * @zhin.js/core — AI 模块(仅基础类型与 Provider)
2
+ * @zhin.js/core — AI 模块
3
3
  *
4
- * Agent 循环、会话、ZhinAgent 等已迁至 @zhin.js/agent。
4
+ * 类型定义和 Provider 实现已迁移至独立的 @zhin.js/ai 包,
5
+ * 此文件通过 re-export 保持向后兼容。
6
+ *
7
+ * 注意:ToolDefinition 不在此 re-export,因为 core/types.ts 有自己的同名类型。
8
+ * 使用 ChatToolDefinition 别名代替。
5
9
  */
6
10
 
7
- // ── 类型定义 ──
8
11
  export type {
9
12
  AIConfig,
10
13
  AIProvider,
@@ -15,21 +18,23 @@ export type {
15
18
  ChatCompletionRequest,
16
19
  ChatCompletionResponse,
17
20
  ChatCompletionChunk,
21
+ ChatCompletionChoice,
22
+ ChatCompletionChunkChoice,
18
23
  ContentPart,
19
24
  ToolCall,
20
25
  MessageRole,
21
26
  AgentTool,
22
27
  AgentConfig,
23
28
  AgentResult,
24
- Usage,
25
29
  ToolFilterOptions,
30
+ Usage,
26
31
  SessionConfig,
27
32
  Session,
28
- ToolDefinition as ChatToolDefinition,
29
33
  JsonSchema,
30
- } from './types.js';
34
+ } from '@zhin.js/ai';
35
+
36
+ export type { ToolDefinition as ChatToolDefinition } from '@zhin.js/ai';
31
37
 
32
- // ── Providers ──
33
38
  export {
34
39
  BaseProvider,
35
40
  OpenAIProvider,
@@ -38,9 +43,10 @@ export {
38
43
  ZhipuProvider,
39
44
  AnthropicProvider,
40
45
  OllamaProvider,
41
- } from './providers/index.js';
46
+ } from '@zhin.js/ai';
47
+
42
48
  export type {
43
49
  OpenAIConfig,
44
50
  AnthropicConfig,
45
51
  OllamaConfig,
46
- } from './providers/index.js';
52
+ } from '@zhin.js/ai';