vome-core 0.1.14 → 0.1.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.
- package/dist/admin/config/plugin-dev.js +1 -1
- package/dist/admin/crud/config.js +1 -1
- package/dist/admin/crud/confirm.js +1 -1
- package/dist/admin/crud/dict.js +1 -1
- package/dist/admin/crud/index.js +1 -1
- package/dist/admin/crud/key.js +1 -1
- package/dist/admin/crud/mitt.js +1 -1
- package/dist/admin/crud/plugins.js +1 -1
- package/dist/admin/crud/span.js +1 -1
- package/dist/admin/crud/style.js +1 -1
- package/dist/admin/crud/validate.js +1 -1
- package/dist/admin/directives/perm.js +1 -1
- package/dist/admin/hooks/useUpload.js +1 -1
- package/dist/admin/lib/browser.js +1 -1
- package/dist/admin/lib/cn.js +1 -1
- package/dist/admin/lib/dialog-float.js +1 -1
- package/dist/admin/lib/export-excel.js +1 -1
- package/dist/admin/lib/import-excel.js +1 -1
- package/dist/admin/lib/json.js +1 -1
- package/dist/admin/lib/menu.js +1 -1
- package/dist/admin/lib/tree.js +1 -1
- package/dist/admin/lib/upload.js +1 -1
- package/dist/admin/lib/video-frame.js +1 -1
- package/dist/agent/index.d.ts +3 -1
- package/dist/client/vite-resolve.d.ts +1 -1
- package/dist/client/vite-resolve.js +1 -1
- package/dist/config/index.d.ts +10 -1
- package/dist/index.d.ts +13 -1
- package/dist/index.js +1 -1
- package/dist/server/index.d.ts +17 -1
- package/dist/server/index.js +1 -1
- package/dist/shared/excel.js +1 -1
- package/dist/shared/index.js +1 -1
- package/dist/shared/locale-json.js +1 -1
- package/dist/shared/tree.js +1 -1
- package/package.json +7 -5
- package/typings/comm/crud.ts +29 -0
- package/typings/comm/page.ts +18 -0
- package/typings/comm/scan.ts +6 -0
- package/typings/common.ts +4 -0
- package/typings/context/data.ts +10 -0
- package/typings/ext/market-seat.ts +42 -0
- package/typings/ext/market.ts +55 -0
- package/typings/ext/module.ts +64 -0
- package/typings/ext/plugin.ts +38 -0
- package/typings/ioc/metadata.ts +34 -0
- package/typings/logger/config.ts +6 -0
- package/typings/routing/crud.ts +162 -0
- package/typings/routing/eps.ts +72 -0
- package/typings/routing/meta.ts +63 -0
- package/typings/routing/register.ts +21 -0
- package/typings/routing/scan-context.ts +7 -0
- package/dist/ai.d.ts +0 -1
- package/dist/src/admin/config/plugin-dev.d.ts +0 -52
- package/dist/src/agent/index.d.ts +0 -3
- package/dist/src/config/index.d.ts +0 -10
- package/dist/src/index.d.ts +0 -12
- package/dist/src/server/index.d.ts +0 -17
- package/dist/src/shared/excel.d.ts +0 -23
- package/dist/src/shared/tree.d.ts +0 -18
- package/src/shared/excel.d.ts +0 -23
- package/src/shared/excel.ts +0 -123
- package/src/shared/index.ts +0 -30
- package/src/shared/locale-json.ts +0 -79
- package/src/shared/tree.d.ts +0 -18
- package/src/shared/tree.ts +0 -50
- /package/dist/{src/agent → agent}/constants.d.ts +0 -0
- /package/dist/{src/agent → agent}/protocol.d.ts +0 -0
- /package/dist/{src/agent → agent}/types.d.ts +0 -0
- /package/dist/{src/ai → ai}/adapters/anthropic-gemini.d.ts +0 -0
- /package/dist/{src/ai → ai}/adapters/auth-headers.d.ts +0 -0
- /package/dist/{src/ai → ai}/adapters/index.d.ts +0 -0
- /package/dist/{src/ai → ai}/adapters/openai-compatible.d.ts +0 -0
- /package/dist/{src/ai → ai}/call-log-helpers.d.ts +0 -0
- /package/dist/{src/ai → ai}/index.d.ts +0 -0
- /package/dist/{src/ai → ai}/normalize.d.ts +0 -0
- /package/dist/{src/ai → ai}/sse.d.ts +0 -0
- /package/dist/{src/ai → ai}/transport.d.ts +0 -0
- /package/dist/{src/ai → ai}/types.d.ts +0 -0
- /package/dist/{src/auth → auth}/define-macro.d.ts +0 -0
- /package/dist/{src/auth → auth}/index.d.ts +0 -0
- /package/dist/{src/comm → comm}/daily-log.d.ts +0 -0
- /package/dist/{src/comm → comm}/env.d.ts +0 -0
- /package/dist/{src/comm → comm}/format-time.d.ts +0 -0
- /package/dist/{src/comm → comm}/merge.d.ts +0 -0
- /package/dist/{src/comm → comm}/scan.d.ts +0 -0
- /package/dist/{src/comm → comm}/startBanner.d.ts +0 -0
- /package/dist/{src/core → core}/app.d.ts +0 -0
- /package/dist/{src/core → core}/config.d.ts +0 -0
- /package/dist/{src/core → core}/context/index.d.ts +0 -0
- /package/dist/{src/core → core}/host-infra.d.ts +0 -0
- /package/dist/{src/core → core}/index.d.ts +0 -0
- /package/dist/{src/core → core}/plugins/async-context.d.ts +0 -0
- /package/dist/{src/core → core}/plugins/error.d.ts +0 -0
- /package/dist/{src/core → core}/plugins/logging.d.ts +0 -0
- /package/dist/{src/core → core}/plugins/openapi.d.ts +0 -0
- /package/dist/{src/core → core}/vome-config.d.ts +0 -0
- /package/dist/{src/ext → ext}/base-plugin.d.ts +0 -0
- /package/dist/{src/ext → ext}/host-identity.d.ts +0 -0
- /package/dist/{src/ext → ext}/index.d.ts +0 -0
- /package/dist/{src/ext → ext}/load-plugin.d.ts +0 -0
- /package/dist/{src/ext → ext}/market-crypto.d.ts +0 -0
- /package/dist/{src/ext → ext}/market-package.d.ts +0 -0
- /package/dist/{src/ext → ext}/market-runtime.d.ts +0 -0
- /package/dist/{src/ext → ext}/market-seat.d.ts +0 -0
- /package/dist/{src/ext → ext}/micro-apps.d.ts +0 -0
- /package/dist/{src/ext → ext}/module-gateway.d.ts +0 -0
- /package/dist/{src/ext → ext}/module-install-gate.d.ts +0 -0
- /package/dist/{src/ext → ext}/module-install.d.ts +0 -0
- /package/dist/{src/ext → ext}/module-registry.d.ts +0 -0
- /package/dist/{src/ext → ext}/path.d.ts +0 -0
- /package/dist/{src/ioc → ioc}/container.d.ts +0 -0
- /package/dist/{src/ioc → ioc}/decorators.d.ts +0 -0
- /package/dist/{src/ioc → ioc}/host.d.ts +0 -0
- /package/dist/{src/ioc → ioc}/index.d.ts +0 -0
- /package/dist/{src/ioc → ioc}/metadata.d.ts +0 -0
- /package/dist/{src/ioc → ioc}/scope.d.ts +0 -0
- /package/dist/{src/logger → logger}/bootstrap.d.ts +0 -0
- /package/dist/{src/logger → logger}/exception.d.ts +0 -0
- /package/dist/{src/logger → logger}/index.d.ts +0 -0
- /package/dist/{src/logger → logger}/logger.d.ts +0 -0
- /package/dist/{src/logger → logger}/pino.d.ts +0 -0
- /package/dist/{src/orm → orm}/base-columns.d.ts +0 -0
- /package/dist/{src/orm → orm}/column-comments.d.ts +0 -0
- /package/dist/{src/orm → orm}/crud-config.d.ts +0 -0
- /package/dist/{src/orm → orm}/crud-register.d.ts +0 -0
- /package/dist/{src/orm → orm}/data-scope.d.ts +0 -0
- /package/dist/{src/orm → orm}/db-store.d.ts +0 -0
- /package/dist/{src/orm → orm}/declarative-select.d.ts +0 -0
- /package/dist/{src/orm → orm}/entity-schema.d.ts +0 -0
- /package/dist/{src/orm → orm}/field-ref.d.ts +0 -0
- /package/dist/{src/orm → orm}/import-excel.d.ts +0 -0
- /package/dist/{src/orm → orm}/index.d.ts +0 -0
- /package/dist/{src/orm → orm}/join-tables.d.ts +0 -0
- /package/dist/{src/orm → orm}/query-builder.d.ts +0 -0
- /package/dist/{src/orm → orm}/query-op.d.ts +0 -0
- /package/dist/{src/orm → orm}/repository.d.ts +0 -0
- /package/dist/{src/orm → orm}/service.d.ts +0 -0
- /package/dist/{src/orm → orm}/tenant.d.ts +0 -0
- /package/dist/{src/routing → routing}/base.d.ts +0 -0
- /package/dist/{src/routing → routing}/context.d.ts +0 -0
- /package/dist/{src/routing → routing}/crud-summary.d.ts +0 -0
- /package/dist/{src/routing → routing}/decorators.d.ts +0 -0
- /package/dist/{src/routing → routing}/eps.d.ts +0 -0
- /package/dist/{src/routing → routing}/index.d.ts +0 -0
- /package/dist/{src/routing → routing}/metadata.d.ts +0 -0
- /package/dist/{src/routing → routing}/openapi-tags.d.ts +0 -0
- /package/dist/{src/routing → routing}/path-utils.d.ts +0 -0
- /package/dist/{src/routing → routing}/perm.d.ts +0 -0
- /package/dist/{src/routing → routing}/public-routes.d.ts +0 -0
- /package/dist/{src/routing → routing}/register.d.ts +0 -0
- /package/dist/{src/shared → shared}/index.d.ts +0 -0
- /package/dist/{src/shared → shared}/locale-json.d.ts +0 -0
package/dist/shared/excel.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function _0x4dab(_0x105a66,_0x14ccc8){_0x105a66=_0x105a66-0x11a;const _0x3e5a78=_0x3e5a();let _0x4dabde=_0x3e5a78[_0x105a66];if(_0x4dab['XwxxqR']===undefined){var _0x5ca24c=function(_0x1d4bd5){const _0x120311='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xe39907='',_0x18afc1='';for(let _0x13a53d=0x0,_0x5b641f,_0x49472b,_0x5376c8=0x0;_0x49472b=_0x1d4bd5['charAt'](_0x5376c8++);~_0x49472b&&(_0x5b641f=_0x13a53d%0x4?_0x5b641f*0x40+_0x49472b:_0x49472b,_0x13a53d++%0x4)?_0xe39907+=String['fromCharCode'](0xff&_0x5b641f>>(-0x2*_0x13a53d&0x6)):0x0){_0x49472b=_0x120311['indexOf'](_0x49472b);}for(let _0x115fdc=0x0,_0x3d610d=_0xe39907['length'];_0x115fdc<_0x3d610d;_0x115fdc++){_0x18afc1+='%'+('00'+_0xe39907['charCodeAt'](_0x115fdc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x18afc1);};_0x4dab['wqVFfy']=_0x5ca24c,_0x4dab['osYThM']={},_0x4dab['XwxxqR']=!![];}const _0x2d3242=_0x3e5a78[0x0],_0x5865c6=_0x105a66+_0x2d3242,_0x1eda88=_0x4dab['osYThM'][_0x5865c6];return!_0x1eda88?(_0x4dabde=_0x4dab['wqVFfy'](_0x4dabde),_0x4dab['osYThM'][_0x5865c6]=_0x4dabde):_0x4dabde=_0x1eda88,_0x4dabde;}const _0x5f527a=_0x4dab;(function(_0x5b1945,_0x52b9a5){const _0x388b20=_0x4dab,_0x4ead1b=_0x5b1945();while(!![]){try{const _0x22557c=-parseInt(_0x388b20(0x13a))/0x1+-parseInt(_0x388b20(0x122))/0x2*(parseInt(_0x388b20(0x132))/0x3)+-parseInt(_0x388b20(0x136))/0x4+-parseInt(_0x388b20(0x126))/0x5+parseInt(_0x388b20(0x13c))/0x6*(parseInt(_0x388b20(0x12a))/0x7)+parseInt(_0x388b20(0x120))/0x8+-parseInt(_0x388b20(0x12f))/0x9*(-parseInt(_0x388b20(0x13b))/0xa);if(_0x22557c===_0x52b9a5)break;else _0x4ead1b['push'](_0x4ead1b['shift']());}catch(_0x494632){_0x4ead1b['push'](_0x4ead1b['shift']());}}}(_0x3e5a,0x8639b));import*as _0xe39907 from'xlsx';export const IMPORT_SKIP_FIELDS=['id',_0x5f527a(0x129),_0x5f527a(0x11d),'deletedAt',_0x5f527a(0x127)];function _0x3e5a(){const _0x168c35=['yw9Hx3rVx3nOzwv0','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','nZaZmty3ww5Nu0vk','ntiWqLvKEMnW','otaXoentv0ThAW','DhjPBq','lNHSC3G','DxrPBhm','ChjVCa','DxbKyxrLvgLTzq','u2HLzxrZ','z2v0','mJq4nda2ng55q3LMBW','BgfIzwW','nda5mZK2veXks2rM','BgvUz3rO','CMvHza','u2HLzxqX','mtyYnJG5nwvWs1HOrG','DgvUyw50swq','zw5KC1DPDgG','y3jLyxrLvgLTzq','mtm2nvPlDwDuzq','yxjYyxK','yM9VA19HChbLBMrFC2HLzxq','yxr0ywnOBwvUDdSGzMLSzw5HBwuQpvvurI04jYC','ChvZAa','mZm0mJmZD01KAwvS','C2v0','u2HLzxroyw1LCW','mtjMwfjizxK','C2HLzxrFDg9FANnVBG','Aw5JBhvKzxm','BwfW','ntuWmZy4DLzrrxHl','D3jPDgu'];_0x3e5a=function(){return _0x168c35;};return _0x3e5a();}export function isImportSkipField(_0x18afc1){const _0x3eb67b=_0x5f527a;return IMPORT_SKIP_FIELDS[_0x3eb67b(0x134)](_0x18afc1);}export function buildExcelBuffer(_0x13a53d,_0x5b641f,_0x49472b){const _0x57ad0c=_0x5f527a,_0x5376c8=_0x13a53d[_0x57ad0c(0x135)](_0x300dff=>_0x300dff['label']||_0x300dff[_0x57ad0c(0x11c)]),_0x115fdc=_0x5b641f['map'](_0x5183ae=>_0x13a53d[_0x57ad0c(0x135)](_0x4c6a1a=>{const _0x4b3565=_0x57ad0c;if(_0x49472b)return _0x49472b(_0x4c6a1a[_0x4b3565(0x11c)],_0x5183ae);const _0xdf0431=_0x5183ae[_0x4c6a1a[_0x4b3565(0x11c)]];if(_0xdf0431==null)return'';return String(_0xdf0431);})),_0x3d610d=_0xe39907[_0x57ad0c(0x11b)][_0x57ad0c(0x138)]([_0x5376c8,..._0x115fdc]),_0x34dcd5=_0xe39907['utils']['book_new']();return _0xe39907[_0x57ad0c(0x11b)][_0x57ad0c(0x12c)](_0x34dcd5,_0x3d610d,_0x57ad0c(0x125)),_0xe39907[_0x57ad0c(0x137)](_0x34dcd5,{'bookType':'xlsx','type':_0x57ad0c(0x12b)});}export function buildImportTemplateBuffer(_0x19f91b){return buildExcelBuffer(_0x19f91b,[]);}export function parseExcelBuffer(_0x36031d,_0x11af1b){const _0x2e6cc7=_0x5f527a,_0x5da083=_0xe39907[_0x2e6cc7(0x124)](_0x36031d,{'type':'array','cellDates':!![]}),_0x55ec11=_0x5da083[_0x2e6cc7(0x131)][0x0];if(!_0x55ec11)return[];const _0x2e536b=_0x5da083[_0x2e6cc7(0x11e)][_0x55ec11];if(!_0x2e536b)return[];const _0x1f0bd0=_0xe39907[_0x2e6cc7(0x11b)][_0x2e6cc7(0x133)](_0x2e536b,{'header':0x1,'defval':'','raw':![]});if(!_0x1f0bd0['length'])return[];const _0x225d16=(_0x1f0bd0[0x0]||[])[_0x2e6cc7(0x135)](_0x2fc925=>String(_0x2fc925??'')[_0x2e6cc7(0x13d)]()),_0x2d6a7c=new Map();if(_0x11af1b?.[_0x2e6cc7(0x123)])for(const _0x585b84 of _0x11af1b){_0x2d6a7c[_0x2e6cc7(0x130)](_0x585b84[_0x2e6cc7(0x121)]['trim'](),_0x585b84[_0x2e6cc7(0x11c)]),_0x2d6a7c[_0x2e6cc7(0x130)](_0x585b84[_0x2e6cc7(0x11c)],_0x585b84[_0x2e6cc7(0x11c)]);}const _0x329753=_0x225d16[_0x2e6cc7(0x135)](_0x2e4b68=>{const _0x32c1ef=_0x2e6cc7;if(!_0x2e4b68)return'';return _0x2d6a7c[_0x32c1ef(0x11f)](_0x2e4b68)||_0x2e4b68;}),_0x4f359a=[];for(let _0x3ae10d=0x1;_0x3ae10d<_0x1f0bd0['length'];_0x3ae10d++){const _0x190daf=_0x1f0bd0[_0x3ae10d]||[],_0x508ea2={};let _0x48f726=!![];for(let _0xcf524f=0x0;_0xcf524f<_0x329753[_0x2e6cc7(0x123)];_0xcf524f++){const _0x3ba10e=_0x329753[_0xcf524f];if(!_0x3ba10e)continue;let _0x3645b7=_0x190daf[_0xcf524f];if(_0x3645b7==null||_0x3645b7===''){_0x508ea2[_0x3ba10e]=_0x3645b7==null?null:'';continue;}_0x48f726=![],typeof _0x3645b7==='string'?_0x508ea2[_0x3ba10e]=_0x3645b7[_0x2e6cc7(0x13d)]():_0x508ea2[_0x3ba10e]=_0x3645b7;}if(!_0x48f726)_0x4f359a[_0x2e6cc7(0x12e)](_0x508ea2);}return _0x4f359a;}export function excelFilename(_0x509a32){const _0x5f3334=_0x5f527a;return _0x509a32[_0x5f3334(0x128)](_0x5f3334(0x11a))?_0x509a32:_0x509a32+'.xlsx';}export function excelResponseHeaders(_0x54b7cc){const _0x40022a=_0x5f527a,_0x3d523d=excelFilename(_0x54b7cc);return{'Content-Type':_0x40022a(0x139),'Content-Disposition':_0x40022a(0x12d)+encodeURIComponent(_0x3d523d)};}
|
package/dist/shared/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x283cae,_0x449c15){var _0x42a22f=_0x440e,_0x239a5f=_0x283cae();while(!![]){try{var _0x119477=parseInt(_0x42a22f(0x1de))/0x1+parseInt(_0x42a22f(0x1e1))/0x2*(parseInt(_0x42a22f(0x1dc))/0x3)+-parseInt(_0x42a22f(0x1db))/0x4+-parseInt(_0x42a22f(0x1e0))/0x5+-parseInt(_0x42a22f(0x1d8))/0x6*(-parseInt(_0x42a22f(0x1d7))/0x7)+parseInt(_0x42a22f(0x1d9))/0x8*(-parseInt(_0x42a22f(0x1da))/0x9)+parseInt(_0x42a22f(0x1df))/0xa*(parseInt(_0x42a22f(0x1dd))/0xb);if(_0x119477===_0x449c15)break;else _0x239a5f['push'](_0x239a5f['shift']());}catch(_0x127711){_0x239a5f['push'](_0x239a5f['shift']());}}}(_0x353c,0xe836e));export{merge}from'../comm/merge';function _0x353c(){var _0x421925=['mJmWvKz0ze50','mJaXotC1nvDWC0HbBG','ntHxzgz5CuG','mZqZmta3ogPMufn1rG','nKXvwMDPCq','nZq0mti1nKH1BNDTAq','ou5Wze51ua','mZy5odiWDKThteTr','ntaWnJfJywjqvMm','mtG5otu5rfrhwK5t','mtaWnJq0owDkrg1Qzq'];_0x353c=function(){return _0x421925;};return _0x353c();}export{deepTree,flattenTree}from'./tree';function _0x440e(_0x3da409,_0x3929cc){_0x3da409=_0x3da409-0x1d7;var _0x353c96=_0x353c();var _0x440e12=_0x353c96[_0x3da409];if(_0x440e['dbYcoH']===undefined){var _0x8544e9=function(_0x2c02d3){var _0x23c2cb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x5a3108='',_0x48e9f8='';for(var _0x3bd145=0x0,_0x2d5f07,_0x25905d,_0x3bf93e=0x0;_0x25905d=_0x2c02d3['charAt'](_0x3bf93e++);~_0x25905d&&(_0x2d5f07=_0x3bd145%0x4?_0x2d5f07*0x40+_0x25905d:_0x25905d,_0x3bd145++%0x4)?_0x5a3108+=String['fromCharCode'](0xff&_0x2d5f07>>(-0x2*_0x3bd145&0x6)):0x0){_0x25905d=_0x23c2cb['indexOf'](_0x25905d);}for(var _0x18600b=0x0,_0x1cc34d=_0x5a3108['length'];_0x18600b<_0x1cc34d;_0x18600b++){_0x48e9f8+='%'+('00'+_0x5a3108['charCodeAt'](_0x18600b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x48e9f8);};_0x440e['iUKGxk']=_0x8544e9,_0x440e['ypxMuS']={},_0x440e['dbYcoH']=!![];}var _0x22e95a=_0x353c96[0x0],_0x34675d=_0x3da409+_0x22e95a,_0x37e8dd=_0x440e['ypxMuS'][_0x34675d];return!_0x37e8dd?(_0x440e12=_0x440e['iUKGxk'](_0x440e12),_0x440e['ypxMuS'][_0x34675d]=_0x440e12):_0x440e12=_0x37e8dd,_0x440e12;}export{RES_CODE}from'../routing/base';export{buildExcelBuffer,buildImportTemplateBuffer,parseExcelBuffer,excelFilename,excelResponseHeaders,IMPORT_SKIP_FIELDS,isImportSkipField}from'./excel';export{flattenLocale,unflattenLocale,hashLocaleJson,extractJsonObject}from'./locale-json';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1ee417,_0x269ed3){const _0x35d458=_0xf911,_0x1b71e0=_0x1ee417();while(!![]){try{const _0x5dba30=parseInt(_0x35d458(0x1b6))/0x1+-parseInt(_0x35d458(0x1bd))/0x2+parseInt(_0x35d458(0x1bc))/0x3+-parseInt(_0x35d458(0x1cb))/0x4*(-parseInt(_0x35d458(0x1c6))/0x5)+parseInt(_0x35d458(0x1ca))/0x6*(parseInt(_0x35d458(0x1c7))/0x7)+parseInt(_0x35d458(0x1b5))/0x8+-parseInt(_0x35d458(0x1ce))/0x9;if(_0x5dba30===_0x269ed3)break;else _0x1b71e0['push'](_0x1b71e0['shift']());}catch(_0x3ce9a4){_0x1b71e0['push'](_0x1b71e0['shift']());}}}(_0x3e73,0xe48ff));import{createHash}from'node:crypto';export function flattenLocale(_0x5e7e2f,_0x20f1f5=''){const _0x3c159f=_0xf911,_0x9dcdb6={};for(const [_0x2f5446,_0x333bbf]of Object['entries'](_0x5e7e2f)){const _0x19af6d=_0x20f1f5?_0x20f1f5+'.'+_0x2f5446:_0x2f5446;if(_0x333bbf!=null&&typeof _0x333bbf===_0x3c159f(0x1c5)&&!Array[_0x3c159f(0x1cc)](_0x333bbf))Object[_0x3c159f(0x1cd)](_0x9dcdb6,flattenLocale(_0x333bbf,_0x19af6d));else{if(typeof _0x333bbf==='string')_0x9dcdb6[_0x19af6d]=_0x333bbf;else _0x333bbf!=null&&(_0x9dcdb6[_0x19af6d]=String(_0x333bbf));}}return _0x9dcdb6;}export function unflattenLocale(_0x442b3d){const _0x47a41f=_0xf911,_0x20d453={};for(const [_0x7b22f8,_0x18aea2]of Object['entries'](_0x442b3d)){const _0xec1cd0=_0x7b22f8[_0x47a41f(0x1ba)]('.')['filter'](Boolean);if(!_0xec1cd0[_0x47a41f(0x1b8)])continue;let _0x3efe19=_0x20d453;for(let _0xf8a9a0=0x0;_0xf8a9a0<_0xec1cd0['length']-0x1;_0xf8a9a0++){const _0x5eb417=_0xec1cd0[_0xf8a9a0],_0x35a245=_0x3efe19[_0x5eb417];(!_0x35a245||typeof _0x35a245!==_0x47a41f(0x1c5)||Array[_0x47a41f(0x1cc)](_0x35a245))&&(_0x3efe19[_0x5eb417]={}),_0x3efe19=_0x3efe19[_0x5eb417];}_0x3efe19[_0xec1cd0[_0xec1cd0[_0x47a41f(0x1b8)]-0x1]]=_0x18aea2;}return _0x20d453;}export function hashLocaleJson(_0x9065ba){const _0x5c73c5=_0xf911,_0x266205=flattenLocale(_0x9065ba),_0x24f01e=Object[_0x5c73c5(0x1b9)](_0x266205)[_0x5c73c5(0x1c9)](),_0x25b227=_0x24f01e[_0x5c73c5(0x1c3)](_0x11607e=>_0x11607e+'='+_0x266205[_0x11607e])['join']('\x0a');return createHash('sha256')['update'](_0x25b227)[_0x5c73c5(0x1c4)](_0x5c73c5(0x1c8))[_0x5c73c5(0x1c2)](0x0,0x20);}export function extractJsonObject(_0x3fcf3a){const _0x372b64=_0xf911,_0x3f7a6e=String(_0x3fcf3a||'')[_0x372b64(0x1bb)]();if(!_0x3f7a6e)throw new Error(_0x372b64(0x1be));try{const _0x4dff10=JSON[_0x372b64(0x1b7)](_0x3f7a6e);if(_0x4dff10&&typeof _0x4dff10===_0x372b64(0x1c5)&&!Array[_0x372b64(0x1cc)](_0x4dff10))return _0x4dff10;}catch{}const _0x15a947=_0x3f7a6e[_0x372b64(0x1bf)](/```(?:json)?\s*([\s\S]*?)```/i);if(_0x15a947?.[0x1]){const _0x190821=JSON[_0x372b64(0x1b7)](_0x15a947[0x1][_0x372b64(0x1bb)]());if(_0x190821&&typeof _0x190821==='object'&&!Array[_0x372b64(0x1cc)](_0x190821))return _0x190821;}const _0x2bbb91=_0x3f7a6e[_0x372b64(0x1c1)]('{'),_0x127c6f=_0x3f7a6e['lastIndexOf']('}');if(_0x2bbb91>=0x0&&_0x127c6f>_0x2bbb91){const _0x4b5d7b=JSON[_0x372b64(0x1b7)](_0x3f7a6e[_0x372b64(0x1c2)](_0x2bbb91,_0x127c6f+0x1));if(_0x4b5d7b&&typeof _0x4b5d7b===_0x372b64(0x1c5)&&!Array[_0x372b64(0x1cc)](_0x4b5d7b))return _0x4b5d7b;}throw new Error(_0x372b64(0x1c0));}function _0xf911(_0x2554e6,_0x315066){_0x2554e6=_0x2554e6-0x1b5;const _0x3e7385=_0x3e73();let _0xf91118=_0x3e7385[_0x2554e6];if(_0xf911['dHoWNI']===undefined){var _0x268e39=function(_0x1a7f97){const _0x2bb1a2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5e7e2f='',_0x20f1f5='';for(let _0x9dcdb6=0x0,_0x2f5446,_0x333bbf,_0x19af6d=0x0;_0x333bbf=_0x1a7f97['charAt'](_0x19af6d++);~_0x333bbf&&(_0x2f5446=_0x9dcdb6%0x4?_0x2f5446*0x40+_0x333bbf:_0x333bbf,_0x9dcdb6++%0x4)?_0x5e7e2f+=String['fromCharCode'](0xff&_0x2f5446>>(-0x2*_0x9dcdb6&0x6)):0x0){_0x333bbf=_0x2bb1a2['indexOf'](_0x333bbf);}for(let _0x442b3d=0x0,_0x20d453=_0x5e7e2f['length'];_0x442b3d<_0x20d453;_0x442b3d++){_0x20f1f5+='%'+('00'+_0x5e7e2f['charCodeAt'](_0x442b3d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x20f1f5);};_0xf911['lQbSct']=_0x268e39,_0xf911['GgmrbV']={},_0xf911['dHoWNI']=!![];}const _0x36cdc8=_0x3e7385[0x0],_0x55e4c3=_0x2554e6+_0x36cdc8,_0x5b03d8=_0xf911['GgmrbV'][_0x55e4c3];return!_0x5b03d8?(_0xf91118=_0xf911['lQbSct'](_0xf91118),_0xf911['GgmrbV'][_0x55e4c3]=_0xf91118):_0xf91118=_0x5b03d8,_0xf91118;}function _0x3e73(){const _0x3fe4eb=['Bwf0y2G','quKG6l+u5zUE5PEG5Rov6kEJ5P6q5lI6iePtt04G5A+56lgH','Aw5KzxHpzG','C2XPy2u','BwfW','zgLNzxn0','B2jQzwn0','nZaYndbqvuXLtNO','n0P4quPJvW','Agv4','C29YDa','mta0nZGYmJzhsMXpsMG','mJyWv05iDNDd','AxnbCNjHEq','yxnZAwDU','mJeXnZCZntf4Ag5jBw8','mti5nde3nZzHrun0rK8','nZmYotzMzLvSBvO','CgfYC2u','BgvUz3rO','A2v5CW','C3bSAxq','DhjPBq','mJa0nJq2nu5xwKjLAG','mZq4nJG2ogf3EKfctW','quKG6l+u5zUE56M65yAf5A65'];_0x3e73=function(){return _0x3fe4eb;};return _0x3e73();}
|
package/dist/shared/tree.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function _0x20c2(_0x30188e,_0x40d91e){_0x30188e=_0x30188e-0x14c;const _0x13c0de=_0x13c0();let _0x20c23e=_0x13c0de[_0x30188e];if(_0x20c2['gowWHF']===undefined){var _0x5aafba=function(_0x1cc287){const _0xd096e7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x17e3bb='',_0x4a9660='';for(let _0x4b9447=0x0,_0x13f78c,_0x5dba39,_0x467b3e=0x0;_0x5dba39=_0x1cc287['charAt'](_0x467b3e++);~_0x5dba39&&(_0x13f78c=_0x4b9447%0x4?_0x13f78c*0x40+_0x5dba39:_0x5dba39,_0x4b9447++%0x4)?_0x17e3bb+=String['fromCharCode'](0xff&_0x13f78c>>(-0x2*_0x4b9447&0x6)):0x0){_0x5dba39=_0xd096e7['indexOf'](_0x5dba39);}for(let _0x3bdb6f=0x0,_0x2631b6=_0x17e3bb['length'];_0x3bdb6f<_0x2631b6;_0x3bdb6f++){_0x4a9660+='%'+('00'+_0x17e3bb['charCodeAt'](_0x3bdb6f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a9660);};_0x20c2['FFHqEP']=_0x5aafba,_0x20c2['RqTAaC']={},_0x20c2['gowWHF']=!![];}const _0x42e172=_0x13c0de[0x0],_0x4b12ca=_0x30188e+_0x42e172,_0x37d0f8=_0x20c2['RqTAaC'][_0x4b12ca];return!_0x37d0f8?(_0x20c23e=_0x20c2['FFHqEP'](_0x20c23e),_0x20c2['RqTAaC'][_0x4b12ca]=_0x20c23e):_0x20c23e=_0x37d0f8,_0x20c23e;}function _0x13c0(){const _0x25fde4=['nda1mtGZme52t3PntG','z2v0','B3jKzxjoDw0','zgvZyW','BgvUz3rO','ntK3mtK2nLvAtxf6wG','DMfSDwvZ','mZa0mtCWwwjiwNbh','otiWodmYthnPwujS','CgfYzw50swq','C2v0','C29YDa','ChvZAa','mZz0veXTDeK','ndu1mta2m3nqtgjtvW','nefuv0fKtW','nvbMrw1TtW','mtK3mJqXnJbuqMvkD2S','y2HPBgrYzw4','mtGXnZyXnNjbveXbBG'];_0x13c0=function(){return _0x25fde4;};return _0x13c0();}(function(_0x509728,_0x3bcc61){const _0x5035e1=_0x20c2,_0x5ba8d3=_0x509728();while(!![]){try{const _0x4c6dcb=-parseInt(_0x5035e1(0x153))/0x1+parseInt(_0x5035e1(0x15f))/0x2+-parseInt(_0x5035e1(0x15a))/0x3*(-parseInt(_0x5035e1(0x15b))/0x4)+-parseInt(_0x5035e1(0x15c))/0x5*(parseInt(_0x5035e1(0x14c))/0x6)+parseInt(_0x5035e1(0x151))/0x7+parseInt(_0x5035e1(0x154))/0x8*(parseInt(_0x5035e1(0x159))/0x9)+-parseInt(_0x5035e1(0x15d))/0xa;if(_0x4c6dcb===_0x3bcc61)break;else _0x5ba8d3['push'](_0x5ba8d3['shift']());}catch(_0x4bfb1d){_0x5ba8d3['push'](_0x5ba8d3['shift']());}}}(_0x13c0,0xc0424));export function deepTree(_0x17e3bb,_0x4a9660='asc'){const _0x2e1047=_0x20c2,_0x4b9447=new Map();for(const _0x467b3e of _0x17e3bb){if(_0x467b3e['id']==null)continue;_0x4b9447[_0x2e1047(0x156)](_0x467b3e['id'],{..._0x467b3e,'children':[]});}const _0x13f78c=[];for(const _0x3bdb6f of _0x4b9447[_0x2e1047(0x152)]()){const _0x2631b6=_0x3bdb6f[_0x2e1047(0x155)];_0x2631b6!=null&&_0x2631b6!==''&&_0x4b9447['has'](_0x2631b6)?_0x4b9447[_0x2e1047(0x14d)](_0x2631b6)[_0x2e1047(0x15e)][_0x2e1047(0x158)](_0x3bdb6f):_0x13f78c['push'](_0x3bdb6f);}const _0x5dba39=_0x18c460=>{const _0x45a4df=_0x2e1047;_0x18c460[_0x45a4df(0x157)]((_0x11ef9c,_0x49c54f)=>{const _0x35c67e=_0x45a4df,_0x582b1b=_0x11ef9c[_0x35c67e(0x14e)]??0x0,_0x1b4d7d=_0x49c54f[_0x35c67e(0x14e)]??0x0,_0x652ce6=_0x4a9660===_0x35c67e(0x14f)?_0x1b4d7d-_0x582b1b:_0x582b1b-_0x1b4d7d;return _0x652ce6||Number(_0x11ef9c['id'])-Number(_0x49c54f['id']);});for(const _0x573432 of _0x18c460)if(_0x573432['children']?.['length'])_0x5dba39(_0x573432['children']);};return _0x5dba39(_0x13f78c),_0x13f78c;}export function flattenTree(_0x165768,_0x4e3a75,_0x23adc7=0x0,_0x578752=[]){const _0x5b67bf=_0x20c2;for(const _0x5c340b of _0x165768){const _0x380508=_0x5c340b['children']||[];_0x578752[_0x5b67bf(0x158)]({..._0x5c340b,'depth':_0x23adc7,'hasChildren':_0x380508[_0x5b67bf(0x150)]>0x0});if(_0x380508[_0x5b67bf(0x150)]&&_0x4e3a75['has'](_0x5c340b['id']))flattenTree(_0x380508,_0x4e3a75,_0x23adc7+0x1,_0x578752);}return _0x578752;}
|
package/package.json
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vome-core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.16",
|
|
4
4
|
"description": "Vome framework — shared + Bun/Elysia server + Vue admin",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"files": [
|
|
8
8
|
"dist",
|
|
9
|
-
"
|
|
10
|
-
"typings/admin"
|
|
9
|
+
"typings"
|
|
11
10
|
],
|
|
12
11
|
"main": "./dist/index.js",
|
|
13
12
|
"types": "./dist/index.d.ts",
|
|
@@ -28,7 +27,7 @@
|
|
|
28
27
|
"default": "./dist/config/index.js"
|
|
29
28
|
},
|
|
30
29
|
"./ai": {
|
|
31
|
-
"types": "./dist/ai.d.ts",
|
|
30
|
+
"types": "./dist/ai/index.d.ts",
|
|
32
31
|
"import": "./dist/ai/index.js",
|
|
33
32
|
"default": "./dist/ai/index.js"
|
|
34
33
|
},
|
|
@@ -96,6 +95,9 @@
|
|
|
96
95
|
"agent": [
|
|
97
96
|
"./dist/agent/index.d.ts"
|
|
98
97
|
],
|
|
98
|
+
"ai": [
|
|
99
|
+
"./dist/ai/index.d.ts"
|
|
100
|
+
],
|
|
99
101
|
"admin/service": [
|
|
100
102
|
"./dist/admin/service/index.d.ts"
|
|
101
103
|
],
|
|
@@ -124,7 +126,7 @@
|
|
|
124
126
|
}
|
|
125
127
|
},
|
|
126
128
|
"scripts": {
|
|
127
|
-
"build:server": "bun build ./src/index.ts ./src/server/index.ts ./src/config/index.ts ./src/ai/index.ts ./src/agent/index.ts --outdir ./dist --target bun --format esm --external elysia --external reflect-metadata --external drizzle-orm --external drizzle-zod --external @elysiajs/openapi --external @bogeychan/elysia-logger --external pino --external pino-pretty && tsc -p tsconfig.build.json &&
|
|
129
|
+
"build:server": "bun build ./src/index.ts ./src/server/index.ts ./src/config/index.ts ./src/ai/index.ts ./src/agent/index.ts --outdir ./dist --target bun --format esm --external elysia --external reflect-metadata --external drizzle-orm --external drizzle-zod --external @elysiajs/openapi --external @bogeychan/elysia-logger --external pino --external pino-pretty && tsc -p tsconfig.build.json && bun scripts/flatten-server-dts.ts",
|
|
128
130
|
"build:client": "bun scripts/build-client.ts",
|
|
129
131
|
"build:admin": "bun scripts/build-admin.ts",
|
|
130
132
|
"build": "rm -rf dist && bun run build:server && bun run build:client && bun run build:admin",
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** save:有 id 则更新;insert:只插入 */
|
|
2
|
+
export type CrudUpsertMode = 'save' | 'insert'
|
|
3
|
+
|
|
4
|
+
/** modifyBefore / modifyAfter 操作类型 */
|
|
5
|
+
export type CrudModifyType = 'add' | 'update' | 'delete'
|
|
6
|
+
|
|
7
|
+
/** add() 可选覆盖 */
|
|
8
|
+
export type CrudWriteOptions = {
|
|
9
|
+
upsert?: CrudUpsertMode
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/** 查询回收站范围 */
|
|
13
|
+
export type CrudTrashQueryOptions = {
|
|
14
|
+
withTrashed?: boolean
|
|
15
|
+
onlyTrashed?: boolean
|
|
16
|
+
softDelete?: boolean
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** 删除选项 */
|
|
20
|
+
export type CrudDeleteOptions = {
|
|
21
|
+
force?: boolean
|
|
22
|
+
softDelete?: boolean
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/** vome.crud 运行时配置 */
|
|
26
|
+
export type CrudConfig = {
|
|
27
|
+
upsert?: CrudUpsertMode
|
|
28
|
+
softDelete?: boolean
|
|
29
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** 分页参数 */
|
|
2
|
+
export type PageQuery = {
|
|
3
|
+
/** 页码,从 1 开始,默认 1 */
|
|
4
|
+
page?: number
|
|
5
|
+
/** 每页条数,默认 20 */
|
|
6
|
+
size?: number
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export type PagePagination = {
|
|
10
|
+
page: number
|
|
11
|
+
size: number
|
|
12
|
+
total: number
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export type PageResult<T = unknown> = {
|
|
16
|
+
list: T[]
|
|
17
|
+
pagination: PagePagination
|
|
18
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/** 席位占用结果(市场签发 ticket 后由 core 解析) */
|
|
2
|
+
export type MarketSeatStatus = {
|
|
3
|
+
marketId: string
|
|
4
|
+
/** unlimited:作者/免费;ok:已占席;blocked:超席;pending:待联网登记 */
|
|
5
|
+
state: 'unlimited' | 'ok' | 'blocked' | 'pending' | 'unknown'
|
|
6
|
+
/** 展示用:作者/免费为 null → UI 显示 / */
|
|
7
|
+
seats: number | null
|
|
8
|
+
used: number | null
|
|
9
|
+
reason?: string
|
|
10
|
+
updatedAt: string
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export type MarketSeatTicketPayload = {
|
|
14
|
+
v: 1
|
|
15
|
+
kind: 'seat'
|
|
16
|
+
marketId: string
|
|
17
|
+
siteId: string
|
|
18
|
+
unlimited: boolean
|
|
19
|
+
allowed: boolean
|
|
20
|
+
seats: number | null
|
|
21
|
+
used: number | null
|
|
22
|
+
issuedAt: string
|
|
23
|
+
expireAt: string
|
|
24
|
+
reason?: string | null
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export type MarketSeatTicket = {
|
|
28
|
+
payload: MarketSeatTicketPayload
|
|
29
|
+
sig: string
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/** core 内置席位调度默认(宿主可用 VomeConfig.market 覆盖) */
|
|
33
|
+
export const MARKET_SEAT_DEFAULTS = {
|
|
34
|
+
/** 付费购买默认席位数 */
|
|
35
|
+
baseSeats: 3,
|
|
36
|
+
/** 运行中心跳间隔 */
|
|
37
|
+
heartbeatIntervalMs: 12 * 60 * 60 * 1000,
|
|
38
|
+
/** 无心跳自动释放占用(天) */
|
|
39
|
+
staleDays: 30,
|
|
40
|
+
/** 签发 ticket 有效期(短) */
|
|
41
|
+
ticketTtlMs: 15 * 60 * 1000,
|
|
42
|
+
} as const
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/** 市场签发包定价 */
|
|
2
|
+
export type MarketPricing = 'free' | 'paid'
|
|
3
|
+
|
|
4
|
+
/** market.sig 签名载荷(稳定字段,勿随意增删) */
|
|
5
|
+
export type MarketSigPayload = {
|
|
6
|
+
marketId: string
|
|
7
|
+
pricing: MarketPricing
|
|
8
|
+
version: string
|
|
9
|
+
key: string
|
|
10
|
+
contentHash: string
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/** 离线 / 联网 license 载荷 */
|
|
14
|
+
export type MarketLicensePayload = {
|
|
15
|
+
v: 1
|
|
16
|
+
marketId: string
|
|
17
|
+
buyerId: string
|
|
18
|
+
issuedAt: string
|
|
19
|
+
/** null = 永久 */
|
|
20
|
+
expireAt: string | null
|
|
21
|
+
orderNo?: string | null
|
|
22
|
+
/** 联网签发时必填,须与请求 nonce 一致 */
|
|
23
|
+
nonce?: string | null
|
|
24
|
+
pluginName?: string | null
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/** 磁盘 / 接口中的 license 文件结构 */
|
|
28
|
+
export type MarketLicenseFile = {
|
|
29
|
+
payload: MarketLicensePayload
|
|
30
|
+
sig: string
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export type InstallGateKind =
|
|
34
|
+
| 'local'
|
|
35
|
+
| 'market-free'
|
|
36
|
+
| 'market-paid'
|
|
37
|
+
|
|
38
|
+
export type InstallGateResult = {
|
|
39
|
+
kind: InstallGateKind
|
|
40
|
+
marketId?: string
|
|
41
|
+
via?: 'file' | 'network'
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export type AssertModuleInstallOptions = {
|
|
45
|
+
/** 覆盖 core 内置市场公钥(SPKI DER base64 或 PEM) */
|
|
46
|
+
marketPublicKey?: string | Uint8Array
|
|
47
|
+
/**
|
|
48
|
+
* 联网拉取「签名 license 原文」;core 只验签,不采信 boolean。
|
|
49
|
+
* 返回 null/空 = 无凭证。
|
|
50
|
+
*/
|
|
51
|
+
fetchSignedLicense?: (
|
|
52
|
+
marketId: string,
|
|
53
|
+
nonce: string,
|
|
54
|
+
) => Promise<string | MarketLicenseFile | null | undefined>
|
|
55
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export type ModuleRouteDef = {
|
|
2
|
+
method: string
|
|
3
|
+
path: string
|
|
4
|
+
handler: string
|
|
5
|
+
perms?: string
|
|
6
|
+
summary?: string
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export type ModuleMenuDef = {
|
|
10
|
+
name: string
|
|
11
|
+
router?: string
|
|
12
|
+
perms?: string
|
|
13
|
+
type?: number
|
|
14
|
+
icon?: string
|
|
15
|
+
orderNum?: number
|
|
16
|
+
appKey?: string
|
|
17
|
+
isShow?: boolean
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export type ModuleManifest = {
|
|
21
|
+
name: string
|
|
22
|
+
key: string
|
|
23
|
+
version: string
|
|
24
|
+
description?: string
|
|
25
|
+
hook?: string
|
|
26
|
+
config?: Record<string, unknown>
|
|
27
|
+
singleton?: boolean
|
|
28
|
+
author?: string
|
|
29
|
+
logo?: string
|
|
30
|
+
readme?: string
|
|
31
|
+
routes?: ModuleRouteDef[]
|
|
32
|
+
menus?: ModuleMenuDef[]
|
|
33
|
+
/**
|
|
34
|
+
* 插件市场终身 ID(仅市场注入,作者勿手写)
|
|
35
|
+
* 无 market.sig 时忽略,按自研包安装
|
|
36
|
+
*/
|
|
37
|
+
marketId?: string
|
|
38
|
+
/** 市场定价;与 market.sig 一致 */
|
|
39
|
+
pricing?: 'free' | 'paid'
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export type ModuleHandlerCtx = {
|
|
43
|
+
body: unknown
|
|
44
|
+
query: Record<string, string>
|
|
45
|
+
params: Record<string, string>
|
|
46
|
+
headers: Headers
|
|
47
|
+
adminId?: number | string
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export type ModuleHandler = (ctx: ModuleHandlerCtx) => unknown | Promise<unknown>
|
|
51
|
+
|
|
52
|
+
export type ModuleInstalled = ModuleManifest & {
|
|
53
|
+
path: string
|
|
54
|
+
hasServer: boolean
|
|
55
|
+
hasWeb: boolean
|
|
56
|
+
hasHook: boolean
|
|
57
|
+
/** 席位展示(core 注入);作者/免费 seatsLabel/usedLabel 为 / */
|
|
58
|
+
seat?: {
|
|
59
|
+
seatsLabel: string
|
|
60
|
+
usedLabel: string
|
|
61
|
+
blocked: boolean
|
|
62
|
+
tip?: string
|
|
63
|
+
}
|
|
64
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export type PluginManifest = {
|
|
2
|
+
name: string
|
|
3
|
+
key: string
|
|
4
|
+
hook?: string
|
|
5
|
+
singleton?: boolean
|
|
6
|
+
version: string
|
|
7
|
+
description?: string
|
|
8
|
+
author?: string
|
|
9
|
+
logo?: string
|
|
10
|
+
readme?: string
|
|
11
|
+
config?: Record<string, unknown>
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export type PluginInfo = PluginManifest & {
|
|
15
|
+
config?: Record<string, unknown>
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export type PluginPayload = {
|
|
19
|
+
content: { type: 'comm' | 'module'; data: string }
|
|
20
|
+
tsContent: { type: 'ts'; data: string }
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export type PluginCheckResult = {
|
|
24
|
+
type: 0 | 1 | 2 | 3
|
|
25
|
+
message: string
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export type PluginServices = {
|
|
29
|
+
cache?: {
|
|
30
|
+
get: (key: string) => Promise<unknown>
|
|
31
|
+
set: (key: string, value: unknown) => Promise<unknown>
|
|
32
|
+
del: (key: string) => Promise<unknown>
|
|
33
|
+
}
|
|
34
|
+
pluginService?: {
|
|
35
|
+
getInstance: (key: string) => Promise<unknown>
|
|
36
|
+
invoke: (key: string, method: string, ...params: unknown[]) => Promise<unknown>
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/** IoC 作用域 */
|
|
2
|
+
export type ScopeValue = 'singleton' | 'request' | 'prototype'
|
|
3
|
+
|
|
4
|
+
/** 可 new 的 Provider 类 */
|
|
5
|
+
export type ClassToken<T = unknown> = abstract new (...args: any[]) => T
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* 注入标识:类 / 字符串 id / symbol
|
|
9
|
+
* 字符串 id 用于跨模块按名注入
|
|
10
|
+
*/
|
|
11
|
+
export type InjectionToken<T = unknown> = ClassToken<T> | string | symbol
|
|
12
|
+
|
|
13
|
+
export type InjectMeta = {
|
|
14
|
+
propertyKey: string | symbol
|
|
15
|
+
/** 依赖标识;与 resolve 二选一 */
|
|
16
|
+
token?: InjectionToken
|
|
17
|
+
/** 自定义解析(如 Repository) */
|
|
18
|
+
resolve?: () => unknown
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export type ProviderMeta = {
|
|
22
|
+
/** 注册键(类或自定义 id) */
|
|
23
|
+
token: InjectionToken
|
|
24
|
+
/** 实际用来 new 的类 */
|
|
25
|
+
useClass: ClassToken
|
|
26
|
+
scope: ScopeValue
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export type ProvideOptions = {
|
|
30
|
+
/** 自定义标识,可用 `@Inject('id')` / `Ioc.get('id')` */
|
|
31
|
+
id?: string | symbol
|
|
32
|
+
/** 作用域,默认 singleton */
|
|
33
|
+
scope?: ScopeValue
|
|
34
|
+
}
|