vome-core 0.1.15 → 0.1.17

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 (154) hide show
  1. package/dist/admin/config/plugin-dev.js +1 -1
  2. package/dist/admin/crud/config.js +1 -1
  3. package/dist/admin/crud/confirm.js +1 -1
  4. package/dist/admin/crud/dict.js +1 -1
  5. package/dist/admin/crud/index.js +1 -1
  6. package/dist/admin/crud/key.js +1 -1
  7. package/dist/admin/crud/mitt.js +1 -1
  8. package/dist/admin/crud/plugins.js +1 -1
  9. package/dist/admin/crud/span.js +1 -1
  10. package/dist/admin/crud/style.js +1 -1
  11. package/dist/admin/crud/validate.js +1 -1
  12. package/dist/admin/crud/vm-search.vue +23 -9
  13. package/dist/admin/directives/perm.js +1 -1
  14. package/dist/admin/hooks/useUpload.js +1 -1
  15. package/dist/admin/lib/browser.js +1 -1
  16. package/dist/admin/lib/cn.js +1 -1
  17. package/dist/admin/lib/dialog-float.js +1 -1
  18. package/dist/admin/lib/export-excel.js +1 -1
  19. package/dist/admin/lib/import-excel.js +1 -1
  20. package/dist/admin/lib/json.js +1 -1
  21. package/dist/admin/lib/menu.js +1 -1
  22. package/dist/admin/lib/tree.js +1 -1
  23. package/dist/admin/lib/upload.js +1 -1
  24. package/dist/admin/lib/video-frame.js +1 -1
  25. package/dist/agent/index.d.ts +3 -1
  26. package/dist/{src/agent → agent}/protocol.d.ts +2 -11
  27. package/dist/{src/agent → agent}/types.d.ts +0 -9
  28. package/dist/client/vite-micro-proxy.d.ts +8 -6
  29. package/dist/client/vite-micro-proxy.js +23 -2
  30. package/dist/config/index.d.ts +10 -1
  31. package/dist/index.d.ts +13 -1
  32. package/dist/index.js +1 -1
  33. package/dist/server/index.d.ts +17 -1
  34. package/dist/server/index.js +1 -1
  35. package/dist/shared/excel.js +1 -1
  36. package/dist/shared/index.js +1 -1
  37. package/dist/shared/locale-json.js +1 -1
  38. package/dist/shared/tree.js +1 -1
  39. package/package.json +7 -5
  40. package/typings/comm/crud.ts +29 -0
  41. package/typings/comm/page.ts +18 -0
  42. package/typings/comm/scan.ts +6 -0
  43. package/typings/common.ts +4 -0
  44. package/typings/context/data.ts +10 -0
  45. package/typings/ext/market-seat.ts +42 -0
  46. package/typings/ext/market.ts +55 -0
  47. package/typings/ext/module.ts +64 -0
  48. package/typings/ext/plugin.ts +38 -0
  49. package/typings/ioc/metadata.ts +34 -0
  50. package/typings/logger/config.ts +6 -0
  51. package/typings/routing/crud.ts +162 -0
  52. package/typings/routing/eps.ts +72 -0
  53. package/typings/routing/meta.ts +63 -0
  54. package/typings/routing/register.ts +21 -0
  55. package/typings/routing/scan-context.ts +7 -0
  56. package/dist/ai.d.ts +0 -1
  57. package/dist/src/admin/config/plugin-dev.d.ts +0 -52
  58. package/dist/src/agent/index.d.ts +0 -3
  59. package/dist/src/config/index.d.ts +0 -10
  60. package/dist/src/index.d.ts +0 -12
  61. package/dist/src/server/index.d.ts +0 -17
  62. package/dist/src/shared/excel.d.ts +0 -23
  63. package/dist/src/shared/tree.d.ts +0 -18
  64. package/src/shared/excel.d.ts +0 -23
  65. package/src/shared/excel.ts +0 -123
  66. package/src/shared/index.ts +0 -30
  67. package/src/shared/locale-json.ts +0 -79
  68. package/src/shared/tree.d.ts +0 -18
  69. package/src/shared/tree.ts +0 -50
  70. /package/dist/{src/agent → agent}/constants.d.ts +0 -0
  71. /package/dist/{src/ai → ai}/adapters/anthropic-gemini.d.ts +0 -0
  72. /package/dist/{src/ai → ai}/adapters/auth-headers.d.ts +0 -0
  73. /package/dist/{src/ai → ai}/adapters/index.d.ts +0 -0
  74. /package/dist/{src/ai → ai}/adapters/openai-compatible.d.ts +0 -0
  75. /package/dist/{src/ai → ai}/call-log-helpers.d.ts +0 -0
  76. /package/dist/{src/ai → ai}/index.d.ts +0 -0
  77. /package/dist/{src/ai → ai}/normalize.d.ts +0 -0
  78. /package/dist/{src/ai → ai}/sse.d.ts +0 -0
  79. /package/dist/{src/ai → ai}/transport.d.ts +0 -0
  80. /package/dist/{src/ai → ai}/types.d.ts +0 -0
  81. /package/dist/{src/auth → auth}/define-macro.d.ts +0 -0
  82. /package/dist/{src/auth → auth}/index.d.ts +0 -0
  83. /package/dist/{src/comm → comm}/daily-log.d.ts +0 -0
  84. /package/dist/{src/comm → comm}/env.d.ts +0 -0
  85. /package/dist/{src/comm → comm}/format-time.d.ts +0 -0
  86. /package/dist/{src/comm → comm}/merge.d.ts +0 -0
  87. /package/dist/{src/comm → comm}/scan.d.ts +0 -0
  88. /package/dist/{src/comm → comm}/startBanner.d.ts +0 -0
  89. /package/dist/{src/core → core}/app.d.ts +0 -0
  90. /package/dist/{src/core → core}/config.d.ts +0 -0
  91. /package/dist/{src/core → core}/context/index.d.ts +0 -0
  92. /package/dist/{src/core → core}/host-infra.d.ts +0 -0
  93. /package/dist/{src/core → core}/index.d.ts +0 -0
  94. /package/dist/{src/core → core}/plugins/async-context.d.ts +0 -0
  95. /package/dist/{src/core → core}/plugins/error.d.ts +0 -0
  96. /package/dist/{src/core → core}/plugins/logging.d.ts +0 -0
  97. /package/dist/{src/core → core}/plugins/openapi.d.ts +0 -0
  98. /package/dist/{src/core → core}/vome-config.d.ts +0 -0
  99. /package/dist/{src/ext → ext}/base-plugin.d.ts +0 -0
  100. /package/dist/{src/ext → ext}/host-identity.d.ts +0 -0
  101. /package/dist/{src/ext → ext}/index.d.ts +0 -0
  102. /package/dist/{src/ext → ext}/load-plugin.d.ts +0 -0
  103. /package/dist/{src/ext → ext}/market-crypto.d.ts +0 -0
  104. /package/dist/{src/ext → ext}/market-package.d.ts +0 -0
  105. /package/dist/{src/ext → ext}/market-runtime.d.ts +0 -0
  106. /package/dist/{src/ext → ext}/market-seat.d.ts +0 -0
  107. /package/dist/{src/ext → ext}/micro-apps.d.ts +0 -0
  108. /package/dist/{src/ext → ext}/module-gateway.d.ts +0 -0
  109. /package/dist/{src/ext → ext}/module-install-gate.d.ts +0 -0
  110. /package/dist/{src/ext → ext}/module-install.d.ts +0 -0
  111. /package/dist/{src/ext → ext}/module-registry.d.ts +0 -0
  112. /package/dist/{src/ext → ext}/path.d.ts +0 -0
  113. /package/dist/{src/ioc → ioc}/container.d.ts +0 -0
  114. /package/dist/{src/ioc → ioc}/decorators.d.ts +0 -0
  115. /package/dist/{src/ioc → ioc}/host.d.ts +0 -0
  116. /package/dist/{src/ioc → ioc}/index.d.ts +0 -0
  117. /package/dist/{src/ioc → ioc}/metadata.d.ts +0 -0
  118. /package/dist/{src/ioc → ioc}/scope.d.ts +0 -0
  119. /package/dist/{src/logger → logger}/bootstrap.d.ts +0 -0
  120. /package/dist/{src/logger → logger}/exception.d.ts +0 -0
  121. /package/dist/{src/logger → logger}/index.d.ts +0 -0
  122. /package/dist/{src/logger → logger}/logger.d.ts +0 -0
  123. /package/dist/{src/logger → logger}/pino.d.ts +0 -0
  124. /package/dist/{src/orm → orm}/base-columns.d.ts +0 -0
  125. /package/dist/{src/orm → orm}/column-comments.d.ts +0 -0
  126. /package/dist/{src/orm → orm}/crud-config.d.ts +0 -0
  127. /package/dist/{src/orm → orm}/crud-register.d.ts +0 -0
  128. /package/dist/{src/orm → orm}/data-scope.d.ts +0 -0
  129. /package/dist/{src/orm → orm}/db-store.d.ts +0 -0
  130. /package/dist/{src/orm → orm}/declarative-select.d.ts +0 -0
  131. /package/dist/{src/orm → orm}/entity-schema.d.ts +0 -0
  132. /package/dist/{src/orm → orm}/field-ref.d.ts +0 -0
  133. /package/dist/{src/orm → orm}/import-excel.d.ts +0 -0
  134. /package/dist/{src/orm → orm}/index.d.ts +0 -0
  135. /package/dist/{src/orm → orm}/join-tables.d.ts +0 -0
  136. /package/dist/{src/orm → orm}/query-builder.d.ts +0 -0
  137. /package/dist/{src/orm → orm}/query-op.d.ts +0 -0
  138. /package/dist/{src/orm → orm}/repository.d.ts +0 -0
  139. /package/dist/{src/orm → orm}/service.d.ts +0 -0
  140. /package/dist/{src/orm → orm}/tenant.d.ts +0 -0
  141. /package/dist/{src/routing → routing}/base.d.ts +0 -0
  142. /package/dist/{src/routing → routing}/context.d.ts +0 -0
  143. /package/dist/{src/routing → routing}/crud-summary.d.ts +0 -0
  144. /package/dist/{src/routing → routing}/decorators.d.ts +0 -0
  145. /package/dist/{src/routing → routing}/eps.d.ts +0 -0
  146. /package/dist/{src/routing → routing}/index.d.ts +0 -0
  147. /package/dist/{src/routing → routing}/metadata.d.ts +0 -0
  148. /package/dist/{src/routing → routing}/openapi-tags.d.ts +0 -0
  149. /package/dist/{src/routing → routing}/path-utils.d.ts +0 -0
  150. /package/dist/{src/routing → routing}/perm.d.ts +0 -0
  151. /package/dist/{src/routing → routing}/public-routes.d.ts +0 -0
  152. /package/dist/{src/routing → routing}/register.d.ts +0 -0
  153. /package/dist/{src/shared → shared}/index.d.ts +0 -0
  154. /package/dist/{src/shared → shared}/locale-json.d.ts +0 -0
@@ -1 +1 @@
1
- function _0x3ce8(){const _0x5978b5=['yw9Hx3rVx3nOzwv0','EgXZEa','D3jPDgu','mtaXmdG2y2fuEw1h','ntm5nZyWz2jvzxvu','BgfIzwW','DxbKyxrLvgLTzq','DgvUyw50swq','BgvUz3rO','mtu2ntiZnxDHrevcBq','BwfW','odfZrNjrDxO','C2v0','mJGZndbzweT1vLm','yM9VA19HChbLBMrFC2HLzxq','y3jLyxrLvgLTzq','zw5KC1DPDgG','DhjPBq','mZC5nJu2EurwswjV','lNHSC3G','CMvHza','yM9VA19UzxC','DxrPBhm','odiXndi5mwL0Bg1LtG','C3rYAw5N','odm2nunbqLvqBG','nJy2wNj3uhHj','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','u2HLzxrZ','ChvZAa','ChjVCa'];_0x3ce8=function(){return _0x5978b5;};return _0x3ce8();}const _0x13ee58=_0x1de9;(function(_0x578ab0,_0x46972e){const _0x29e629=_0x1de9,_0x2679ef=_0x578ab0();while(!![]){try{const _0x4c14c6=-parseInt(_0x29e629(0x139))/0x1+-parseInt(_0x29e629(0x129))/0x2+-parseInt(_0x29e629(0x141))/0x3*(parseInt(_0x29e629(0x143))/0x4)+-parseInt(_0x29e629(0x13f))/0x5+-parseInt(_0x29e629(0x131))/0x6*(-parseInt(_0x29e629(0x130))/0x7)+-parseInt(_0x29e629(0x13a))/0x8+parseInt(_0x29e629(0x12e))/0x9;if(_0x4c14c6===_0x46972e)break;else _0x2679ef['push'](_0x2679ef['shift']());}catch(_0x47f792){_0x2679ef['push'](_0x2679ef['shift']());}}}(_0x3ce8,0x2c95a));import*as _0x4b71fd from'xlsx';export const IMPORT_SKIP_FIELDS=['id',_0x13ee58(0x126),_0x13ee58(0x13c),'deletedAt',_0x13ee58(0x13d)];export function isImportSkipField(_0x555e1f){return IMPORT_SKIP_FIELDS['includes'](_0x555e1f);}export function buildExcelBuffer(_0x1f74fd,_0x310281,_0x303f8){const _0x1e989d=_0x13ee58,_0x18229d=_0x1f74fd[_0x1e989d(0x140)](_0x493d9b=>_0x493d9b[_0x1e989d(0x13b)]||_0x493d9b[_0x1e989d(0x135)]),_0x1fdc3e=_0x310281[_0x1e989d(0x140)](_0x1bdf69=>_0x1f74fd[_0x1e989d(0x140)](_0xd3cb66=>{const _0x206bb4=_0x1e989d;if(_0x303f8)return _0x303f8(_0xd3cb66[_0x206bb4(0x135)],_0x1bdf69);const _0x432d8a=_0x1bdf69[_0xd3cb66[_0x206bb4(0x135)]];if(_0x432d8a==null)return'';return String(_0x432d8a);})),_0x3f0df2=_0x4b71fd[_0x1e989d(0x12d)][_0x1e989d(0x136)]([_0x18229d,..._0x1fdc3e]),_0x467b1c=_0x4b71fd[_0x1e989d(0x12d)][_0x1e989d(0x12c)]();return _0x4b71fd[_0x1e989d(0x12d)][_0x1e989d(0x144)](_0x467b1c,_0x3f0df2,'Sheet1'),_0x4b71fd[_0x1e989d(0x138)](_0x467b1c,{'bookType':_0x1e989d(0x137),'type':'array'});}export function buildImportTemplateBuffer(_0x53bfb0){return buildExcelBuffer(_0x53bfb0,[]);}export function parseExcelBuffer(_0x23eebc,_0xa611a0){const _0x30a15b=_0x13ee58,_0x45944d=_0x4b71fd[_0x30a15b(0x12b)](_0x23eebc,{'type':'array','cellDates':!![]}),_0x51b46d=_0x45944d['SheetNames'][0x0];if(!_0x51b46d)return[];const _0xb60815=_0x45944d[_0x30a15b(0x133)][_0x51b46d];if(!_0xb60815)return[];const _0xf4a446=_0x4b71fd[_0x30a15b(0x12d)]['sheet_to_json'](_0xb60815,{'header':0x1,'defval':'','raw':![]});if(!_0xf4a446[_0x30a15b(0x13e)])return[];const _0x1bb8d3=(_0xf4a446[0x0]||[])['map'](_0x4bff80=>String(_0x4bff80??'')[_0x30a15b(0x128)]()),_0x41b508=new Map();if(_0xa611a0?.[_0x30a15b(0x13e)])for(const _0x2a60a4 of _0xa611a0){_0x41b508[_0x30a15b(0x142)](_0x2a60a4['label'][_0x30a15b(0x128)](),_0x2a60a4[_0x30a15b(0x135)]),_0x41b508[_0x30a15b(0x142)](_0x2a60a4[_0x30a15b(0x135)],_0x2a60a4[_0x30a15b(0x135)]);}const _0x3c9bcf=_0x1bb8d3[_0x30a15b(0x140)](_0x44ac26=>{if(!_0x44ac26)return'';return _0x41b508['get'](_0x44ac26)||_0x44ac26;}),_0x1541db=[];for(let _0x261bc1=0x1;_0x261bc1<_0xf4a446[_0x30a15b(0x13e)];_0x261bc1++){const _0x5820b8=_0xf4a446[_0x261bc1]||[],_0x248dea={};let _0x39d511=!![];for(let _0x5b28a8=0x0;_0x5b28a8<_0x3c9bcf[_0x30a15b(0x13e)];_0x5b28a8++){const _0x290a34=_0x3c9bcf[_0x5b28a8];if(!_0x290a34)continue;let _0x28dbe3=_0x5820b8[_0x5b28a8];if(_0x28dbe3==null||_0x28dbe3===''){_0x248dea[_0x290a34]=_0x28dbe3==null?null:'';continue;}_0x39d511=![],typeof _0x28dbe3===_0x30a15b(0x12f)?_0x248dea[_0x290a34]=_0x28dbe3[_0x30a15b(0x128)]():_0x248dea[_0x290a34]=_0x28dbe3;}if(!_0x39d511)_0x1541db[_0x30a15b(0x134)](_0x248dea);}return _0x1541db;}function _0x1de9(_0x37eea6,_0x16c078){_0x37eea6=_0x37eea6-0x126;const _0x3ce881=_0x3ce8();let _0x1de955=_0x3ce881[_0x37eea6];if(_0x1de9['jEfaQJ']===undefined){var _0x110429=function(_0x5c3fc1){const _0x593c63='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b71fd='',_0x555e1f='';for(let _0x1f74fd=0x0,_0x310281,_0x303f8,_0x18229d=0x0;_0x303f8=_0x5c3fc1['charAt'](_0x18229d++);~_0x303f8&&(_0x310281=_0x1f74fd%0x4?_0x310281*0x40+_0x303f8:_0x303f8,_0x1f74fd++%0x4)?_0x4b71fd+=String['fromCharCode'](0xff&_0x310281>>(-0x2*_0x1f74fd&0x6)):0x0){_0x303f8=_0x593c63['indexOf'](_0x303f8);}for(let _0x1fdc3e=0x0,_0x3f0df2=_0x4b71fd['length'];_0x1fdc3e<_0x3f0df2;_0x1fdc3e++){_0x555e1f+='%'+('00'+_0x4b71fd['charCodeAt'](_0x1fdc3e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x555e1f);};_0x1de9['rnzDvs']=_0x110429,_0x1de9['IluHwS']={},_0x1de9['jEfaQJ']=!![];}const _0x12baba=_0x3ce881[0x0],_0x22a8dc=_0x37eea6+_0x12baba,_0x33d473=_0x1de9['IluHwS'][_0x22a8dc];return!_0x33d473?(_0x1de955=_0x1de9['rnzDvs'](_0x1de955),_0x1de9['IluHwS'][_0x22a8dc]=_0x1de955):_0x1de955=_0x33d473,_0x1de955;}export function excelFilename(_0x2da8f0){const _0x58f640=_0x13ee58;return _0x2da8f0[_0x58f640(0x127)](_0x58f640(0x12a))?_0x2da8f0:_0x2da8f0+'.xlsx';}export function excelResponseHeaders(_0x15bb44){const _0x108084=_0x13ee58,_0x3c6767=excelFilename(_0x15bb44);return{'Content-Type':_0x108084(0x132),'Content-Disposition':'attachment;\x20filename*=UTF-8\x27\x27'+encodeURIComponent(_0x3c6767)};}
1
+ function _0x10d5(){const _0x327152=['z2v0','ChjVCa','zw5KC1DPDgG','nZK0mty0n29ksLfOwq','ntCWndbuzNHMEfa','ndq5ndi0zfvqBKXZ','mta0mJqXm3bUr1zVua','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','u2HLzxqX','lNHSC3G','mZeYq2zksvrh','u2HLzxroyw1LCW','mZK5mZqZmNv5Bhb4qq','zgvSzxrLzef0','mZqZnJy3n2jbB3Pwzq','ChvZAa','CMvHza','ohHkDMHQva','C2v0','BgfIzwW','C3rYAw5N','DgvUyw50swq','DxbKyxrLvgLTzq','yw9Hx3rVx3nOzwv0','yM9VA19HChbLBMrFC2HLzxq','DhjPBq','EgXZEa','BwfW','BgvUz3rO','yxr0ywnOBwvUDdSGzMLSzw5HBwuQpvvurI04jYC','yM9VA19UzxC','yxjYyxK','Aw5JBhvKzxm','nJKZotq2nerVz2v3ua','DxrPBhm','C2HLzxrFDg9FANnVBG'];_0x10d5=function(){return _0x327152;};return _0x10d5();}const _0x5e5a59=_0xafc2;(function(_0xf49ebe,_0x4c67b9){const _0x3bca79=_0xafc2,_0x5636b0=_0xf49ebe();while(!![]){try{const _0x1d9f08=-parseInt(_0x3bca79(0x1ed))/0x1+parseInt(_0x3bca79(0x1ec))/0x2+parseInt(_0x3bca79(0x1f3))/0x3+-parseInt(_0x3bca79(0x1e4))/0x4+parseInt(_0x3bca79(0x1eb))/0x5*(parseInt(_0x3bca79(0x1f1))/0x6)+-parseInt(_0x3bca79(0x1ea))/0x7*(-parseInt(_0x3bca79(0x1d4))/0x8)+parseInt(_0x3bca79(0x1d1))/0x9;if(_0x1d9f08===_0x4c67b9)break;else _0x5636b0['push'](_0x5636b0['shift']());}catch(_0x301ea0){_0x5636b0['push'](_0x5636b0['shift']());}}}(_0x10d5,0xd8d67));import*as _0x47e107 from'xlsx';export const IMPORT_SKIP_FIELDS=['id','createTime',_0x5e5a59(0x1d9),_0x5e5a59(0x1f4),_0x5e5a59(0x1d8)];function _0xafc2(_0x15c428,_0x10a18a){_0x15c428=_0x15c428-0x1d1;const _0x10d5a7=_0x10d5();let _0xafc211=_0x10d5a7[_0x15c428];if(_0xafc2['GNkxZJ']===undefined){var _0x546f49=function(_0x3a21f1){const _0x1245fe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x47e107='',_0x589902='';for(let _0x476257=0x0,_0x4997dc,_0x15fd1d,_0x3af755=0x0;_0x15fd1d=_0x3a21f1['charAt'](_0x3af755++);~_0x15fd1d&&(_0x4997dc=_0x476257%0x4?_0x4997dc*0x40+_0x15fd1d:_0x15fd1d,_0x476257++%0x4)?_0x47e107+=String['fromCharCode'](0xff&_0x4997dc>>(-0x2*_0x476257&0x6)):0x0){_0x15fd1d=_0x1245fe['indexOf'](_0x15fd1d);}for(let _0x199880=0x0,_0x1a075e=_0x47e107['length'];_0x199880<_0x1a075e;_0x199880++){_0x589902+='%'+('00'+_0x47e107['charCodeAt'](_0x199880)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x589902);};_0xafc2['uSnLIu']=_0x546f49,_0xafc2['pYGzIG']={},_0xafc2['GNkxZJ']=!![];}const _0x508c58=_0x10d5a7[0x0],_0x59de08=_0x15c428+_0x508c58,_0x2a2093=_0xafc2['pYGzIG'][_0x59de08];return!_0x2a2093?(_0xafc211=_0xafc2['uSnLIu'](_0xafc211),_0xafc2['pYGzIG'][_0x59de08]=_0xafc211):_0xafc211=_0x2a2093,_0xafc211;}export function isImportSkipField(_0x589902){const _0xf9ccc8=_0x5e5a59;return IMPORT_SKIP_FIELDS[_0xf9ccc8(0x1e3)](_0x589902);}export function buildExcelBuffer(_0x476257,_0x4997dc,_0x15fd1d){const _0x52b6b2=_0x5e5a59,_0x3af755=_0x476257[_0x52b6b2(0x1de)](_0x54a8b3=>_0x54a8b3[_0x52b6b2(0x1d6)]||_0x54a8b3[_0x52b6b2(0x1e8)]),_0x199880=_0x4997dc['map'](_0x2ee5b=>_0x476257[_0x52b6b2(0x1de)](_0x4b5302=>{const _0x6f7acc=_0x52b6b2;if(_0x15fd1d)return _0x15fd1d(_0x4b5302[_0x6f7acc(0x1e8)],_0x2ee5b);const _0x414f6c=_0x2ee5b[_0x4b5302[_0x6f7acc(0x1e8)]];if(_0x414f6c==null)return'';return String(_0x414f6c);})),_0x1a075e=_0x47e107[_0x52b6b2(0x1e5)][_0x52b6b2(0x1da)]([_0x3af755,..._0x199880]),_0xb16339=_0x47e107[_0x52b6b2(0x1e5)][_0x52b6b2(0x1e1)]();return _0x47e107['utils'][_0x52b6b2(0x1db)](_0xb16339,_0x1a075e,_0x52b6b2(0x1ef)),_0x47e107['write'](_0xb16339,{'bookType':_0x52b6b2(0x1dd),'type':_0x52b6b2(0x1e2)});}export function buildImportTemplateBuffer(_0x580eff){return buildExcelBuffer(_0x580eff,[]);}export function parseExcelBuffer(_0x1d0b41,_0x3db907){const _0x53775e=_0x5e5a59,_0x35bd0c=_0x47e107[_0x53775e(0x1d3)](_0x1d0b41,{'type':_0x53775e(0x1e2),'cellDates':!![]}),_0x833e8b=_0x35bd0c[_0x53775e(0x1f2)][0x0];if(!_0x833e8b)return[];const _0x130947=_0x35bd0c['Sheets'][_0x833e8b];if(!_0x130947)return[];const _0x3ec58b=_0x47e107[_0x53775e(0x1e5)][_0x53775e(0x1e6)](_0x130947,{'header':0x1,'defval':'','raw':![]});if(!_0x3ec58b[_0x53775e(0x1df)])return[];const _0x159403=(_0x3ec58b[0x0]||[])['map'](_0x5e5261=>String(_0x5e5261??'')[_0x53775e(0x1dc)]()),_0x558fd5=new Map();if(_0x3db907?.['length'])for(const _0x2d006e of _0x3db907){_0x558fd5[_0x53775e(0x1d5)](_0x2d006e['label'][_0x53775e(0x1dc)](),_0x2d006e[_0x53775e(0x1e8)]),_0x558fd5[_0x53775e(0x1d5)](_0x2d006e['prop'],_0x2d006e['prop']);}const _0x276126=_0x159403[_0x53775e(0x1de)](_0x5bd7b1=>{const _0x24542f=_0x53775e;if(!_0x5bd7b1)return'';return _0x558fd5[_0x24542f(0x1e7)](_0x5bd7b1)||_0x5bd7b1;}),_0x5ccbd5=[];for(let _0x9f3f32=0x1;_0x9f3f32<_0x3ec58b[_0x53775e(0x1df)];_0x9f3f32++){const _0x13a85b=_0x3ec58b[_0x9f3f32]||[],_0x26a641={};let _0x181e43=!![];for(let _0x3433b9=0x0;_0x3433b9<_0x276126[_0x53775e(0x1df)];_0x3433b9++){const _0x4351a6=_0x276126[_0x3433b9];if(!_0x4351a6)continue;let _0x312f18=_0x13a85b[_0x3433b9];if(_0x312f18==null||_0x312f18===''){_0x26a641[_0x4351a6]=_0x312f18==null?null:'';continue;}_0x181e43=![],typeof _0x312f18===_0x53775e(0x1d7)?_0x26a641[_0x4351a6]=_0x312f18[_0x53775e(0x1dc)]():_0x26a641[_0x4351a6]=_0x312f18;}if(!_0x181e43)_0x5ccbd5[_0x53775e(0x1d2)](_0x26a641);}return _0x5ccbd5;}export function excelFilename(_0x22637e){const _0x3fb228=_0x5e5a59;return _0x22637e[_0x3fb228(0x1e9)](_0x3fb228(0x1f0))?_0x22637e:_0x22637e+_0x3fb228(0x1f0);}export function excelResponseHeaders(_0x3938a3){const _0x1a8fcf=_0x5e5a59,_0x4d7a81=excelFilename(_0x3938a3);return{'Content-Type':_0x1a8fcf(0x1ee),'Content-Disposition':_0x1a8fcf(0x1e0)+encodeURIComponent(_0x4d7a81)};}
@@ -1 +1 @@
1
- (function(_0x33dbdb,_0x1d3a54){var _0x22fd4e=_0x26f7,_0x5ebaa0=_0x33dbdb();while(!![]){try{var _0x2937f8=parseInt(_0x22fd4e(0x174))/0x1+-parseInt(_0x22fd4e(0x17c))/0x2*(-parseInt(_0x22fd4e(0x17b))/0x3)+-parseInt(_0x22fd4e(0x176))/0x4*(parseInt(_0x22fd4e(0x179))/0x5)+-parseInt(_0x22fd4e(0x17a))/0x6*(parseInt(_0x22fd4e(0x17f))/0x7)+parseInt(_0x22fd4e(0x178))/0x8*(-parseInt(_0x22fd4e(0x17d))/0x9)+-parseInt(_0x22fd4e(0x177))/0xa*(-parseInt(_0x22fd4e(0x175))/0xb)+-parseInt(_0x22fd4e(0x180))/0xc*(-parseInt(_0x22fd4e(0x17e))/0xd);if(_0x2937f8===_0x1d3a54)break;else _0x5ebaa0['push'](_0x5ebaa0['shift']());}catch(_0x3db61d){_0x5ebaa0['push'](_0x5ebaa0['shift']());}}}(_0x2fd0,0xb9325));export{merge}from'../comm/merge';export{deepTree,flattenTree}from'./tree';export{RES_CODE}from'../routing/base';function _0x26f7(_0xe06a61,_0x1c3455){_0xe06a61=_0xe06a61-0x174;var _0x2fd0c2=_0x2fd0();var _0x26f71a=_0x2fd0c2[_0xe06a61];if(_0x26f7['gyTgHX']===undefined){var _0x5b8066=function(_0x4b362e){var _0x5f0cfb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x45c961='',_0x47b735='';for(var _0x5bb4e7=0x0,_0x830c66,_0x194036,_0x1892b9=0x0;_0x194036=_0x4b362e['charAt'](_0x1892b9++);~_0x194036&&(_0x830c66=_0x5bb4e7%0x4?_0x830c66*0x40+_0x194036:_0x194036,_0x5bb4e7++%0x4)?_0x45c961+=String['fromCharCode'](0xff&_0x830c66>>(-0x2*_0x5bb4e7&0x6)):0x0){_0x194036=_0x5f0cfb['indexOf'](_0x194036);}for(var _0x364bd3=0x0,_0x2a0050=_0x45c961['length'];_0x364bd3<_0x2a0050;_0x364bd3++){_0x47b735+='%'+('00'+_0x45c961['charCodeAt'](_0x364bd3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x47b735);};_0x26f7['SeQnnN']=_0x5b8066,_0x26f7['MRwLKP']={},_0x26f7['gyTgHX']=!![];}var _0x487221=_0x2fd0c2[0x0],_0x1c0af9=_0xe06a61+_0x487221,_0x3071f2=_0x26f7['MRwLKP'][_0x1c0af9];return!_0x3071f2?(_0x26f71a=_0x26f7['SeQnnN'](_0x26f71a),_0x26f7['MRwLKP'][_0x1c0af9]=_0x26f71a):_0x26f71a=_0x3071f2,_0x26f71a;}export{buildExcelBuffer,buildImportTemplateBuffer,parseExcelBuffer,excelFilename,excelResponseHeaders,IMPORT_SKIP_FIELDS,isImportSkipField}from'./excel';export{flattenLocale,unflattenLocale,hashLocaleJson,extractJsonObject}from'./locale-json';function _0x2fd0(){var _0x57741a=['ndi4mZC2mfLIC2HIyG','mte3wufqDgPc','nZe4mJHdq1DACxC','nJqYnJLLBLvrv1K','mJzSteHWtNu','n0PHzK5Kva','nJuZnJuZmMvPrgnxua','nZy0ntm4q2jdrNrS','nJGWmJryzfjvwfu','ndi2nhPjvKzjCG','mZqWA1jXq0z0','odi0tKryvKvL','ntG5nufrsenizq'];_0x2fd0=function(){return _0x57741a;};return _0x2fd0();}
1
+ (function(_0x1adea0,_0x42c4d2){var _0x2bbb72=_0x5219,_0x7165da=_0x1adea0();while(!![]){try{var _0x53e338=parseInt(_0x2bbb72(0x7b))/0x1*(parseInt(_0x2bbb72(0x78))/0x2)+-parseInt(_0x2bbb72(0x82))/0x3*(parseInt(_0x2bbb72(0x79))/0x4)+-parseInt(_0x2bbb72(0x7e))/0x5+parseInt(_0x2bbb72(0x7a))/0x6+-parseInt(_0x2bbb72(0x7f))/0x7*(parseInt(_0x2bbb72(0x81))/0x8)+-parseInt(_0x2bbb72(0x80))/0x9*(-parseInt(_0x2bbb72(0x7c))/0xa)+parseInt(_0x2bbb72(0x7d))/0xb;if(_0x53e338===_0x42c4d2)break;else _0x7165da['push'](_0x7165da['shift']());}catch(_0x13fa0e){_0x7165da['push'](_0x7165da['shift']());}}}(_0x12ff,0x30a6b));function _0x12ff(){var _0x2d066a=['nJC4ndi0sM5ztwrT','mJyZn0zkD1jpzq','mta4nJHksMnZDhe','mtC5nK1MA055yW','mJiWmZGXogrjtxH1wG','mtf4uM5XvMi','nZu1nJiWA09JsNDs','ndu2mteXn1v1wu90Cq','mte5mJy4nujduwTgtG','n09SufjpzG','ovboALzTDq'];_0x12ff=function(){return _0x2d066a;};return _0x12ff();}export{merge}from'../comm/merge';export{deepTree,flattenTree}from'./tree';function _0x5219(_0x1d1dfc,_0x261b05){_0x1d1dfc=_0x1d1dfc-0x78;var _0x12ffd9=_0x12ff();var _0x52197c=_0x12ffd9[_0x1d1dfc];if(_0x5219['iZoXMU']===undefined){var _0x207b58=function(_0x231db4){var _0x4ea6f1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0xa872f9='',_0x36d6d9='';for(var _0x793d4=0x0,_0x1326ee,_0x5ba113,_0x258b1f=0x0;_0x5ba113=_0x231db4['charAt'](_0x258b1f++);~_0x5ba113&&(_0x1326ee=_0x793d4%0x4?_0x1326ee*0x40+_0x5ba113:_0x5ba113,_0x793d4++%0x4)?_0xa872f9+=String['fromCharCode'](0xff&_0x1326ee>>(-0x2*_0x793d4&0x6)):0x0){_0x5ba113=_0x4ea6f1['indexOf'](_0x5ba113);}for(var _0x38ba5f=0x0,_0x4e85b5=_0xa872f9['length'];_0x38ba5f<_0x4e85b5;_0x38ba5f++){_0x36d6d9+='%'+('00'+_0xa872f9['charCodeAt'](_0x38ba5f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x36d6d9);};_0x5219['QwRqXW']=_0x207b58,_0x5219['VUiPvA']={},_0x5219['iZoXMU']=!![];}var _0x34f602=_0x12ffd9[0x0],_0x281320=_0x1d1dfc+_0x34f602,_0x539cc0=_0x5219['VUiPvA'][_0x281320];return!_0x539cc0?(_0x52197c=_0x5219['QwRqXW'](_0x52197c),_0x5219['VUiPvA'][_0x281320]=_0x52197c):_0x52197c=_0x539cc0,_0x52197c;}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(_0xf08b7f,_0x11280f){const _0x5b94e5=_0x5c87,_0x5f4c30=_0xf08b7f();while(!![]){try{const _0x213eab=-parseInt(_0x5b94e5(0x9d))/0x1+-parseInt(_0x5b94e5(0xb5))/0x2+parseInt(_0x5b94e5(0xb8))/0x3*(parseInt(_0x5b94e5(0xb2))/0x4)+-parseInt(_0x5b94e5(0xb4))/0x5+-parseInt(_0x5b94e5(0xb6))/0x6+parseInt(_0x5b94e5(0xab))/0x7*(parseInt(_0x5b94e5(0xa2))/0x8)+parseInt(_0x5b94e5(0x9f))/0x9;if(_0x213eab===_0x11280f)break;else _0x5f4c30['push'](_0x5f4c30['shift']());}catch(_0x158a75){_0x5f4c30['push'](_0x5f4c30['shift']());}}}(_0x33af,0xa42d0));import{createHash}from'node:crypto';function _0x5c87(_0x5c4351,_0x355ffe){_0x5c4351=_0x5c4351-0x9c;const _0x33af08=_0x33af();let _0x5c8796=_0x33af08[_0x5c4351];if(_0x5c87['KclhOA']===undefined){var _0x45bbdd=function(_0x52f538){const _0x4d92f4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x399a0f='',_0x3056df='';for(let _0x4fe395=0x0,_0x3cbc74,_0x5d2de0,_0xbe1b7=0x0;_0x5d2de0=_0x52f538['charAt'](_0xbe1b7++);~_0x5d2de0&&(_0x3cbc74=_0x4fe395%0x4?_0x3cbc74*0x40+_0x5d2de0:_0x5d2de0,_0x4fe395++%0x4)?_0x399a0f+=String['fromCharCode'](0xff&_0x3cbc74>>(-0x2*_0x4fe395&0x6)):0x0){_0x5d2de0=_0x4d92f4['indexOf'](_0x5d2de0);}for(let _0x539a37=0x0,_0x459480=_0x399a0f['length'];_0x539a37<_0x459480;_0x539a37++){_0x3056df+='%'+('00'+_0x399a0f['charCodeAt'](_0x539a37)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3056df);};_0x5c87['DkfyWg']=_0x45bbdd,_0x5c87['kMpjwn']={},_0x5c87['KclhOA']=!![];}const _0xc82126=_0x33af08[0x0],_0x5d03ad=_0x5c4351+_0xc82126,_0x20f42c=_0x5c87['kMpjwn'][_0x5d03ad];return!_0x20f42c?(_0x5c8796=_0x5c87['DkfyWg'](_0x5c8796),_0x5c87['kMpjwn'][_0x5d03ad]=_0x5c8796):_0x5c8796=_0x20f42c,_0x5c8796;}function _0x33af(){const _0x363256=['CgfYC2u','mtuYmdq4nZb1BwPvzKW','yxnZAwDU','Aw5KzxHpzG','oenqwvrHEG','Agv4','B2jQzwn0','C3bSAxq','BgvUz3rO','BgfZDeLUzgv4t2y','AM9PBG','AxnbCNjHEq','C29YDa','ndK5ndaZmvLRDwLcrq','quKG6l+u5zUE5PEG5Rov6kEJ5P6q5lI6iePtt04G5A+56lgH','zgLNzxn0','DxbKyxrL','zw50CMLLCW','BwfW','C2XPy2u','nevQqwTHvW','DhjPBq','nduZndC5menWBK5Tva','mti0ota2nhL3BvbduG','mJuZmZCYmKfAzvLKyq','A2v5CW','mZq0otC1mw9etKfsEq','zMLSDgvY','oti2ntm5ze1utgrk'];_0x33af=function(){return _0x363256;};return _0x33af();}export function flattenLocale(_0x399a0f,_0x3056df=''){const _0x542344=_0x5c87,_0x4fe395={};for(const [_0x3cbc74,_0x5d2de0]of Object[_0x542344(0xaf)](_0x399a0f)){const _0xbe1b7=_0x3056df?_0x3056df+'.'+_0x3cbc74:_0x3cbc74;if(_0x5d2de0!=null&&typeof _0x5d2de0===_0x542344(0xa4)&&!Array[_0x542344(0xa9)](_0x5d2de0))Object[_0x542344(0xa0)](_0x4fe395,flattenLocale(_0x5d2de0,_0xbe1b7));else{if(typeof _0x5d2de0==='string')_0x4fe395[_0xbe1b7]=_0x5d2de0;else _0x5d2de0!=null&&(_0x4fe395[_0xbe1b7]=String(_0x5d2de0));}}return _0x4fe395;}export function unflattenLocale(_0x539a37){const _0x490be6=_0x5c87,_0x459480={};for(const [_0x30368a,_0x42811b]of Object[_0x490be6(0xaf)](_0x539a37)){const _0x58cde2=_0x30368a[_0x490be6(0xa5)]('.')[_0x490be6(0x9c)](Boolean);if(!_0x58cde2[_0x490be6(0xa6)])continue;let _0x5e2dcc=_0x459480;for(let _0x2e19e9=0x0;_0x2e19e9<_0x58cde2[_0x490be6(0xa6)]-0x1;_0x2e19e9++){const _0x34c2b1=_0x58cde2[_0x2e19e9],_0x22aeb9=_0x5e2dcc[_0x34c2b1];(!_0x22aeb9||typeof _0x22aeb9!=='object'||Array['isArray'](_0x22aeb9))&&(_0x5e2dcc[_0x34c2b1]={}),_0x5e2dcc=_0x5e2dcc[_0x34c2b1];}_0x5e2dcc[_0x58cde2[_0x58cde2[_0x490be6(0xa6)]-0x1]]=_0x42811b;}return _0x459480;}export function hashLocaleJson(_0x4bfaed){const _0x54e7d6=_0x5c87,_0x1b94c7=flattenLocale(_0x4bfaed),_0x6b688c=Object[_0x54e7d6(0xb7)](_0x1b94c7)[_0x54e7d6(0xaa)](),_0x247414=_0x6b688c[_0x54e7d6(0xb0)](_0x4bef84=>_0x4bef84+'='+_0x1b94c7[_0x4bef84])[_0x54e7d6(0xa8)]('\x0a');return createHash('sha256')[_0x54e7d6(0xae)](_0x247414)[_0x54e7d6(0xad)](_0x54e7d6(0xa3))[_0x54e7d6(0xb1)](0x0,0x20);}export function extractJsonObject(_0x22bb9c){const _0x34539b=_0x5c87,_0x211b31=String(_0x22bb9c||'')['trim']();if(!_0x211b31)throw new Error('AI\x20返回空内容');try{const _0x1234a9=JSON[_0x34539b(0x9e)](_0x211b31);if(_0x1234a9&&typeof _0x1234a9===_0x34539b(0xa4)&&!Array[_0x34539b(0xa9)](_0x1234a9))return _0x1234a9;}catch{}const _0x13b626=_0x211b31['match'](/```(?:json)?\s*([\s\S]*?)```/i);if(_0x13b626?.[0x1]){const _0x4f8395=JSON[_0x34539b(0x9e)](_0x13b626[0x1][_0x34539b(0xb3)]());if(_0x4f8395&&typeof _0x4f8395===_0x34539b(0xa4)&&!Array['isArray'](_0x4f8395))return _0x4f8395;}const _0x59a4aa=_0x211b31[_0x34539b(0xa1)]('{'),_0x1df33c=_0x211b31[_0x34539b(0xa7)]('}');if(_0x59a4aa>=0x0&&_0x1df33c>_0x59a4aa){const _0x593a9c=JSON['parse'](_0x211b31['slice'](_0x59a4aa,_0x1df33c+0x1));if(_0x593a9c&&typeof _0x593a9c===_0x34539b(0xa4)&&!Array[_0x34539b(0xa9)](_0x593a9c))return _0x593a9c;}throw new Error(_0x34539b(0xac));}
1
+ function _0x5802(){const _0x4bc8c0=['ne9st3f1uW','odKXntryzhjUz28','C3rYAw5N','mJyYmJe5m3PTsNzjta','mJCXmLfzuerxvq','zgLNzxn0','zw50CMLLCW','zMLSDgvY','quKG6l+u5zUE5PEG5Rov6kEJ5P6q5lI6iePtt04G5A+56lgH','A2v5CW','mZiWndK0ng5NzKnYrW','AxnbCNjHEq','ndGWodK1mNvJvxzmBW','DhjPBq','BgvUz3rO','quKG6l+u5zUE56M65yAf5A65','mJa5nKP4Bwz0Cq','mta1EhHguMrV','CgfYC2u','B2jQzwn0','nZe1mdKYmeD4CeXLuG','C2XPy2u','Bwf0y2G','ndqZmtG5tMvoq3fK','C29YDa','DxbKyxrL','C2HHmJu2','BwfW','C3bSAxq','BgfZDeLUzgv4t2y','Agv4'];_0x5802=function(){return _0x4bc8c0;};return _0x5802();}(function(_0x5718aa,_0x147a35){const _0x43eda0=_0x3ec1,_0x570b68=_0x5718aa();while(!![]){try{const _0x4c6ee8=parseInt(_0x43eda0(0x12e))/0x1*(-parseInt(_0x43eda0(0x117))/0x2)+parseInt(_0x43eda0(0x11b))/0x3*(parseInt(_0x43eda0(0x127))/0x4)+parseInt(_0x43eda0(0x128))/0x5*(-parseInt(_0x43eda0(0x118))/0x6)+-parseInt(_0x43eda0(0x11a))/0x7+parseInt(_0x43eda0(0x121))/0x8+parseInt(_0x43eda0(0x123))/0x9+parseInt(_0x43eda0(0x12b))/0xa;if(_0x4c6ee8===_0x147a35)break;else _0x570b68['push'](_0x570b68['shift']());}catch(_0x1531cf){_0x570b68['push'](_0x570b68['shift']());}}}(_0x5802,0x8673e));import{createHash}from'node:crypto';export function flattenLocale(_0xcba72b,_0x59057d=''){const _0x30491f=_0x3ec1,_0x17c2c3={};for(const [_0x291158,_0x512db5]of Object[_0x30491f(0x11d)](_0xcba72b)){const _0x5ab26b=_0x59057d?_0x59057d+'.'+_0x291158:_0x291158;if(_0x512db5!=null&&typeof _0x512db5===_0x30491f(0x12a)&&!Array[_0x30491f(0x122)](_0x512db5))Object['assign'](_0x17c2c3,flattenLocale(_0x512db5,_0x5ab26b));else{if(typeof _0x512db5===_0x30491f(0x119))_0x17c2c3[_0x5ab26b]=_0x512db5;else _0x512db5!=null&&(_0x17c2c3[_0x5ab26b]=String(_0x512db5));}}return _0x17c2c3;}function _0x3ec1(_0x2d7497,_0x1da005){_0x2d7497=_0x2d7497-0x115;const _0x58023b=_0x5802();let _0x3ec1b6=_0x58023b[_0x2d7497];if(_0x3ec1['IsGBmI']===undefined){var _0x57d88d=function(_0x5b4143){const _0x5e29d5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xcba72b='',_0x59057d='';for(let _0x17c2c3=0x0,_0x291158,_0x512db5,_0x5ab26b=0x0;_0x512db5=_0x5b4143['charAt'](_0x5ab26b++);~_0x512db5&&(_0x291158=_0x17c2c3%0x4?_0x291158*0x40+_0x512db5:_0x512db5,_0x17c2c3++%0x4)?_0xcba72b+=String['fromCharCode'](0xff&_0x291158>>(-0x2*_0x17c2c3&0x6)):0x0){_0x512db5=_0x5e29d5['indexOf'](_0x512db5);}for(let _0x5d857e=0x0,_0x5f24a2=_0xcba72b['length'];_0x5d857e<_0x5f24a2;_0x5d857e++){_0x59057d+='%'+('00'+_0xcba72b['charCodeAt'](_0x5d857e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x59057d);};_0x3ec1['uTKGhW']=_0x57d88d,_0x3ec1['gXfJSd']={},_0x3ec1['IsGBmI']=!![];}const _0x3fa428=_0x58023b[0x0],_0x3abaab=_0x2d7497+_0x3fa428,_0x325f71=_0x3ec1['gXfJSd'][_0x3abaab];return!_0x325f71?(_0x3ec1b6=_0x3ec1['uTKGhW'](_0x3ec1b6),_0x3ec1['gXfJSd'][_0x3abaab]=_0x3ec1b6):_0x3ec1b6=_0x325f71,_0x3ec1b6;}export function unflattenLocale(_0x5d857e){const _0x869dd2=_0x3ec1,_0x5f24a2={};for(const [_0x3dc6a0,_0x5a8942]of Object[_0x869dd2(0x11d)](_0x5d857e)){const _0x2f583d=_0x3dc6a0[_0x869dd2(0x133)]('.')[_0x869dd2(0x11e)](Boolean);if(!_0x2f583d[_0x869dd2(0x125)])continue;let _0x47166d=_0x5f24a2;for(let _0x53ff72=0x0;_0x53ff72<_0x2f583d[_0x869dd2(0x125)]-0x1;_0x53ff72++){const _0x423ac2=_0x2f583d[_0x53ff72],_0x21af6e=_0x47166d[_0x423ac2];(!_0x21af6e||typeof _0x21af6e!==_0x869dd2(0x12a)||Array[_0x869dd2(0x122)](_0x21af6e))&&(_0x47166d[_0x423ac2]={}),_0x47166d=_0x47166d[_0x423ac2];}_0x47166d[_0x2f583d[_0x2f583d[_0x869dd2(0x125)]-0x1]]=_0x5a8942;}return _0x5f24a2;}export function hashLocaleJson(_0x36d4f7){const _0xc6c1b6=_0x3ec1,_0x53b647=flattenLocale(_0x36d4f7),_0x25dce3=Object[_0xc6c1b6(0x120)](_0x53b647)[_0xc6c1b6(0x12f)](),_0x525ede=_0x25dce3[_0xc6c1b6(0x132)](_0x27fcff=>_0x27fcff+'='+_0x53b647[_0x27fcff])['join']('\x0a');return createHash(_0xc6c1b6(0x131))[_0xc6c1b6(0x130)](_0x525ede)[_0xc6c1b6(0x11c)](_0xc6c1b6(0x116))['slice'](0x0,0x20);}export function extractJsonObject(_0x2fbcbd){const _0x3335b0=_0x3ec1,_0x15ba71=String(_0x2fbcbd||'')[_0x3335b0(0x124)]();if(!_0x15ba71)throw new Error(_0x3335b0(0x126));try{const _0x4526e8=JSON['parse'](_0x15ba71);if(_0x4526e8&&typeof _0x4526e8==='object'&&!Array[_0x3335b0(0x122)](_0x4526e8))return _0x4526e8;}catch{}const _0x57527c=_0x15ba71[_0x3335b0(0x12d)](/```(?:json)?\s*([\s\S]*?)```/i);if(_0x57527c?.[0x1]){const _0x31c0eb=JSON[_0x3335b0(0x129)](_0x57527c[0x1]['trim']());if(_0x31c0eb&&typeof _0x31c0eb===_0x3335b0(0x12a)&&!Array[_0x3335b0(0x122)](_0x31c0eb))return _0x31c0eb;}const _0x7a7e1=_0x15ba71['indexOf']('{'),_0x4697be=_0x15ba71[_0x3335b0(0x115)]('}');if(_0x7a7e1>=0x0&&_0x4697be>_0x7a7e1){const _0x49e4b7=JSON[_0x3335b0(0x129)](_0x15ba71[_0x3335b0(0x12c)](_0x7a7e1,_0x4697be+0x1));if(_0x49e4b7&&typeof _0x49e4b7==='object'&&!Array[_0x3335b0(0x122)](_0x49e4b7))return _0x49e4b7;}throw new Error(_0x3335b0(0x11f));}
@@ -1 +1 @@
1
- const _0x32b10c=_0x4cb1;(function(_0x44de67,_0x4904ed){const _0x52042c=_0x4cb1,_0x369aa9=_0x44de67();while(!![]){try{const _0xab5877=-parseInt(_0x52042c(0x15c))/0x1+-parseInt(_0x52042c(0x15d))/0x2+-parseInt(_0x52042c(0x169))/0x3+parseInt(_0x52042c(0x160))/0x4*(-parseInt(_0x52042c(0x161))/0x5)+parseInt(_0x52042c(0x165))/0x6+-parseInt(_0x52042c(0x167))/0x7+parseInt(_0x52042c(0x164))/0x8;if(_0xab5877===_0x4904ed)break;else _0x369aa9['push'](_0x369aa9['shift']());}catch(_0x456ccc){_0x369aa9['push'](_0x369aa9['shift']());}}}(_0x14b9,0x3ede0));export function deepTree(_0x1cb33d,_0x1aa33e=_0x32b10c(0x16c)){const _0x59beab=_0x32b10c,_0x40f79e=new Map();for(const _0x440c93 of _0x1cb33d){if(_0x440c93['id']==null)continue;_0x40f79e[_0x59beab(0x162)](_0x440c93['id'],{..._0x440c93,'children':[]});}const _0x50df57=[];for(const _0x32e48e of _0x40f79e[_0x59beab(0x16a)]()){const _0x5f0bdc=_0x32e48e['parentId'];_0x5f0bdc!=null&&_0x5f0bdc!==''&&_0x40f79e[_0x59beab(0x166)](_0x5f0bdc)?_0x40f79e['get'](_0x5f0bdc)['children'][_0x59beab(0x15f)](_0x32e48e):_0x50df57[_0x59beab(0x15f)](_0x32e48e);}const _0x24ede4=_0x599be6=>{const _0x5c32ae=_0x59beab;_0x599be6[_0x5c32ae(0x15e)]((_0x293448,_0x11d2da)=>{const _0x4ef04b=_0x5c32ae,_0x435053=_0x293448['orderNum']??0x0,_0x1f825d=_0x11d2da['orderNum']??0x0,_0x23645f=_0x1aa33e===_0x4ef04b(0x163)?_0x1f825d-_0x435053:_0x435053-_0x1f825d;return _0x23645f||Number(_0x293448['id'])-Number(_0x11d2da['id']);});for(const _0x2af037 of _0x599be6)if(_0x2af037[_0x5c32ae(0x168)]?.[_0x5c32ae(0x16b)])_0x24ede4(_0x2af037[_0x5c32ae(0x168)]);};return _0x24ede4(_0x50df57),_0x50df57;}function _0x4cb1(_0x467fa0,_0xb0c57f){_0x467fa0=_0x467fa0-0x15c;const _0x14b9ff=_0x14b9();let _0x4cb113=_0x14b9ff[_0x467fa0];if(_0x4cb1['Jqrojj']===undefined){var _0x42b214=function(_0x55f31a){const _0x29ca1c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1cb33d='',_0x1aa33e='';for(let _0x40f79e=0x0,_0x50df57,_0x24ede4,_0x440c93=0x0;_0x24ede4=_0x55f31a['charAt'](_0x440c93++);~_0x24ede4&&(_0x50df57=_0x40f79e%0x4?_0x50df57*0x40+_0x24ede4:_0x24ede4,_0x40f79e++%0x4)?_0x1cb33d+=String['fromCharCode'](0xff&_0x50df57>>(-0x2*_0x40f79e&0x6)):0x0){_0x24ede4=_0x29ca1c['indexOf'](_0x24ede4);}for(let _0x32e48e=0x0,_0x5f0bdc=_0x1cb33d['length'];_0x32e48e<_0x5f0bdc;_0x32e48e++){_0x1aa33e+='%'+('00'+_0x1cb33d['charCodeAt'](_0x32e48e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1aa33e);};_0x4cb1['Ylpvwq']=_0x42b214,_0x4cb1['WIkckT']={},_0x4cb1['Jqrojj']=!![];}const _0x3312ab=_0x14b9ff[0x0],_0x3e3955=_0x467fa0+_0x3312ab,_0x5780f1=_0x4cb1['WIkckT'][_0x3e3955];return!_0x5780f1?(_0x4cb113=_0x4cb1['Ylpvwq'](_0x4cb113),_0x4cb1['WIkckT'][_0x3e3955]=_0x4cb113):_0x4cb113=_0x5780f1,_0x4cb113;}export function flattenTree(_0x38d4dc,_0x8ee059,_0x352c04=0x0,_0x104959=[]){const _0x3f592d=_0x32b10c;for(const _0x2c4bed of _0x38d4dc){const _0x4d8aeb=_0x2c4bed[_0x3f592d(0x168)]||[];_0x104959[_0x3f592d(0x15f)]({..._0x2c4bed,'depth':_0x352c04,'hasChildren':_0x4d8aeb[_0x3f592d(0x16b)]>0x0});if(_0x4d8aeb[_0x3f592d(0x16b)]&&_0x8ee059[_0x3f592d(0x166)](_0x2c4bed['id']))flattenTree(_0x4d8aeb,_0x8ee059,_0x352c04+0x1,_0x104959);}return _0x104959;}function _0x14b9(){const _0x159beb=['mty2mZu3ofDyA2rQrG','y2HPBgrYzw4','mtqXmtmYourxAfvNCG','DMfSDwvZ','BgvUz3rO','yxnJ','ndC0odCYEKX1txzo','odm5ndG4z3f3DNrg','C29YDa','ChvZAa','mZiXmJC2uvH4EvrI','nvnoCxf0Ba','C2v0','zgvZyW','mti1ntiZmZzIBvfiC0W','mJiYodK2nhneALzRqG','AgfZ'];_0x14b9=function(){return _0x159beb;};return _0x14b9();}
1
+ const _0x3d9d51=_0x3b29;(function(_0x1b7f8b,_0x3ff875){const _0x10879d=_0x3b29,_0x47dc3d=_0x1b7f8b();while(!![]){try{const _0x179906=-parseInt(_0x10879d(0x1a9))/0x1*(-parseInt(_0x10879d(0x1ad))/0x2)+parseInt(_0x10879d(0x1a4))/0x3*(parseInt(_0x10879d(0x1a2))/0x4)+-parseInt(_0x10879d(0x1a6))/0x5*(-parseInt(_0x10879d(0x1ab))/0x6)+parseInt(_0x10879d(0x197))/0x7*(-parseInt(_0x10879d(0x1a8))/0x8)+parseInt(_0x10879d(0x1a0))/0x9*(-parseInt(_0x10879d(0x198))/0xa)+-parseInt(_0x10879d(0x19a))/0xb*(parseInt(_0x10879d(0x19c))/0xc)+parseInt(_0x10879d(0x19f))/0xd*(parseInt(_0x10879d(0x196))/0xe);if(_0x179906===_0x3ff875)break;else _0x47dc3d['push'](_0x47dc3d['shift']());}catch(_0xf7a85){_0x47dc3d['push'](_0x47dc3d['shift']());}}}(_0x57a2,0x4b799));function _0x3b29(_0x58dc56,_0xd2be3c){_0x58dc56=_0x58dc56-0x196;const _0x57a205=_0x57a2();let _0x3b29e4=_0x57a205[_0x58dc56];if(_0x3b29['tBdzhk']===undefined){var _0x424888=function(_0x4573bb){const _0x4a4aaa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4a62c4='',_0x1ff8b7='';for(let _0x2ef129=0x0,_0x2e2de3,_0x5c5b78,_0x47fd53=0x0;_0x5c5b78=_0x4573bb['charAt'](_0x47fd53++);~_0x5c5b78&&(_0x2e2de3=_0x2ef129%0x4?_0x2e2de3*0x40+_0x5c5b78:_0x5c5b78,_0x2ef129++%0x4)?_0x4a62c4+=String['fromCharCode'](0xff&_0x2e2de3>>(-0x2*_0x2ef129&0x6)):0x0){_0x5c5b78=_0x4a4aaa['indexOf'](_0x5c5b78);}for(let _0x2789fd=0x0,_0x2e4954=_0x4a62c4['length'];_0x2789fd<_0x2e4954;_0x2789fd++){_0x1ff8b7+='%'+('00'+_0x4a62c4['charCodeAt'](_0x2789fd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ff8b7);};_0x3b29['RakXdG']=_0x424888,_0x3b29['mAbIWG']={},_0x3b29['tBdzhk']=!![];}const _0x17045d=_0x57a205[0x0],_0x12cb15=_0x58dc56+_0x17045d,_0x9a7401=_0x3b29['mAbIWG'][_0x12cb15];return!_0x9a7401?(_0x3b29e4=_0x3b29['RakXdG'](_0x3b29e4),_0x3b29['mAbIWG'][_0x12cb15]=_0x3b29e4):_0x3b29e4=_0x9a7401,_0x3b29e4;}export function deepTree(_0x4a62c4,_0x1ff8b7=_0x3d9d51(0x1a1)){const _0x3d2496=_0x3d9d51,_0x2ef129=new Map();for(const _0x47fd53 of _0x4a62c4){if(_0x47fd53['id']==null)continue;_0x2ef129[_0x3d2496(0x1a3)](_0x47fd53['id'],{..._0x47fd53,'children':[]});}const _0x2e2de3=[];for(const _0x2789fd of _0x2ef129[_0x3d2496(0x1a5)]()){const _0x2e4954=_0x2789fd[_0x3d2496(0x19e)];_0x2e4954!=null&&_0x2e4954!==''&&_0x2ef129[_0x3d2496(0x1aa)](_0x2e4954)?_0x2ef129[_0x3d2496(0x1ac)](_0x2e4954)['children']['push'](_0x2789fd):_0x2e2de3['push'](_0x2789fd);}const _0x5c5b78=_0x255894=>{const _0x37848f=_0x3d2496;_0x255894['sort']((_0xb92fc7,_0x2ab682)=>{const _0x50a143=_0x3b29,_0x39d5ec=_0xb92fc7[_0x50a143(0x19b)]??0x0,_0x200e94=_0x2ab682[_0x50a143(0x19b)]??0x0,_0xf6d089=_0x1ff8b7===_0x50a143(0x199)?_0x200e94-_0x39d5ec:_0x39d5ec-_0x200e94;return _0xf6d089||Number(_0xb92fc7['id'])-Number(_0x2ab682['id']);});for(const _0x53ba21 of _0x255894)if(_0x53ba21['children']?.['length'])_0x5c5b78(_0x53ba21[_0x37848f(0x1a7)]);};return _0x5c5b78(_0x2e2de3),_0x2e2de3;}export function flattenTree(_0x150ab1,_0x199c3f,_0x3325b3=0x0,_0x2ad1bc=[]){const _0x5083c1=_0x3d9d51;for(const _0x31c866 of _0x150ab1){const _0x3104d3=_0x31c866[_0x5083c1(0x1a7)]||[];_0x2ad1bc['push']({..._0x31c866,'depth':_0x3325b3,'hasChildren':_0x3104d3[_0x5083c1(0x19d)]>0x0});if(_0x3104d3[_0x5083c1(0x19d)]&&_0x199c3f[_0x5083c1(0x1aa)](_0x31c866['id']))flattenTree(_0x3104d3,_0x199c3f,_0x3325b3+0x1,_0x2ad1bc);}return _0x2ad1bc;}function _0x57a2(){const _0xc02b8b=['AgfZ','otb2C2zbCu0','z2v0','nefoD3fXsq','nZC1nLvAzLbhza','mtr5veLMwvm','mJe3nZC4mhvVCNbVCq','zgvZyW','otuWodyYvuHdqLnm','B3jKzxjoDw0','nJbYvgzrC20','BgvUz3rO','CgfYzw50swq','mtm3otnozMHdBgi','ovfKqwPfAG','yxnJ','ognRt1zPCa','C2v0','mJm3ndy4C2LUshH6','DMfSDwvZ','ndm3mdv2uvbwwxm','y2HPBgrYzw4','mtC5mdy5nKTOqLvJrW','mJy0nZKZB3vNDMLU'];_0x57a2=function(){return _0xc02b8b;};return _0x57a2();}
package/package.json CHANGED
@@ -1,13 +1,12 @@
1
1
  {
2
2
  "name": "vome-core",
3
- "version": "0.1.15",
3
+ "version": "0.1.17",
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
- "src/shared",
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 && printf \"%s\\n\" \"export * from './src/index'\" > dist/index.d.ts && mkdir -p dist/server && printf \"%s\\n\" \"export * from '../src/server/index'\" > dist/server/index.d.ts && mkdir -p dist/config && printf \"%s\\n\" \"export * from '../src/config/index'\" > dist/config/index.d.ts && mkdir -p dist/agent && printf \"%s\\n\" \"export * from '../src/agent/index'\" > dist/agent/index.d.ts && printf \"%s\\n\" \"export * from './src/ai/index'\" > dist/ai.d.ts",
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,6 @@
1
+ export type ScanOptions = {
2
+ /** 宿主项目根目录,默认 process.cwd() */
3
+ cwd?: string
4
+ /** 扩展名过滤,默认 .ts / .tsx */
5
+ ext?: RegExp
6
+ }
@@ -0,0 +1,4 @@
1
+ /**
2
+ * 宽松对象类型:在固定字段基础上允许追加任意属性
3
+ */
4
+ export type Loose<T extends object> = T & { [key: string]: any }
@@ -0,0 +1,10 @@
1
+ /** ALS 存储的请求上下文数据 */
2
+ export interface ContextData {
3
+ requestId: string
4
+ method: string
5
+ path: string
6
+ /** 客户端 IP(优先代理头,无则空串) */
7
+ ip: string
8
+ startTime: number
9
+ [key: string]: unknown
10
+ }
@@ -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
+ }
@@ -0,0 +1,6 @@
1
+ export type LoggingConfig = {
2
+ level?: string
3
+ transport?: 'console' | 'file'
4
+ dir?: string
5
+ maxDays?: number
6
+ }