tianxincode 1.0.49 → 1.0.51

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 (180) hide show
  1. package/dist/config/tx.config.d.ts.map +1 -1
  2. package/dist/config/tx.config.js +3 -1
  3. package/dist/config/tx.config.js.map +1 -1
  4. package/dist/core/db/db.service.d.ts +2 -0
  5. package/dist/core/db/db.service.d.ts.map +1 -1
  6. package/dist/core/db/db.service.js +11 -0
  7. package/dist/core/db/db.service.js.map +1 -1
  8. package/dist/core/db/init_sql/system.init.d.ts +3 -0
  9. package/dist/core/db/init_sql/system.init.d.ts.map +1 -0
  10. package/dist/core/db/init_sql/system.init.js +15 -0
  11. package/dist/core/db/init_sql/system.init.js.map +1 -0
  12. package/dist/entity/tx-config.entity.d.ts +1 -0
  13. package/dist/entity/tx-config.entity.d.ts.map +1 -1
  14. package/dist/gateway/api/file/download_file.js +1 -1
  15. package/dist/gateway/api/file/download_file.js.map +1 -1
  16. package/dist/gateway/api/skill/categories_skill.d.ts +3 -0
  17. package/dist/gateway/api/skill/categories_skill.d.ts.map +1 -0
  18. package/dist/gateway/api/skill/categories_skill.js +11 -0
  19. package/dist/gateway/api/skill/categories_skill.js.map +1 -0
  20. package/dist/gateway/api/skill/detail_skill.js +2 -2
  21. package/dist/gateway/api/skill/detail_skill.js.map +1 -1
  22. package/dist/gateway/api/skill/install_skill.d.ts +3 -0
  23. package/dist/gateway/api/skill/install_skill.d.ts.map +1 -0
  24. package/dist/gateway/api/skill/install_skill.js +26 -0
  25. package/dist/gateway/api/skill/install_skill.js.map +1 -0
  26. package/dist/gateway/api/skill/published_skill.d.ts +3 -0
  27. package/dist/gateway/api/skill/published_skill.d.ts.map +1 -0
  28. package/dist/gateway/api/skill/published_skill.js +15 -0
  29. package/dist/gateway/api/skill/published_skill.js.map +1 -0
  30. package/dist/gateway/api/skill/skill_routes.d.ts.map +1 -1
  31. package/dist/gateway/api/skill/skill_routes.js +8 -12
  32. package/dist/gateway/api/skill/skill_routes.js.map +1 -1
  33. package/dist/gateway/api/skill/uninstall_skill.d.ts +3 -0
  34. package/dist/gateway/api/skill/uninstall_skill.d.ts.map +1 -0
  35. package/dist/gateway/api/skill/uninstall_skill.js +20 -0
  36. package/dist/gateway/api/skill/uninstall_skill.js.map +1 -0
  37. package/dist/gateway/api/songbing/auth_cancel_songbing.d.ts +3 -0
  38. package/dist/gateway/api/songbing/auth_cancel_songbing.d.ts.map +1 -0
  39. package/dist/gateway/api/songbing/auth_cancel_songbing.js +11 -0
  40. package/dist/gateway/api/songbing/auth_cancel_songbing.js.map +1 -0
  41. package/dist/gateway/api/songbing/auth_start_songbing.d.ts +3 -0
  42. package/dist/gateway/api/songbing/auth_start_songbing.d.ts.map +1 -0
  43. package/dist/gateway/api/songbing/auth_start_songbing.js +15 -0
  44. package/dist/gateway/api/songbing/auth_start_songbing.js.map +1 -0
  45. package/dist/gateway/api/songbing/auth_verify_songbing.d.ts +3 -0
  46. package/dist/gateway/api/songbing/auth_verify_songbing.d.ts.map +1 -0
  47. package/dist/gateway/api/songbing/auth_verify_songbing.js +15 -0
  48. package/dist/gateway/api/songbing/auth_verify_songbing.js.map +1 -0
  49. package/dist/gateway/api/songbing/config_songbing.d.ts +3 -0
  50. package/dist/gateway/api/songbing/config_songbing.d.ts.map +1 -0
  51. package/dist/gateway/api/songbing/config_songbing.js +6 -0
  52. package/dist/gateway/api/songbing/config_songbing.js.map +1 -0
  53. package/dist/gateway/api/songbing/save_config_songbing.d.ts +3 -0
  54. package/dist/gateway/api/songbing/save_config_songbing.d.ts.map +1 -0
  55. package/dist/gateway/api/songbing/save_config_songbing.js +12 -0
  56. package/dist/gateway/api/songbing/save_config_songbing.js.map +1 -0
  57. package/dist/gateway/api/songbing/songbing_routes.d.ts +3 -0
  58. package/dist/gateway/api/songbing/songbing_routes.d.ts.map +1 -0
  59. package/dist/gateway/api/songbing/songbing_routes.js +15 -0
  60. package/dist/gateway/api/songbing/songbing_routes.js.map +1 -0
  61. package/dist/gateway/api/songbing/sync_models_songbing.d.ts +3 -0
  62. package/dist/gateway/api/songbing/sync_models_songbing.d.ts.map +1 -0
  63. package/dist/gateway/api/songbing/sync_models_songbing.js +11 -0
  64. package/dist/gateway/api/songbing/sync_models_songbing.js.map +1 -0
  65. package/dist/gateway/api/spec/categories_spec.d.ts +3 -0
  66. package/dist/gateway/api/spec/categories_spec.d.ts.map +1 -0
  67. package/dist/gateway/api/spec/categories_spec.js +11 -0
  68. package/dist/gateway/api/spec/categories_spec.js.map +1 -0
  69. package/dist/gateway/api/spec/install_spec.d.ts +3 -0
  70. package/dist/gateway/api/spec/install_spec.d.ts.map +1 -0
  71. package/dist/gateway/api/spec/install_spec.js +26 -0
  72. package/dist/gateway/api/spec/install_spec.js.map +1 -0
  73. package/dist/gateway/api/spec/published_spec.d.ts +3 -0
  74. package/dist/gateway/api/spec/published_spec.d.ts.map +1 -0
  75. package/dist/gateway/api/spec/published_spec.js +18 -0
  76. package/dist/gateway/api/spec/published_spec.js.map +1 -0
  77. package/dist/gateway/api/spec/spec_routes.d.ts.map +1 -1
  78. package/dist/gateway/api/spec/spec_routes.js +9 -19
  79. package/dist/gateway/api/spec/spec_routes.js.map +1 -1
  80. package/dist/gateway/api/spec/uninstall_spec.d.ts +3 -0
  81. package/dist/gateway/api/spec/uninstall_spec.d.ts.map +1 -0
  82. package/dist/gateway/api/spec/uninstall_spec.js +20 -0
  83. package/dist/gateway/api/spec/uninstall_spec.js.map +1 -0
  84. package/dist/gateway/api/system/system_routes.d.ts.map +1 -1
  85. package/dist/gateway/api/system/system_routes.js +2 -0
  86. package/dist/gateway/api/system/system_routes.js.map +1 -1
  87. package/dist/gateway/api/system/version_check.d.ts +3 -0
  88. package/dist/gateway/api/system/version_check.d.ts.map +1 -0
  89. package/dist/gateway/api/system/version_check.js +47 -0
  90. package/dist/gateway/api/system/version_check.js.map +1 -0
  91. package/dist/index.js +2 -0
  92. package/dist/index.js.map +1 -1
  93. package/dist/modules/spec/index.d.ts +0 -1
  94. package/dist/modules/spec/index.d.ts.map +1 -1
  95. package/dist/modules/spec/index.js +0 -1
  96. package/dist/modules/spec/index.js.map +1 -1
  97. package/dist/modules/spec/spec.injector.d.ts.map +1 -1
  98. package/dist/modules/spec/spec.injector.js +2 -24
  99. package/dist/modules/spec/spec.injector.js.map +1 -1
  100. package/dist/queue/dream/dream.service.d.ts.map +1 -1
  101. package/dist/queue/dream/dream.service.js +8 -0
  102. package/dist/queue/dream/dream.service.js.map +1 -1
  103. package/dist/queue/dream/handlers/clear-session.handler.d.ts +6 -0
  104. package/dist/queue/dream/handlers/clear-session.handler.d.ts.map +1 -0
  105. package/dist/queue/dream/handlers/clear-session.handler.js +50 -0
  106. package/dist/queue/dream/handlers/clear-session.handler.js.map +1 -0
  107. package/dist/queue/dream/handlers/init.handler.d.ts.map +1 -1
  108. package/dist/queue/dream/handlers/init.handler.js +4 -2
  109. package/dist/queue/dream/handlers/init.handler.js.map +1 -1
  110. package/dist/repository/index.d.ts +2 -0
  111. package/dist/repository/index.d.ts.map +1 -1
  112. package/dist/repository/index.js +1 -0
  113. package/dist/repository/index.js.map +1 -1
  114. package/dist/repository/message.repository.d.ts +2 -0
  115. package/dist/repository/message.repository.d.ts.map +1 -1
  116. package/dist/repository/message.repository.js +8 -0
  117. package/dist/repository/message.repository.js.map +1 -1
  118. package/dist/repository/system.repository.d.ts +18 -0
  119. package/dist/repository/system.repository.d.ts.map +1 -0
  120. package/dist/repository/system.repository.js +14 -0
  121. package/dist/repository/system.repository.js.map +1 -0
  122. package/dist/services/hub/txcode_hub.service.d.ts +98 -0
  123. package/dist/services/hub/txcode_hub.service.d.ts.map +1 -0
  124. package/dist/services/hub/txcode_hub.service.js +173 -0
  125. package/dist/services/hub/txcode_hub.service.js.map +1 -0
  126. package/dist/services/songbing/songbing.service.d.ts +30 -0
  127. package/dist/services/songbing/songbing.service.d.ts.map +1 -0
  128. package/dist/services/songbing/songbing.service.js +155 -0
  129. package/dist/services/songbing/songbing.service.js.map +1 -0
  130. package/dist/services/system/device-sync.service.d.ts +2 -0
  131. package/dist/services/system/device-sync.service.d.ts.map +1 -0
  132. package/dist/services/system/device-sync.service.js +51 -0
  133. package/dist/services/system/device-sync.service.js.map +1 -0
  134. package/package.json +2 -1
  135. package/web/dist/assets/{ConfirmDialog-B03GcCHQ.js → ConfirmDialog-IKK1F-1U.js} +1 -1
  136. package/web/dist/assets/PcLayout-CLW13hCk.js +1 -0
  137. package/web/dist/assets/{aiLogsView-Bt8Xg1Qx.js → aiLogsView-D6QEk_U9.js} +1 -1
  138. package/web/dist/assets/{cssMode-CBb6D87U.js → cssMode-QPobA5wX.js} +1 -1
  139. package/web/dist/assets/{customActionsView-DdjnHzwm.js → customActionsView-ClRg3U7-.js} +1 -1
  140. package/web/dist/assets/{deployView-Cj51_Job.js → deployView-DUWf2jhH.js} +1 -1
  141. package/web/dist/assets/designView-BjjT_eB5.css +1 -0
  142. package/web/dist/assets/designView-DKuJizPM.js +18 -0
  143. package/web/dist/assets/devWorkflowView-CNmKhVZJ.js +36 -0
  144. package/web/dist/assets/devWorkflowView-CiSrMRlP.css +1 -0
  145. package/web/dist/assets/{devWorkflowViewApp-DLslXEq9.js → devWorkflowViewApp-C61Ulpxv.js} +1 -1
  146. package/web/dist/assets/{fileZihao-CtZ4bUIH.js → fileZihao-BTpK560o.js} +1 -1
  147. package/web/dist/assets/{freemarker2-CX3jc3l2.js → freemarker2-DvYwU7jd.js} +1 -1
  148. package/web/dist/assets/gitChanges-5Yut6NPa.css +1 -0
  149. package/web/dist/assets/gitChanges-CRoMAiCZ.js +2 -0
  150. package/web/dist/assets/{gitChangesApp-ZI7-V8oB.js → gitChangesApp-DWWUQkP3.js} +1 -1
  151. package/web/dist/assets/{handlebars-CTaQD6FN.js → handlebars-CK4TZqgf.js} +1 -1
  152. package/web/dist/assets/{html-BruJsfYv.js → html-Dyb2cBd1.js} +1 -1
  153. package/web/dist/assets/{htmlMode-wewroXLr.js → htmlMode-BgucwytQ.js} +1 -1
  154. package/web/dist/assets/{index-C0xmVTIn.css → index-CLl7xUVM.css} +1 -1
  155. package/web/dist/assets/{index-Cn73hS12.js → index-CUBJZpK-.js} +195 -195
  156. package/web/dist/assets/{javascript-B4ku8P1-.js → javascript-C2N5q77q.js} +1 -1
  157. package/web/dist/assets/{jsonMode-BIvVuBMG.js → jsonMode-CROJscjh.js} +1 -1
  158. package/web/dist/assets/{liquid-Bo3G0Ep7.js → liquid-BbMQX3iL.js} +1 -1
  159. package/web/dist/assets/{mdx-Duv0ylZz.js → mdx-DJKFF9Ub.js} +1 -1
  160. package/web/dist/assets/{mediaChat-RT7iqqYb.js → mediaChat-DHxUlCTa.js} +1 -1
  161. package/web/dist/assets/{python-CEhCctGm.js → python-DVBiUABc.js} +1 -1
  162. package/web/dist/assets/{razor-DPK8nTD7.js → razor-BFkZw5AO.js} +1 -1
  163. package/web/dist/assets/taskView-Bg6voWmj.js +1 -0
  164. package/web/dist/assets/{terminalView-GTYtDlus.js → terminalView-DJPI44tU.js} +1 -1
  165. package/web/dist/assets/{tsMode-BZvUU1nf.js → tsMode-CQoCUTDo.js} +1 -1
  166. package/web/dist/assets/{typescript-CmEn-k1B.js → typescript-DrsQGMkk.js} +1 -1
  167. package/web/dist/assets/wikiView-B-OhVpHv.css +1 -0
  168. package/web/dist/assets/{wikiView-CRjg-cZ8.js → wikiView-DyH2kquo.js} +1 -1
  169. package/web/dist/assets/{xml-bjvdKeyy.js → xml-BtAJQIGO.js} +1 -1
  170. package/web/dist/assets/{yaml-N5RXWxJk.js → yaml-vvMVX3ro.js} +1 -1
  171. package/web/dist/index.html +2 -2
  172. package/web/dist/assets/PcLayout-ZTdJNg7G.js +0 -1
  173. package/web/dist/assets/designView-C3pSX4nP.css +0 -1
  174. package/web/dist/assets/designView-RT8tKEN9.js +0 -18
  175. package/web/dist/assets/devWorkflowView-BTozmaiN.js +0 -36
  176. package/web/dist/assets/devWorkflowView-DYhIfbCB.css +0 -1
  177. package/web/dist/assets/gitChanges-D6QxPcii.css +0 -1
  178. package/web/dist/assets/gitChanges-DFRvzL5I.js +0 -2
  179. package/web/dist/assets/taskView-sOyebRqn.js +0 -1
  180. package/web/dist/assets/wikiView-C-oqMnJM.css +0 -1
@@ -29,4 +29,6 @@ export { CustomActionRepository, customActionRepository } from './custom_action.
29
29
  export type { CustomActionRow } from '../entity/custom-action.entity.js';
30
30
  export { ProjectRepository, projectRepository } from './project.repository.js';
31
31
  export type { ProjectRow } from '../entity/project.entity.js';
32
+ export { SystemRepository, systemRepository } from './system.repository.js';
33
+ export type { SystemRow } from './system.repository.js';
32
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/repository/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC1E,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,YAAY,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,YAAY,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACzE,YAAY,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtE,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrF,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChG,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACzE,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC/F,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACnE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC/F,YAAY,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/repository/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC1E,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,YAAY,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,YAAY,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACzE,YAAY,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtE,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrF,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChG,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACzE,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC/F,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACnE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC/F,YAAY,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC"}
@@ -13,4 +13,5 @@ export { ProviderAuthRepository, providerAuthRepository } from './provider_auth.
13
13
  export { LspRepository, lspRepository } from './lsp.repository.js';
14
14
  export { CustomActionRepository, customActionRepository } from './custom_action.repository.js';
15
15
  export { ProjectRepository, projectRepository } from './project.repository.js';
16
+ export { SystemRepository, systemRepository } from './system.repository.js';
16
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repository/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI5E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErF,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE/F,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE/F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repository/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI5E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErF,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE/F,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE/F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -20,6 +20,8 @@ export declare class MessageRepository extends BaseRepository {
20
20
  countBySession(sessionId: string): number;
21
21
  countPermanent(sessionId: string): number;
22
22
  deleteBySession(sessionId: string): void;
23
+ countAll(): number;
24
+ getOldestSessionId(): string | null;
23
25
  }
24
26
  export declare const messageRepository: MessageRepository;
25
27
  //# sourceMappingURL=message.repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.repository.d.ts","sourceRoot":"","sources":["../../src/repository/message.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B,qBAAa,iBAAkB,SAAQ,cAAc;IACnD,MAAM,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM;IAQvH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI3C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE;IAIvC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE;IAO7C,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE;IAO7C,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,GAAG,UAAU,EAAE;IAUpF,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI5B,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAOvD,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAY3D,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAKzC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAQzC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAGzC;AAED,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
1
+ {"version":3,"file":"message.repository.d.ts","sourceRoot":"","sources":["../../src/repository/message.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B,qBAAa,iBAAkB,SAAQ,cAAc;IACnD,MAAM,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM;IAQvH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI3C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE;IAIvC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE;IAO7C,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE;IAO7C,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,GAAG,UAAU,EAAE;IAUpF,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI5B,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAOvD,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAY3D,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAKzC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAQzC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIxC,QAAQ,IAAI,MAAM;IAKlB,kBAAkB,IAAI,MAAM,GAAG,IAAI;CAMpC;AAED,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
@@ -53,6 +53,14 @@ export class MessageRepository extends BaseRepository {
53
53
  deleteBySession(sessionId) {
54
54
  this.execute('DELETE FROM messages WHERE session_id = ?', [sessionId]);
55
55
  }
56
+ countAll() {
57
+ const row = this.queryOne('SELECT COUNT(*) as count FROM messages');
58
+ return row?.count || 0;
59
+ }
60
+ getOldestSessionId() {
61
+ const row = this.queryOne('SELECT session_id, MIN(created_at) as min_created FROM messages GROUP BY session_id ORDER BY min_created ASC LIMIT 1');
62
+ return row?.session_id || null;
63
+ }
56
64
  }
57
65
  export const messageRepository = new MessageRepository();
58
66
  //# sourceMappingURL=message.repository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.repository.js","sourceRoot":"","sources":["../../src/repository/message.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message.repository.js","sourceRoot":"","sources":["../../src/repository/message.repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { BaseRepository } from './base.repository.js';
2
+ export interface SystemRow {
3
+ id: number;
4
+ device_id: string;
5
+ device_type: string;
6
+ mac_address: string;
7
+ platform_account: string;
8
+ platform_password: string;
9
+ created_at: string;
10
+ updated_at: string;
11
+ }
12
+ export declare class SystemRepository extends BaseRepository {
13
+ getSystemInfo(): SystemRow | undefined;
14
+ insertSystemInfo(deviceId: string, deviceType: string, macAddress: string): void;
15
+ updatePlatformAccount(account: string, password: string): void;
16
+ }
17
+ export declare const systemRepository: SystemRepository;
18
+ //# sourceMappingURL=system.repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.repository.d.ts","sourceRoot":"","sources":["../../src/repository/system.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,gBAAiB,SAAQ,cAAc;IAClD,aAAa,IAAI,SAAS,GAAG,SAAS;IAItC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAOhF,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;CAM/D;AAED,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { BaseRepository } from './base.repository.js';
2
+ export class SystemRepository extends BaseRepository {
3
+ getSystemInfo() {
4
+ return this.queryOne('SELECT * FROM tx_system WHERE id = 1') || undefined;
5
+ }
6
+ insertSystemInfo(deviceId, deviceType, macAddress) {
7
+ this.execute(`INSERT INTO tx_system (id, device_id, device_type, mac_address) VALUES (1, ?, ?, ?)`, [deviceId, deviceType, macAddress]);
8
+ }
9
+ updatePlatformAccount(account, password) {
10
+ this.execute(`UPDATE tx_system SET platform_account = ?, platform_password = ?, updated_at = CURRENT_TIMESTAMP WHERE id = 1`, [account, password]);
11
+ }
12
+ }
13
+ export const systemRepository = new SystemRepository();
14
+ //# sourceMappingURL=system.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.repository.js","sourceRoot":"","sources":["../../src/repository/system.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAatD,MAAM,OAAO,gBAAiB,SAAQ,cAAc;IAClD,aAAa;QACX,OAAO,IAAI,CAAC,QAAQ,CAAY,sCAAsC,CAAC,IAAI,SAAS,CAAC;IACvF,CAAC;IAED,gBAAgB,CAAC,QAAgB,EAAE,UAAkB,EAAE,UAAkB;QACvE,IAAI,CAAC,OAAO,CACV,qFAAqF,EACrF,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CACnC,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,OAAe,EAAE,QAAgB;QACrD,IAAI,CAAC,OAAO,CACV,+GAA+G,EAC/G,CAAC,OAAO,EAAE,QAAQ,CAAC,CACpB,CAAC;IACJ,CAAC;CACF;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,98 @@
1
+ interface Category {
2
+ id: number;
3
+ name: string;
4
+ color: string;
5
+ description: string | null;
6
+ sort_order: number;
7
+ status: number;
8
+ is_system: number;
9
+ created_at: string;
10
+ updated_at: string;
11
+ }
12
+ interface PublishedSkillItem {
13
+ id: number;
14
+ name: string;
15
+ description: string;
16
+ category_id: number;
17
+ tags: string;
18
+ download_count: number;
19
+ latest_version: string;
20
+ icon_url: string | null;
21
+ }
22
+ interface PublishedSkillListData {
23
+ total: number;
24
+ page: number;
25
+ page_size: number;
26
+ list: PublishedSkillItem[];
27
+ }
28
+ interface SpecCategory {
29
+ id: number;
30
+ name: string;
31
+ color: string;
32
+ description: string | null;
33
+ sort_order: number;
34
+ status: number;
35
+ is_system: number;
36
+ created_at: string;
37
+ updated_at: string;
38
+ }
39
+ interface PublishedSpecItem {
40
+ id: number;
41
+ name: string;
42
+ description: string;
43
+ platform_category: string | null;
44
+ category_id: number;
45
+ author_id: number;
46
+ download_count: number;
47
+ latest_version: string;
48
+ status: string;
49
+ color: string | null;
50
+ created_at: string;
51
+ updated_at: string;
52
+ }
53
+ interface PublishedSpecListData {
54
+ total: number;
55
+ page: number;
56
+ page_size: number;
57
+ list: PublishedSpecItem[];
58
+ }
59
+ interface SpecDetail {
60
+ id: number;
61
+ name: string;
62
+ description: string;
63
+ platform_category: string | null;
64
+ content_md: string;
65
+ latest_version: string;
66
+ download_count: number;
67
+ }
68
+ interface LatestVersionInfo {
69
+ version: string;
70
+ version_type: string;
71
+ description: string;
72
+ release_date: string;
73
+ }
74
+ declare class TxcodeHubService {
75
+ fetchCategories(): Promise<Category[]>;
76
+ fetchPublishedSkills(params: {
77
+ page?: number;
78
+ page_size?: number;
79
+ keyword?: string;
80
+ category_id?: number;
81
+ }): Promise<PublishedSkillListData>;
82
+ downloadSkillZip(skillId: number): Promise<Buffer>;
83
+ fetchSpecCategories(): Promise<SpecCategory[]>;
84
+ fetchPublishedSpecs(params: {
85
+ page?: number;
86
+ page_size?: number;
87
+ keyword?: string;
88
+ category_id?: number;
89
+ platform_category?: string;
90
+ }): Promise<PublishedSpecListData>;
91
+ fetchSpecDetail(specId: number): Promise<SpecDetail | null>;
92
+ downloadSpecZip(specId: number): Promise<Buffer>;
93
+ reportUsage(deviceId: string, deviceType: string): Promise<void>;
94
+ fetchLatestVersion(): Promise<LatestVersionInfo | null>;
95
+ }
96
+ export declare const txcodeHubService: TxcodeHubService;
97
+ export type { Category, PublishedSkillItem, PublishedSkillListData, LatestVersionInfo, SpecCategory, PublishedSpecItem, PublishedSpecListData, SpecDetail };
98
+ //# sourceMappingURL=txcode_hub.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"txcode_hub.service.d.ts","sourceRoot":"","sources":["../../../src/services/hub/txcode_hub.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,173 @@
1
+ import * as https from 'node:https';
2
+ import * as http from 'node:http';
3
+ import config from '../../config/tx.config.js';
4
+ let _hubUrl;
5
+ function getHubUrl() {
6
+ if (!_hubUrl) {
7
+ _hubUrl = config.txcodeHub;
8
+ }
9
+ return _hubUrl;
10
+ }
11
+ function httpRequest(method, path, body) {
12
+ return new Promise((resolve, reject) => {
13
+ const hubUrl = getHubUrl();
14
+ const urlStr = hubUrl + path;
15
+ const parsedUrl = new URL(urlStr);
16
+ const isHttps = parsedUrl.protocol === 'https:';
17
+ const requestModule = isHttps ? https : http;
18
+ const bodyStr = body ? JSON.stringify(body) : '';
19
+ const headers = {};
20
+ if (body) {
21
+ headers['Content-Type'] = 'application/json';
22
+ headers['Content-Length'] = String(Buffer.byteLength(bodyStr));
23
+ }
24
+ const req = requestModule.request({
25
+ hostname: parsedUrl.hostname,
26
+ port: parsedUrl.port || (isHttps ? 443 : 80),
27
+ path: parsedUrl.pathname + parsedUrl.search,
28
+ method,
29
+ headers,
30
+ rejectUnauthorized: false,
31
+ timeout: 15000,
32
+ }, (res) => {
33
+ let data = '';
34
+ res.on('data', (chunk) => { data += chunk.toString(); });
35
+ res.on('end', () => {
36
+ try {
37
+ resolve(JSON.parse(data));
38
+ }
39
+ catch {
40
+ reject(new Error(`Invalid JSON response: ${data.substring(0, 200)}`));
41
+ }
42
+ });
43
+ });
44
+ req.on('error', (err) => reject(err));
45
+ req.on('timeout', () => { req.destroy(); reject(new Error('Request timeout')); });
46
+ if (bodyStr) {
47
+ req.write(bodyStr);
48
+ }
49
+ req.end();
50
+ });
51
+ }
52
+ function httpDownload(path) {
53
+ return new Promise((resolve, reject) => {
54
+ const hubUrl = getHubUrl();
55
+ const urlStr = hubUrl + path;
56
+ const parsedUrl = new URL(urlStr);
57
+ const isHttps = parsedUrl.protocol === 'https:';
58
+ const requestModule = isHttps ? https : http;
59
+ const req = requestModule.request({
60
+ hostname: parsedUrl.hostname,
61
+ port: parsedUrl.port || (isHttps ? 443 : 80),
62
+ path: parsedUrl.pathname + parsedUrl.search,
63
+ method: 'GET',
64
+ rejectUnauthorized: false,
65
+ timeout: 60000,
66
+ }, (res) => {
67
+ if (res.statusCode && res.statusCode >= 400) {
68
+ let body = '';
69
+ res.on('data', (chunk) => { body += chunk.toString(); });
70
+ res.on('end', () => reject(new Error(`Download failed: ${res.statusCode} ${body}`)));
71
+ return;
72
+ }
73
+ const chunks = [];
74
+ res.on('data', (chunk) => chunks.push(chunk));
75
+ res.on('end', () => resolve(Buffer.concat(chunks)));
76
+ });
77
+ req.on('error', (err) => reject(err));
78
+ req.on('timeout', () => { req.destroy(); reject(new Error('Download timeout')); });
79
+ req.end();
80
+ });
81
+ }
82
+ class TxcodeHubService {
83
+ async fetchCategories() {
84
+ const res = await httpRequest('GET', '/api/skill_category/list_skill_category');
85
+ if (res.code !== 200) {
86
+ throw new Error(res.message || 'Failed to fetch categories');
87
+ }
88
+ return res.data || [];
89
+ }
90
+ async fetchPublishedSkills(params) {
91
+ const queryParts = [];
92
+ if (params.page)
93
+ queryParts.push(`page=${params.page}`);
94
+ if (params.page_size)
95
+ queryParts.push(`page_size=${params.page_size}`);
96
+ if (params.keyword)
97
+ queryParts.push(`keyword=${encodeURIComponent(params.keyword)}`);
98
+ if (params.category_id)
99
+ queryParts.push(`category_id=${params.category_id}`);
100
+ const query = queryParts.length > 0 ? '?' + queryParts.join('&') : '';
101
+ const res = await httpRequest('GET', '/api/skill/list_published_skill' + query);
102
+ if (res.code !== 200) {
103
+ throw new Error(res.message || 'Failed to fetch published skills');
104
+ }
105
+ return res.data || { total: 0, page: 1, page_size: 20, list: [] };
106
+ }
107
+ async downloadSkillZip(skillId) {
108
+ return httpDownload(`/api/skill/download_skill?id=${skillId}`);
109
+ }
110
+ async fetchSpecCategories() {
111
+ const res = await httpRequest('GET', '/api/spec_category/list_spec_category');
112
+ if (res.code !== 200) {
113
+ throw new Error(res.message || 'Failed to fetch spec categories');
114
+ }
115
+ return res.data || [];
116
+ }
117
+ async fetchPublishedSpecs(params) {
118
+ const queryParts = [];
119
+ if (params.page)
120
+ queryParts.push(`page=${params.page}`);
121
+ if (params.page_size)
122
+ queryParts.push(`page_size=${params.page_size}`);
123
+ if (params.keyword)
124
+ queryParts.push(`keyword=${encodeURIComponent(params.keyword)}`);
125
+ if (params.category_id)
126
+ queryParts.push(`category_id=${params.category_id}`);
127
+ if (params.platform_category)
128
+ queryParts.push(`platform_category=${encodeURIComponent(params.platform_category)}`);
129
+ const query = queryParts.length > 0 ? '?' + queryParts.join('&') : '';
130
+ const res = await httpRequest('GET', '/api/spec/list_published_spec' + query);
131
+ if (res.code !== 200) {
132
+ throw new Error(res.message || 'Failed to fetch published specs');
133
+ }
134
+ return res.data || { total: 0, page: 1, page_size: 20, list: [] };
135
+ }
136
+ async fetchSpecDetail(specId) {
137
+ try {
138
+ const res = await httpRequest('GET', `/api/spec/public_spec_detail?id=${specId}`);
139
+ if (res.code !== 200) {
140
+ return null;
141
+ }
142
+ return res.data || null;
143
+ }
144
+ catch {
145
+ return null;
146
+ }
147
+ }
148
+ async downloadSpecZip(specId) {
149
+ return httpDownload(`/api/spec/download_spec?id=${specId}`);
150
+ }
151
+ async reportUsage(deviceId, deviceType) {
152
+ try {
153
+ await httpRequest('POST', '/api/usage/report_usage', { device_id: deviceId, device_type: deviceType });
154
+ }
155
+ catch {
156
+ // 静默失败
157
+ }
158
+ }
159
+ async fetchLatestVersion() {
160
+ try {
161
+ const res = await httpRequest('GET', '/api/version/list_published_version?page=1&page_size=1');
162
+ if (res.code !== 200 || !res.data?.list?.length) {
163
+ return null;
164
+ }
165
+ return res.data.list[0];
166
+ }
167
+ catch {
168
+ return null;
169
+ }
170
+ }
171
+ }
172
+ export const txcodeHubService = new TxcodeHubService();
173
+ //# sourceMappingURL=txcode_hub.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"txcode_hub.service.js","sourceRoot":"","sources":["../../../src/services/hub/txcode_hub.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ interface StartAuthResult {
2
+ key: string;
3
+ auth_url: string;
4
+ }
5
+ interface VerifyAuthResult {
6
+ active: boolean;
7
+ syncedModels: number;
8
+ }
9
+ interface SyncModelsResult {
10
+ count: number;
11
+ }
12
+ export declare class SongbingService {
13
+ getConfig(): {
14
+ platformUrl: string;
15
+ };
16
+ private getPlatformUrl;
17
+ saveConfig(config: {
18
+ platformUrl: string;
19
+ }): {
20
+ platformUrl: string;
21
+ };
22
+ startAuth(platformUrl: string): Promise<StartAuthResult>;
23
+ verifyAuth(key: string): Promise<VerifyAuthResult>;
24
+ cancelAuth(): Promise<void>;
25
+ syncModels(): Promise<SyncModelsResult>;
26
+ private syncModelsInternal;
27
+ }
28
+ export declare const songbingService: SongbingService;
29
+ export {};
30
+ //# sourceMappingURL=songbing.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"songbing.service.d.ts","sourceRoot":"","sources":["../../../src/services/songbing/songbing.service.ts"],"names":[],"mappings":"AAQA,UAAU,eAAe;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,gBAAgB;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AA6CD,qBAAa,eAAe;IAC1B,SAAS;;;IAKT,OAAO,CAAC,cAAc;IAQtB,UAAU,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE;;;IAKpC,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IA+BxD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsDlD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B,UAAU,IAAI,OAAO,CAAC,gBAAgB,CAAC;YAU/B,kBAAkB;CA8CjC;AAED,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
@@ -0,0 +1,155 @@
1
+ import { configService } from '../config/index.js';
2
+ import { providerAuthRepository } from '../../repository/provider_auth.repository.js';
3
+ import { configRepository } from '../../repository/config.repository.js';
4
+ import txConfig from '../../config/tx.config.js';
5
+ const PROVIDER_NAME = '自建AI平台';
6
+ const CONFIG_KEY_PLATFORM_URL = 'songbing.platformUrl';
7
+ export class SongbingService {
8
+ getConfig() {
9
+ const platformUrl = configService.get(CONFIG_KEY_PLATFORM_URL) || txConfig.songbing.platformUrl || '';
10
+ return { platformUrl };
11
+ }
12
+ getPlatformUrl() {
13
+ const { platformUrl } = this.getConfig();
14
+ if (!platformUrl) {
15
+ throw new Error('未配置松饼AI平台地址');
16
+ }
17
+ return platformUrl;
18
+ }
19
+ saveConfig(config) {
20
+ configService.set(CONFIG_KEY_PLATFORM_URL, config.platformUrl);
21
+ return this.getConfig();
22
+ }
23
+ async startAuth(platformUrl) {
24
+ this.saveConfig({ platformUrl });
25
+ const res = await fetch(`${platformUrl}/api/appkey/generate_appkey`, {
26
+ method: 'POST',
27
+ headers: { 'Content-Type': 'application/json' },
28
+ body: JSON.stringify({}),
29
+ });
30
+ if (!res.ok) {
31
+ throw new Error(`生成认证Key失败: HTTP ${res.status}`);
32
+ }
33
+ const json = (await res.json());
34
+ if (json.code !== 200) {
35
+ throw new Error(`生成认证Key失败: ${json.message}`);
36
+ }
37
+ const { key, auth_url } = json.data;
38
+ providerAuthRepository.upsert({
39
+ id: PROVIDER_NAME,
40
+ providerName: PROVIDER_NAME,
41
+ key,
42
+ authUrl: auth_url,
43
+ active: false,
44
+ });
45
+ return { key, auth_url };
46
+ }
47
+ async verifyAuth(key) {
48
+ const platformUrl = this.getPlatformUrl();
49
+ const res = await fetch(`${platformUrl}/api/appkey/verify_appkey`, {
50
+ method: 'POST',
51
+ headers: { 'Content-Type': 'application/json' },
52
+ body: JSON.stringify({ key }),
53
+ });
54
+ if (!res.ok) {
55
+ throw new Error(`验证Key失败: HTTP ${res.status}`);
56
+ }
57
+ const json = (await res.json());
58
+ if (json.code !== 200) {
59
+ return { active: false, syncedModels: 0 };
60
+ }
61
+ if (!json.data?.active) {
62
+ return { active: false, syncedModels: 0 };
63
+ }
64
+ providerAuthRepository.upsert({
65
+ id: PROVIDER_NAME,
66
+ providerName: PROVIDER_NAME,
67
+ key,
68
+ authUrl: '',
69
+ active: true,
70
+ });
71
+ const existingProvider = configRepository.listProviders().find(p => p.name === PROVIDER_NAME);
72
+ let providerId;
73
+ if (existingProvider) {
74
+ configRepository.updateProvider(existingProvider.id, { apiKey: key });
75
+ providerId = existingProvider.id;
76
+ }
77
+ else {
78
+ providerId = configRepository.insertProvider({
79
+ name: PROVIDER_NAME,
80
+ apiKey: key,
81
+ baseUrl: platformUrl + '/api/v1',
82
+ enabled: true,
83
+ });
84
+ }
85
+ let syncedModels = 0;
86
+ try {
87
+ syncedModels = await this.syncModelsInternal(providerId, platformUrl);
88
+ }
89
+ catch {
90
+ // 模型同步失败不影响认证成功
91
+ }
92
+ return { active: true, syncedModels };
93
+ }
94
+ async cancelAuth() {
95
+ providerAuthRepository.delete(PROVIDER_NAME);
96
+ const provider = configRepository.listProviders().find(p => p.name === PROVIDER_NAME);
97
+ if (provider) {
98
+ const models = configRepository.listModels(provider.id);
99
+ for (const m of models) {
100
+ configRepository.deleteModel(m.id);
101
+ }
102
+ configRepository.deleteProvider(provider.id);
103
+ }
104
+ }
105
+ async syncModels() {
106
+ const provider = configRepository.listProviders().find(p => p.name === PROVIDER_NAME);
107
+ if (!provider) {
108
+ throw new Error('未找到自建AI平台提供商,请先完成认证');
109
+ }
110
+ const platformUrl = this.getPlatformUrl();
111
+ const count = await this.syncModelsInternal(provider.id, platformUrl);
112
+ return { count };
113
+ }
114
+ async syncModelsInternal(providerId, platformUrl) {
115
+ const res = await fetch(`${platformUrl}/api/common/scene_models`, {
116
+ method: 'GET',
117
+ });
118
+ if (!res.ok) {
119
+ throw new Error(`获取模型列表失败: HTTP ${res.status}`);
120
+ }
121
+ const json = (await res.json());
122
+ if (json.code !== 200) {
123
+ throw new Error(`获取模型列表失败: ${json.message}`);
124
+ }
125
+ const scenes = json.data || [];
126
+ const allModels = [];
127
+ for (const scene of scenes) {
128
+ if (scene.models && Array.isArray(scene.models)) {
129
+ allModels.push(...scene.models);
130
+ }
131
+ }
132
+ if (allModels.length === 0) {
133
+ return 0;
134
+ }
135
+ const existingModels = configRepository.listModels(providerId);
136
+ const existingNames = new Set(existingModels.map(m => m.name));
137
+ let count = 0;
138
+ for (const m of allModels) {
139
+ const modelName = m.model_name;
140
+ if (!existingNames.has(modelName)) {
141
+ configRepository.insertModel({
142
+ providerId,
143
+ name: modelName,
144
+ contextWindow: 4096,
145
+ maxOutputTokens: 4096,
146
+ enabled: true,
147
+ });
148
+ count++;
149
+ }
150
+ }
151
+ return count;
152
+ }
153
+ }
154
+ export const songbingService = new SongbingService();
155
+ //# sourceMappingURL=songbing.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"songbing.service.js","sourceRoot":"","sources":["../../../src/services/songbing/songbing.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AAEjD,MAAM,aAAa,GAAG,QAAQ,CAAC;AAC/B,MAAM,uBAAuB,GAAG,sBAAsB,CAAC;AA2DvD,MAAM,OAAO,eAAe;IAC1B,SAAS;QACP,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAS,uBAAuB,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;QAC9G,OAAO,EAAE,WAAW,EAAE,CAAC;IACzB,CAAC;IAEO,cAAc;QACpB,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACzC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,UAAU,CAAC,MAA+B;QACxC,aAAa,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,WAAmB;QACjC,IAAI,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QAEjC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,WAAW,6BAA6B,EAAE;YACnE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;SACzB,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA2B,CAAC;QAC1D,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAEpC,sBAAsB,CAAC,MAAM,CAAC;YAC5B,EAAE,EAAE,aAAa;YACjB,YAAY,EAAE,aAAa;YAC3B,GAAG;YACH,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAW;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAE1C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,WAAW,2BAA2B,EAAE;YACjE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyB,CAAC;QACxD,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;YACtB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YACvB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;QAC5C,CAAC;QAED,sBAAsB,CAAC,MAAM,CAAC;YAC5B,EAAE,EAAE,aAAa;YACjB,YAAY,EAAE,aAAa;YAC3B,GAAG;YACH,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QAC9F,IAAI,UAAkB,CAAC;QACvB,IAAI,gBAAgB,EAAE,CAAC;YACrB,gBAAgB,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACtE,UAAU,GAAG,gBAAgB,CAAC,EAAE,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,gBAAgB,CAAC,cAAc,CAAC;gBAC3C,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,WAAW,GAAG,SAAS;gBAChC,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC;QAED,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC;YACH,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACxE,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,sBAAsB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAE7C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QACtF,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACxD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC;YACD,gBAAgB,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,QAAQ,GAAG,gBAAgB,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QACtF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QACtE,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,UAAkB,EAAE,WAAmB;QACtE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,WAAW,0BAA0B,EAAE;YAChE,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAwB,CAAC;QACvD,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAiB,EAAE,CAAC;QACnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChD,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,cAAc,GAAG,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC/D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/D,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC;YAC/B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,gBAAgB,CAAC,WAAW,CAAC;oBAC3B,UAAU;oBACV,IAAI,EAAE,SAAS;oBACf,aAAa,EAAE,IAAI;oBACnB,eAAe,EAAE,IAAI;oBACrB,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;gBACH,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function syncOnStartup(): void;
2
+ //# sourceMappingURL=device-sync.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-sync.service.d.ts","sourceRoot":"","sources":["../../../src/services/system/device-sync.service.ts"],"names":[],"mappings":"AA+BA,wBAAgB,aAAa,IAAI,IAAI,CAoBpC"}