@zhin.js/core 1.0.46 → 1.0.48

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 @@
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE9D;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GACnB,YAAY,GACZ,WAAW,GACX,cAAc,GACd,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY;IACZ,QAAQ,EAAE,MAAM,QAAQ,CAAC;IACzB,aAAa;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB;IACnB,QAAQ,EAAE,cAAc,CAAC;IACzB,YAAY;IACZ,OAAO,EAAE,aAAa,CAAC;IACvB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9C;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE,IAAI,WAAW,GAAG,CAAC,CAAC;AAE7D,yBAAiB,OAAO,CAAC;IACvB;;OAEG;IACH,SAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAEhF;CACF"}
package/lib/request.js ADDED
@@ -0,0 +1,11 @@
1
+ export var Request;
2
+ (function (Request) {
3
+ /**
4
+ * 工具方法:合并自定义字段与基础请求结构
5
+ */
6
+ function from(input, format) {
7
+ return Object.assign(input, format);
8
+ }
9
+ Request.from = from;
10
+ })(Request || (Request = {}));
11
+ //# sourceMappingURL=request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"AAuFA,MAAM,KAAW,OAAO,CAOvB;AAPD,WAAiB,OAAO;IACtB;;OAEG;IACH,SAAgB,IAAI,CAAmB,KAAQ,EAAE,MAAmB;QAClE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAFe,YAAI,OAEnB,CAAA;AACH,CAAC,EAPgB,OAAO,KAAP,OAAO,QAOvB"}
package/lib/utils.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * Generic utilities are re-exported from @zhin.js/kernel.
5
5
  * IM-specific utilities (compose, segment) remain here.
6
6
  */
7
- export { evaluate, execute, clearEvalCache, getEvalCacheStats, getValueWithRuntime, compiler, remove, isEmpty, Time, supportedPluginExtensions, resolveEntry, sleep, } from '@zhin.js/kernel';
7
+ export { evaluate, execute, isExpressionSafe, clearEvalCache, getEvalCacheStats, getValueWithRuntime, compiler, remove, isEmpty, Time, supportedPluginExtensions, resolveEntry, sleep, } from '@zhin.js/kernel';
8
8
  import { AdapterMessage, MessageMiddleware, RegisteredAdapter, SendContent } from "./types.js";
9
9
  import { Message } from "./message.js";
10
10
  /**
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,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
@@ -5,7 +5,7 @@
5
5
  * IM-specific utilities (compose, segment) remain here.
6
6
  */
7
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';
8
+ export { evaluate, execute, isExpressionSafe, clearEvalCache, getEvalCacheStats, getValueWithRuntime, compiler, remove, isEmpty, Time, supportedPluginExtensions, resolveEntry, sleep, } from '@zhin.js/kernel';
9
9
  /**
10
10
  * 组合中间件,洋葱模型
11
11
  */
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,4CAA4C;AAC5C,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;AAYzB;;GAEG;AACH,MAAM,UAAU,OAAO,CACrB,WAAmC;IAEnC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,OAAmC,EAAE,OAA4B,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE;YAClG,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,UACL,OAAmC,EACnC,IAAyB;QAEzB,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;QACf,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAY,CAAC,EAAiB,EAAE;YACtD,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;gBACf,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;YACnE,CAAC;YACD,KAAK,GAAG,CAAC,CAAC;YACV,IAAI,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,KAAK,WAAW,CAAC,MAAM;gBAAE,EAAE,GAAG,IAAI,CAAC;YACxC,IAAI,CAAC,EAAE;gBAAE,OAAO;YAChB,IAAI,CAAC;gBACH,OAAO,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;gBAC1C,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QACF,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAmB,IAAY,EAAE,IAAO;IAC7D,OAAO;QACL,IAAI;QACJ,IAAI;KACL,CAAC;AACJ,CAAC;AACD,WAAiB,OAAO;IACtB,SAAgB,MAAM,CAAI,IAAO;QAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC1C,OAAO,IAAI;aACR,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;aACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;aACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;aACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;aACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAM,CAAC;IACjC,CAAC;IARe,cAAM,SAQrB,CAAA;IACD,SAAgB,QAAQ,CAAI,IAAO;QACjC,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC1C,OAAO,IAAI;aACR,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;aACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;aACrB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;aACvB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;aACtB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAM,CAAC;IACjC,CAAC;IARe,gBAAQ,WAQvB,CAAA;IACD,SAAgB,IAAI,CAAC,IAAY;QAC/B,OAAO,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;IAFe,YAAI,OAEnB,CAAA;IACD,SAAgB,IAAI,CAAC,EAAU,EAAE,IAAa;QAC5C,OAAO,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAFe,YAAI,OAEnB,CAAA;IACD,SAAgB,IAAI,CAAC,OAAoB;QACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,CAAC,QAAiC,EAAE,EAAE;YACrD,IAAI,OAAO,QAAQ,KAAK,QAAQ;gBAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YAEpD,MAAM,mBAAmB,GAAG,MAAM,CAAC;YACnC,IAAI,QAAQ,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,MAAM,mBAAmB,EAAE,CAAC,CAAC;YACrF,CAAC;YAED,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAqB,EAAE,CAAC;YACpC,MAAM,UAAU,GAAG,uBAAuB,CAAC;YAC3C,MAAM,WAAW,GAAG,kCAAkC,CAAC;YAEvD,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,MAAM,cAAc,GAAG,IAAI,CAAC;YAE5B,OAAO,QAAQ,CAAC,MAAM,IAAI,UAAU,EAAE,GAAG,cAAc,EAAE,CAAC;gBACxD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC9C,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAE9C,IAAI,KAAK,GAA4B,IAAI,CAAC;gBAC1C,IAAI,SAAS,GAAG,KAAK,CAAC;gBAEtB,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC;oBAC5B,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjD,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnD,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;wBAC5B,KAAK,GAAG,UAAU,CAAC;wBACnB,SAAS,GAAG,IAAI,CAAC;oBACnB,CAAC;yBAAM,CAAC;wBACN,KAAK,GAAG,SAAS,CAAC;oBACpB,CAAC;gBACH,CAAC;qBAAM,IAAI,UAAU,EAAE,CAAC;oBACtB,KAAK,GAAG,UAAU,CAAC;oBACnB,SAAS,GAAG,IAAI,CAAC;gBACnB,CAAC;qBAAM,IAAI,SAAS,EAAE,CAAC;oBACrB,KAAK,GAAG,SAAS,CAAC;gBACpB,CAAC;gBAED,IAAI,CAAC,KAAK;oBAAE,MAAM;gBAElB,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,GAAG,SAAS;oBAC3D,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACtC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC1C,IAAI,KAAK,KAAK,CAAC,CAAC;oBAAE,MAAM;gBACxB,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC1C,IAAI,QAAQ;oBACV,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC;yBACzB;qBACF,CAAC,CAAC;gBACL,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;gBACpD,MAAM,OAAO,GAAG;oBACd,GAAG,OAAO,CAAC,QAAQ,CAAC,uCAAuC,CAAC;iBAC7D,CAAC;gBACF,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAC7B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;oBACpC,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC;oBACvB,IAAI,CAAC;wBACH,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC5C,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;oBAChC,CAAC;gBACH,CAAC,CAAC,CACH,CAAC;gBACF,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;wBACtD,IAAI;wBACJ,GAAG,IAAI;qBACR,CAAC,CAAC,CAAC;gBACN,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,IAAI;oBACV,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC;qBACzB;iBACF,CAAC,CAAC;YACL,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QACF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YACrC,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/B,OAAO,MAAM,CAAC;QAChB,CAAC,EAAE,EAAsB,CAAC,CAAC;IAC7B,CAAC;IA/Fe,YAAI,OA+FnB,CAAA;IACD,SAAgB,GAAG,CAAC,OAAoB;QACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;QACjD,OAAO,OAAO;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAC1C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YAC5B,IAAI,IAAI,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC,IAAI,CAAC;YACtC,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,IAAI,CAAC,OAAO,IAAE,IAAI,CAAC,EAAE,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;QAC7D,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAXe,WAAG,MAWlB,CAAA;IACD,SAAgB,QAAQ,CAAC,OAAoB;QAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;QACjD,OAAO,OAAO;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAC1C,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YAC1B,IAAI,OAAO,IAAI,KAAK,UAAU;gBAAE,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACjD,IAAI,IAAI,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC,IAAI,CAAC;YACtC,OAAO,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;iBACjC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;iBAC7D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QACnB,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAbe,gBAAQ,WAavB,CAAA;AACH,CAAC,EAnJgB,OAAO,KAAP,OAAO,QAmJvB"}
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.46",
3
+ "version": "1.0.48",
4
4
  "description": "Zhin机器人核心框架",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -37,11 +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/kernel": "0.0.7",
41
- "@zhin.js/database": "1.0.33",
42
- "@zhin.js/ai": "1.0.7",
43
- "@zhin.js/logger": "0.1.30",
44
- "@zhin.js/schema": "1.0.30"
40
+ "@zhin.js/ai": "1.0.9",
41
+ "@zhin.js/database": "1.0.35",
42
+ "@zhin.js/kernel": "0.0.9",
43
+ "@zhin.js/logger": "0.1.32",
44
+ "@zhin.js/schema": "1.0.32"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@types/node": "^24.3.0",
package/src/adapter.ts CHANGED
@@ -2,6 +2,8 @@ import { Bot } from "./bot.js";
2
2
  import { Plugin } from "./plugin.js";
3
3
  import { EventEmitter } from "events";
4
4
  import { Message } from "./message.js";
5
+ import { Notice, NoticeType } from "./notice.js";
6
+ import { Request, RequestType } from "./request.js";
5
7
  import { BeforeSendHandler, SendOptions, Tool, ToolContext, ToolScope } from "./types.js";
6
8
  import { segment } from "./utils.js";
7
9
  import { ZhinTool, isZhinTool, type ToolInput } from "./built/tool.js";
@@ -53,6 +55,21 @@ export abstract class Adapter<R extends Bot = Bot> extends EventEmitter<Adapter.
53
55
  });
54
56
  }
55
57
  });
58
+ this.on('notice.receive', (notice) => {
59
+ this.logger.info(`${notice.$bot} notice ${notice.$type}${notice.$subType ? '.' + notice.$subType : ''} ${notice.$channel.type}(${notice.$channel.id})`);
60
+ const rootPlugin = this.plugin?.root || this.plugin;
61
+ rootPlugin?.dispatch('notice.receive', notice);
62
+ // 分发细粒度事件: notice.{type} 和 notice.{channelType}.{type}
63
+ rootPlugin?.dispatch(`notice.${notice.$type}` as 'notice.receive', notice);
64
+ rootPlugin?.dispatch(`notice.${notice.$channel.type}.${notice.$type}` as 'notice.receive', notice);
65
+ });
66
+ this.on('request.receive', (request) => {
67
+ this.logger.info(`${request.$bot} request ${request.$type}${request.$subType ? '.' + request.$subType : ''} from ${request.$sender.id}`);
68
+ const rootPlugin = this.plugin?.root || this.plugin;
69
+ rootPlugin?.dispatch('request.receive', request);
70
+ // 分发细粒度事件: request.{type}
71
+ rootPlugin?.dispatch(`request.${request.$type}` as 'request.receive', request);
72
+ });
56
73
  }
57
74
  abstract createBot(config: Adapter.BotConfig<R>): R;
58
75
  get logger() {
@@ -322,6 +339,14 @@ export namespace Adapter {
322
339
  'message.private.receive': [Message];
323
340
  'message.group.receive': [Message];
324
341
  'message.channel.receive': [Message];
342
+ 'notice.receive': [Notice];
343
+ 'notice.private.receive': [Notice];
344
+ 'notice.group.receive': [Notice];
345
+ 'notice.channel.receive': [Notice];
346
+ 'request.receive': [Request];
347
+ 'request.friend_add': [Request];
348
+ 'request.group_add': [Request];
349
+ 'request.group_invite': [Request];
325
350
  'call.recallMessage': [string, string];
326
351
  }
327
352
  /**
package/src/bot.ts CHANGED
@@ -1,11 +1,13 @@
1
1
  import type { SendOptions } from "./types.js";
2
2
  import { Message } from "./message.js";
3
+ import { Notice } from "./notice.js";
4
+ import { Request } from "./request.js";
3
5
  import { Adapter, Adapters } from "./adapter.js";
4
6
  /**
5
7
  * Bot接口:所有平台机器人需实现的统一接口。
6
8
  * 负责消息格式化、连接、断开、消息发送等。
7
- * @template M 消息类型
8
- * @template T 配置类型
9
+ * @template Config 配置类型
10
+ * @template Event 消息事件类型
9
11
  */
10
12
  export interface Bot<Config extends object= {},Event extends object = {}> {
11
13
  $id:string
@@ -15,6 +17,10 @@ export interface Bot<Config extends object= {},Event extends object = {}> {
15
17
  $connected: boolean;
16
18
  /** 格式化平台消息为标准Message结构 */
17
19
  $formatMessage(event: Event): Message<Event>;
20
+ /** 格式化平台通知为标准Notice结构(适配器可选实现) */
21
+ $formatNotice?(event: any): Notice<any>;
22
+ /** 格式化平台请求为标准Request结构(适配器可选实现) */
23
+ $formatRequest?(event: any): Request<any>;
18
24
  /** 连接机器人 */
19
25
  $connect(): Promise<void>;
20
26
  /** 断开机器人 */
@@ -370,10 +370,10 @@ export class MessageFilterFeature extends Feature<FilterRule> {
370
370
  if (rule.bots?.length && !this.#matchAny(rule.bots, String(message.$bot))) {
371
371
  return false;
372
372
  }
373
- if (rule.channels?.length && !this.#matchAny(rule.channels, message.$channel.id)) {
373
+ if (rule.channels?.length && !this.#matchAny(rule.channels, String(message.$channel.id))) {
374
374
  return false;
375
375
  }
376
- if (rule.senders?.length && !this.#matchAny(rule.senders, message.$sender.id)) {
376
+ if (rule.senders?.length && !this.#matchAny(rule.senders, String(message.$sender.id))) {
377
377
  return false;
378
378
  }
379
379
  return true;
package/src/index.ts CHANGED
@@ -6,6 +6,8 @@ export * from './command.js'
6
6
  export * from './component.js'
7
7
  export * from './adapter.js'
8
8
  export * from './message.js'
9
+ export * from './notice.js'
10
+ export * from './request.js'
9
11
  export * from './prompt.js'
10
12
  // Models
11
13
  export * from './models/system-log.js'
package/src/notice.ts ADDED
@@ -0,0 +1,98 @@
1
+ import { Adapters } from './adapter.js';
2
+ import type { MessageSender } from './types.js';
3
+
4
+ /**
5
+ * 通知类型枚举
6
+ *
7
+ * 常见 IM 通知事件分类:
8
+ * - group_member_increase: 群成员增加(入群)
9
+ * - group_member_decrease: 群成员减少(退群/被踢)
10
+ * - group_admin_change: 群管理员变动
11
+ * - group_ban: 群禁言
12
+ * - group_recall: 群消息撤回
13
+ * - friend_recall: 好友消息撤回
14
+ * - friend_add: 新增好友
15
+ * - group_poke: 群戳一戳
16
+ * - friend_poke: 好友戳一戳
17
+ * - group_transfer: 群转让
18
+ *
19
+ * 适配器可自行扩展更多子类型
20
+ */
21
+ export type NoticeType =
22
+ | 'group_member_increase'
23
+ | 'group_member_decrease'
24
+ | 'group_admin_change'
25
+ | 'group_ban'
26
+ | 'group_recall'
27
+ | 'friend_recall'
28
+ | 'friend_add'
29
+ | 'group_poke'
30
+ | 'friend_poke'
31
+ | 'group_transfer'
32
+ | (string & {}); // 允许适配器扩展自定义类型
33
+
34
+ /**
35
+ * 通知频道信息
36
+ */
37
+ export interface NoticeChannel {
38
+ id: string;
39
+ type: 'group' | 'private' | 'channel';
40
+ }
41
+
42
+ /**
43
+ * 通知基础结构
44
+ *
45
+ * 与 MessageBase 同构设计,所有通知共享以下字段。
46
+ * 适配器通过 `Notice.from(raw, base)` 合并平台原始数据和标准字段。
47
+ *
48
+ * @example
49
+ * ```typescript
50
+ * // 适配器中格式化通知
51
+ * const notice = Notice.from(rawEvent, {
52
+ * $id: rawEvent.id,
53
+ * $adapter: 'icqq',
54
+ * $bot: botName,
55
+ * $type: 'group_member_decrease',
56
+ * $subType: 'kick',
57
+ * $channel: { id: groupId, type: 'group' },
58
+ * $operator: { id: operatorId, name: '管理员' },
59
+ * $target: { id: userId, name: '被踢者' },
60
+ * $timestamp: Date.now(),
61
+ * });
62
+ * this.adapter.emit('notice.receive', notice);
63
+ * ```
64
+ */
65
+ export interface NoticeBase {
66
+ /** 通知唯一 ID(平台提供或自生成) */
67
+ $id: string;
68
+ /** 适配器名称 */
69
+ $adapter: keyof Adapters;
70
+ /** Bot 名称 */
71
+ $bot: string;
72
+ /** 通知类型 */
73
+ $type: NoticeType;
74
+ /** 通知子类型(如 leave/kick、set/unset) */
75
+ $subType?: string;
76
+ /** 通知发生的频道/群/会话 */
77
+ $channel: NoticeChannel;
78
+ /** 操作者信息(如管理员) */
79
+ $operator?: MessageSender;
80
+ /** 被操作目标信息(如被踢的成员) */
81
+ $target?: MessageSender;
82
+ /** 通知时间戳 */
83
+ $timestamp: number;
84
+ }
85
+
86
+ /**
87
+ * 完整通知类型,支持平台原始数据扩展
88
+ */
89
+ export type Notice<T extends object = {}> = NoticeBase & T;
90
+
91
+ export namespace Notice {
92
+ /**
93
+ * 工具方法:合并自定义字段与基础通知结构
94
+ */
95
+ export function from<T extends object>(input: T, format: NoticeBase): Notice<T> {
96
+ return Object.assign(input, format);
97
+ }
98
+ }
package/src/plugin.ts CHANGED
@@ -18,6 +18,8 @@ import { MessageMiddleware, RegisteredAdapter, MaybePromise, ArrayItem, SendOpti
18
18
  import type { ConfigFeature } from "./built/config.js";
19
19
  import type { PermissionFeature } from "./built/permission.js";
20
20
  import { Adapter, Adapters } from "./adapter.js";
21
+ import { Notice } from "./notice.js";
22
+ import { Request } from "./request.js";
21
23
  import { Feature, FeatureJSON } from "./feature.js";
22
24
  import { createHash } from "crypto";
23
25
  const contextsKey = Symbol("contexts");
@@ -1024,6 +1026,12 @@ export namespace Plugin {
1024
1026
  'before.sendMessage': [SendOptions];
1025
1027
  "context.mounted": [keyof Plugin.Contexts];
1026
1028
  "context.dispose": [keyof Plugin.Contexts];
1029
+ // Notice 事件
1030
+ 'notice.receive': [Notice];
1031
+ [key: `notice.${string}`]: [Notice];
1032
+ // Request 事件
1033
+ 'request.receive': [Request];
1034
+ [key: `request.${string}`]: [Request];
1027
1035
  }
1028
1036
 
1029
1037
  /**
package/src/request.ts ADDED
@@ -0,0 +1,95 @@
1
+ import { Adapters } from './adapter.js';
2
+ import type { MessageSender, MaybePromise } from './types.js';
3
+
4
+ /**
5
+ * 请求类型枚举
6
+ *
7
+ * 常见 IM 请求事件分类:
8
+ * - friend_add: 好友添加请求
9
+ * - group_add: 主动申请入群
10
+ * - group_invite: 邀请入群请求
11
+ *
12
+ * 适配器可自行扩展更多子类型
13
+ */
14
+ export type RequestType =
15
+ | 'friend_add'
16
+ | 'group_add'
17
+ | 'group_invite'
18
+ | (string & {}); // 允许适配器扩展自定义类型
19
+
20
+ /**
21
+ * 请求频道信息
22
+ */
23
+ export interface RequestChannel {
24
+ id: string;
25
+ type: 'group' | 'private' | 'channel';
26
+ }
27
+
28
+ /**
29
+ * 请求基础结构
30
+ *
31
+ * 与 MessageBase / NoticeBase 同构设计。
32
+ * 核心区别:Request 提供 `$approve()` 和 `$reject()` 方法,用于快速处理请求。
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * // 适配器中格式化请求
37
+ * const request = Request.from(rawEvent, {
38
+ * $id: rawEvent.flag,
39
+ * $adapter: 'icqq',
40
+ * $bot: botName,
41
+ * $type: 'group_invite',
42
+ * $channel: { id: groupId, type: 'group' },
43
+ * $sender: { id: userId, name: '邀请者' },
44
+ * $comment: '请求加群消息',
45
+ * $timestamp: Date.now(),
46
+ * $approve: async (remark?) => { await api.approve(flag, remark); },
47
+ * $reject: async (reason?) => { await api.reject(flag, reason); },
48
+ * });
49
+ * this.adapter.emit('request.receive', request);
50
+ * ```
51
+ */
52
+ export interface RequestBase {
53
+ /** 请求唯一 ID / flag(平台提供的请求标识,用于后续处理) */
54
+ $id: string;
55
+ /** 适配器名称 */
56
+ $adapter: keyof Adapters;
57
+ /** Bot 名称 */
58
+ $bot: string;
59
+ /** 请求类型 */
60
+ $type: RequestType;
61
+ /** 请求子类型 */
62
+ $subType?: string;
63
+ /** 请求发生的频道/群/会话 */
64
+ $channel: RequestChannel;
65
+ /** 请求发送者 */
66
+ $sender: MessageSender;
67
+ /** 请求附言/验证消息 */
68
+ $comment?: string;
69
+ /** 请求时间戳 */
70
+ $timestamp: number;
71
+ /**
72
+ * 同意请求
73
+ * @param remark 备注信息(如好友备注)
74
+ */
75
+ $approve(remark?: string): MaybePromise<void>;
76
+ /**
77
+ * 拒绝请求
78
+ * @param reason 拒绝原因
79
+ */
80
+ $reject(reason?: string): MaybePromise<void>;
81
+ }
82
+
83
+ /**
84
+ * 完整请求类型,支持平台原始数据扩展
85
+ */
86
+ export type Request<T extends object = {}> = RequestBase & T;
87
+
88
+ export namespace Request {
89
+ /**
90
+ * 工具方法:合并自定义字段与基础请求结构
91
+ */
92
+ export function from<T extends object>(input: T, format: RequestBase): Request<T> {
93
+ return Object.assign(input, format);
94
+ }
95
+ }
package/src/utils.ts CHANGED
@@ -9,6 +9,7 @@
9
9
  export {
10
10
  evaluate,
11
11
  execute,
12
+ isExpressionSafe,
12
13
  clearEvalCache,
13
14
  getEvalCacheStats,
14
15
  getValueWithRuntime,