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.
- package/dist/config/tx.config.d.ts.map +1 -1
- package/dist/config/tx.config.js +3 -1
- package/dist/config/tx.config.js.map +1 -1
- package/dist/core/db/db.service.d.ts +2 -0
- package/dist/core/db/db.service.d.ts.map +1 -1
- package/dist/core/db/db.service.js +11 -0
- package/dist/core/db/db.service.js.map +1 -1
- package/dist/core/db/init_sql/system.init.d.ts +3 -0
- package/dist/core/db/init_sql/system.init.d.ts.map +1 -0
- package/dist/core/db/init_sql/system.init.js +15 -0
- package/dist/core/db/init_sql/system.init.js.map +1 -0
- package/dist/entity/tx-config.entity.d.ts +1 -0
- package/dist/entity/tx-config.entity.d.ts.map +1 -1
- package/dist/gateway/api/file/download_file.js +1 -1
- package/dist/gateway/api/file/download_file.js.map +1 -1
- package/dist/gateway/api/skill/categories_skill.d.ts +3 -0
- package/dist/gateway/api/skill/categories_skill.d.ts.map +1 -0
- package/dist/gateway/api/skill/categories_skill.js +11 -0
- package/dist/gateway/api/skill/categories_skill.js.map +1 -0
- package/dist/gateway/api/skill/detail_skill.js +2 -2
- package/dist/gateway/api/skill/detail_skill.js.map +1 -1
- package/dist/gateway/api/skill/install_skill.d.ts +3 -0
- package/dist/gateway/api/skill/install_skill.d.ts.map +1 -0
- package/dist/gateway/api/skill/install_skill.js +26 -0
- package/dist/gateway/api/skill/install_skill.js.map +1 -0
- package/dist/gateway/api/skill/published_skill.d.ts +3 -0
- package/dist/gateway/api/skill/published_skill.d.ts.map +1 -0
- package/dist/gateway/api/skill/published_skill.js +15 -0
- package/dist/gateway/api/skill/published_skill.js.map +1 -0
- package/dist/gateway/api/skill/skill_routes.d.ts.map +1 -1
- package/dist/gateway/api/skill/skill_routes.js +8 -12
- package/dist/gateway/api/skill/skill_routes.js.map +1 -1
- package/dist/gateway/api/skill/uninstall_skill.d.ts +3 -0
- package/dist/gateway/api/skill/uninstall_skill.d.ts.map +1 -0
- package/dist/gateway/api/skill/uninstall_skill.js +20 -0
- package/dist/gateway/api/skill/uninstall_skill.js.map +1 -0
- package/dist/gateway/api/songbing/auth_cancel_songbing.d.ts +3 -0
- package/dist/gateway/api/songbing/auth_cancel_songbing.d.ts.map +1 -0
- package/dist/gateway/api/songbing/auth_cancel_songbing.js +11 -0
- package/dist/gateway/api/songbing/auth_cancel_songbing.js.map +1 -0
- package/dist/gateway/api/songbing/auth_start_songbing.d.ts +3 -0
- package/dist/gateway/api/songbing/auth_start_songbing.d.ts.map +1 -0
- package/dist/gateway/api/songbing/auth_start_songbing.js +15 -0
- package/dist/gateway/api/songbing/auth_start_songbing.js.map +1 -0
- package/dist/gateway/api/songbing/auth_verify_songbing.d.ts +3 -0
- package/dist/gateway/api/songbing/auth_verify_songbing.d.ts.map +1 -0
- package/dist/gateway/api/songbing/auth_verify_songbing.js +15 -0
- package/dist/gateway/api/songbing/auth_verify_songbing.js.map +1 -0
- package/dist/gateway/api/songbing/config_songbing.d.ts +3 -0
- package/dist/gateway/api/songbing/config_songbing.d.ts.map +1 -0
- package/dist/gateway/api/songbing/config_songbing.js +6 -0
- package/dist/gateway/api/songbing/config_songbing.js.map +1 -0
- package/dist/gateway/api/songbing/save_config_songbing.d.ts +3 -0
- package/dist/gateway/api/songbing/save_config_songbing.d.ts.map +1 -0
- package/dist/gateway/api/songbing/save_config_songbing.js +12 -0
- package/dist/gateway/api/songbing/save_config_songbing.js.map +1 -0
- package/dist/gateway/api/songbing/songbing_routes.d.ts +3 -0
- package/dist/gateway/api/songbing/songbing_routes.d.ts.map +1 -0
- package/dist/gateway/api/songbing/songbing_routes.js +15 -0
- package/dist/gateway/api/songbing/songbing_routes.js.map +1 -0
- package/dist/gateway/api/songbing/sync_models_songbing.d.ts +3 -0
- package/dist/gateway/api/songbing/sync_models_songbing.d.ts.map +1 -0
- package/dist/gateway/api/songbing/sync_models_songbing.js +11 -0
- package/dist/gateway/api/songbing/sync_models_songbing.js.map +1 -0
- package/dist/gateway/api/spec/categories_spec.d.ts +3 -0
- package/dist/gateway/api/spec/categories_spec.d.ts.map +1 -0
- package/dist/gateway/api/spec/categories_spec.js +11 -0
- package/dist/gateway/api/spec/categories_spec.js.map +1 -0
- package/dist/gateway/api/spec/install_spec.d.ts +3 -0
- package/dist/gateway/api/spec/install_spec.d.ts.map +1 -0
- package/dist/gateway/api/spec/install_spec.js +26 -0
- package/dist/gateway/api/spec/install_spec.js.map +1 -0
- package/dist/gateway/api/spec/published_spec.d.ts +3 -0
- package/dist/gateway/api/spec/published_spec.d.ts.map +1 -0
- package/dist/gateway/api/spec/published_spec.js +18 -0
- package/dist/gateway/api/spec/published_spec.js.map +1 -0
- package/dist/gateway/api/spec/spec_routes.d.ts.map +1 -1
- package/dist/gateway/api/spec/spec_routes.js +9 -19
- package/dist/gateway/api/spec/spec_routes.js.map +1 -1
- package/dist/gateway/api/spec/uninstall_spec.d.ts +3 -0
- package/dist/gateway/api/spec/uninstall_spec.d.ts.map +1 -0
- package/dist/gateway/api/spec/uninstall_spec.js +20 -0
- package/dist/gateway/api/spec/uninstall_spec.js.map +1 -0
- package/dist/gateway/api/system/system_routes.d.ts.map +1 -1
- package/dist/gateway/api/system/system_routes.js +2 -0
- package/dist/gateway/api/system/system_routes.js.map +1 -1
- package/dist/gateway/api/system/version_check.d.ts +3 -0
- package/dist/gateway/api/system/version_check.d.ts.map +1 -0
- package/dist/gateway/api/system/version_check.js +47 -0
- package/dist/gateway/api/system/version_check.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/modules/spec/index.d.ts +0 -1
- package/dist/modules/spec/index.d.ts.map +1 -1
- package/dist/modules/spec/index.js +0 -1
- package/dist/modules/spec/index.js.map +1 -1
- package/dist/modules/spec/spec.injector.d.ts.map +1 -1
- package/dist/modules/spec/spec.injector.js +2 -24
- package/dist/modules/spec/spec.injector.js.map +1 -1
- package/dist/queue/dream/dream.service.d.ts.map +1 -1
- package/dist/queue/dream/dream.service.js +8 -0
- package/dist/queue/dream/dream.service.js.map +1 -1
- package/dist/queue/dream/handlers/clear-session.handler.d.ts +6 -0
- package/dist/queue/dream/handlers/clear-session.handler.d.ts.map +1 -0
- package/dist/queue/dream/handlers/clear-session.handler.js +50 -0
- package/dist/queue/dream/handlers/clear-session.handler.js.map +1 -0
- package/dist/queue/dream/handlers/init.handler.d.ts.map +1 -1
- package/dist/queue/dream/handlers/init.handler.js +4 -2
- package/dist/queue/dream/handlers/init.handler.js.map +1 -1
- package/dist/repository/index.d.ts +2 -0
- package/dist/repository/index.d.ts.map +1 -1
- package/dist/repository/index.js +1 -0
- package/dist/repository/index.js.map +1 -1
- package/dist/repository/message.repository.d.ts +2 -0
- package/dist/repository/message.repository.d.ts.map +1 -1
- package/dist/repository/message.repository.js +8 -0
- package/dist/repository/message.repository.js.map +1 -1
- package/dist/repository/system.repository.d.ts +18 -0
- package/dist/repository/system.repository.d.ts.map +1 -0
- package/dist/repository/system.repository.js +14 -0
- package/dist/repository/system.repository.js.map +1 -0
- package/dist/services/hub/txcode_hub.service.d.ts +98 -0
- package/dist/services/hub/txcode_hub.service.d.ts.map +1 -0
- package/dist/services/hub/txcode_hub.service.js +173 -0
- package/dist/services/hub/txcode_hub.service.js.map +1 -0
- package/dist/services/songbing/songbing.service.d.ts +30 -0
- package/dist/services/songbing/songbing.service.d.ts.map +1 -0
- package/dist/services/songbing/songbing.service.js +155 -0
- package/dist/services/songbing/songbing.service.js.map +1 -0
- package/dist/services/system/device-sync.service.d.ts +2 -0
- package/dist/services/system/device-sync.service.d.ts.map +1 -0
- package/dist/services/system/device-sync.service.js +51 -0
- package/dist/services/system/device-sync.service.js.map +1 -0
- package/package.json +2 -1
- package/web/dist/assets/{ConfirmDialog-B03GcCHQ.js → ConfirmDialog-IKK1F-1U.js} +1 -1
- package/web/dist/assets/PcLayout-CLW13hCk.js +1 -0
- package/web/dist/assets/{aiLogsView-Bt8Xg1Qx.js → aiLogsView-D6QEk_U9.js} +1 -1
- package/web/dist/assets/{cssMode-CBb6D87U.js → cssMode-QPobA5wX.js} +1 -1
- package/web/dist/assets/{customActionsView-DdjnHzwm.js → customActionsView-ClRg3U7-.js} +1 -1
- package/web/dist/assets/{deployView-Cj51_Job.js → deployView-DUWf2jhH.js} +1 -1
- package/web/dist/assets/designView-BjjT_eB5.css +1 -0
- package/web/dist/assets/designView-DKuJizPM.js +18 -0
- package/web/dist/assets/devWorkflowView-CNmKhVZJ.js +36 -0
- package/web/dist/assets/devWorkflowView-CiSrMRlP.css +1 -0
- package/web/dist/assets/{devWorkflowViewApp-DLslXEq9.js → devWorkflowViewApp-C61Ulpxv.js} +1 -1
- package/web/dist/assets/{fileZihao-CtZ4bUIH.js → fileZihao-BTpK560o.js} +1 -1
- package/web/dist/assets/{freemarker2-CX3jc3l2.js → freemarker2-DvYwU7jd.js} +1 -1
- package/web/dist/assets/gitChanges-5Yut6NPa.css +1 -0
- package/web/dist/assets/gitChanges-CRoMAiCZ.js +2 -0
- package/web/dist/assets/{gitChangesApp-ZI7-V8oB.js → gitChangesApp-DWWUQkP3.js} +1 -1
- package/web/dist/assets/{handlebars-CTaQD6FN.js → handlebars-CK4TZqgf.js} +1 -1
- package/web/dist/assets/{html-BruJsfYv.js → html-Dyb2cBd1.js} +1 -1
- package/web/dist/assets/{htmlMode-wewroXLr.js → htmlMode-BgucwytQ.js} +1 -1
- package/web/dist/assets/{index-C0xmVTIn.css → index-CLl7xUVM.css} +1 -1
- package/web/dist/assets/{index-Cn73hS12.js → index-CUBJZpK-.js} +195 -195
- package/web/dist/assets/{javascript-B4ku8P1-.js → javascript-C2N5q77q.js} +1 -1
- package/web/dist/assets/{jsonMode-BIvVuBMG.js → jsonMode-CROJscjh.js} +1 -1
- package/web/dist/assets/{liquid-Bo3G0Ep7.js → liquid-BbMQX3iL.js} +1 -1
- package/web/dist/assets/{mdx-Duv0ylZz.js → mdx-DJKFF9Ub.js} +1 -1
- package/web/dist/assets/{mediaChat-RT7iqqYb.js → mediaChat-DHxUlCTa.js} +1 -1
- package/web/dist/assets/{python-CEhCctGm.js → python-DVBiUABc.js} +1 -1
- package/web/dist/assets/{razor-DPK8nTD7.js → razor-BFkZw5AO.js} +1 -1
- package/web/dist/assets/taskView-Bg6voWmj.js +1 -0
- package/web/dist/assets/{terminalView-GTYtDlus.js → terminalView-DJPI44tU.js} +1 -1
- package/web/dist/assets/{tsMode-BZvUU1nf.js → tsMode-CQoCUTDo.js} +1 -1
- package/web/dist/assets/{typescript-CmEn-k1B.js → typescript-DrsQGMkk.js} +1 -1
- package/web/dist/assets/wikiView-B-OhVpHv.css +1 -0
- package/web/dist/assets/{wikiView-CRjg-cZ8.js → wikiView-DyH2kquo.js} +1 -1
- package/web/dist/assets/{xml-bjvdKeyy.js → xml-BtAJQIGO.js} +1 -1
- package/web/dist/assets/{yaml-N5RXWxJk.js → yaml-vvMVX3ro.js} +1 -1
- package/web/dist/index.html +2 -2
- package/web/dist/assets/PcLayout-ZTdJNg7G.js +0 -1
- package/web/dist/assets/designView-C3pSX4nP.css +0 -1
- package/web/dist/assets/designView-RT8tKEN9.js +0 -18
- package/web/dist/assets/devWorkflowView-BTozmaiN.js +0 -36
- package/web/dist/assets/devWorkflowView-DYhIfbCB.css +0 -1
- package/web/dist/assets/gitChanges-D6QxPcii.css +0 -1
- package/web/dist/assets/gitChanges-DFRvzL5I.js +0 -2
- package/web/dist/assets/taskView-sOyebRqn.js +0 -1
- package/web/dist/assets/wikiView-C-oqMnJM.css +0 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as config_songbing from './config_songbing.js';
|
|
2
|
+
import * as save_config_songbing from './save_config_songbing.js';
|
|
3
|
+
import * as auth_start_songbing from './auth_start_songbing.js';
|
|
4
|
+
import * as auth_verify_songbing from './auth_verify_songbing.js';
|
|
5
|
+
import * as auth_cancel_songbing from './auth_cancel_songbing.js';
|
|
6
|
+
import * as sync_models_songbing from './sync_models_songbing.js';
|
|
7
|
+
export function registerRoutes(router) {
|
|
8
|
+
router.get('/songbing/config_songbing', config_songbing.GET);
|
|
9
|
+
router.post('/songbing/config_songbing', save_config_songbing.POST);
|
|
10
|
+
router.post('/songbing/auth_start_songbing', auth_start_songbing.POST);
|
|
11
|
+
router.post('/songbing/auth_verify_songbing', auth_verify_songbing.POST);
|
|
12
|
+
router.post('/songbing/auth_cancel_songbing', auth_cancel_songbing.POST);
|
|
13
|
+
router.post('/songbing/sync_models_songbing', sync_models_songbing.POST);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=songbing_routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"songbing_routes.js","sourceRoot":"","sources":["../../../../src/gateway/api/songbing/songbing_routes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,oBAAoB,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,oBAAoB,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,oBAAoB,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,oBAAoB,MAAM,2BAA2B,CAAC;AAElE,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,CAAC,GAAG,CAAC,2BAA2B,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;IAC7D,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACvE,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACzE,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACzE,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;AAC3E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync_models_songbing.d.ts","sourceRoot":"","sources":["../../../../src/gateway/api/songbing/sync_models_songbing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG5C,wBAAsB,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,iBAOtD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { songbingService } from '../../../services/songbing/songbing.service.js';
|
|
2
|
+
export async function POST(_req, res) {
|
|
3
|
+
try {
|
|
4
|
+
const data = await songbingService.syncModels();
|
|
5
|
+
res.json({ success: true, data });
|
|
6
|
+
}
|
|
7
|
+
catch (e) {
|
|
8
|
+
res.status(500).json({ success: false, error: e.message });
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=sync_models_songbing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync_models_songbing.js","sourceRoot":"","sources":["../../../../src/gateway/api/songbing/sync_models_songbing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAEjF,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAa,EAAE,GAAa;IACrD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,CAAC;QAChD,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"categories_spec.d.ts","sourceRoot":"","sources":["../../../../src/gateway/api/spec/categories_spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG5C,wBAAsB,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,iBAOrD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { txcodeHubService } from '../../../services/hub/txcode_hub.service.js';
|
|
2
|
+
export async function GET(_req, res) {
|
|
3
|
+
try {
|
|
4
|
+
const categories = await txcodeHubService.fetchSpecCategories();
|
|
5
|
+
res.json({ success: true, data: categories });
|
|
6
|
+
}
|
|
7
|
+
catch (e) {
|
|
8
|
+
res.status(500).json({ success: false, error: e.message || 'Failed to fetch spec categories' });
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=categories_spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"categories_spec.js","sourceRoot":"","sources":["../../../../src/gateway/api/spec/categories_spec.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAE/E,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAa,EAAE,GAAa;IACpD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,mBAAmB,EAAE,CAAC;QAChE,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,IAAI,iCAAiC,EAAE,CAAC,CAAC;IAClG,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install_spec.d.ts","sourceRoot":"","sources":["../../../../src/gateway/api/spec/install_spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAO5C,wBAAsB,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,2DAwBrD"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
import * as fs from 'fs';
|
|
3
|
+
import AdmZip from 'adm-zip';
|
|
4
|
+
import { txcodeHubService } from '../../../services/hub/txcode_hub.service.js';
|
|
5
|
+
import { projectService } from '../../../services/project/project.service.js';
|
|
6
|
+
export async function POST(req, res) {
|
|
7
|
+
const { specId, specName } = req.body;
|
|
8
|
+
if (!specId || !specName) {
|
|
9
|
+
return res.status(400).json({ success: false, error: 'specId 和 specName 必填' });
|
|
10
|
+
}
|
|
11
|
+
try {
|
|
12
|
+
const zipBuffer = await txcodeHubService.downloadSpecZip(Number(specId));
|
|
13
|
+
const projectPath = projectService.getCurrentProjectPath();
|
|
14
|
+
const specsDir = path.join(projectPath, '.txcode', 'specs', specName);
|
|
15
|
+
if (!fs.existsSync(path.dirname(specsDir))) {
|
|
16
|
+
fs.mkdirSync(path.dirname(specsDir), { recursive: true });
|
|
17
|
+
}
|
|
18
|
+
const zip = new AdmZip(zipBuffer);
|
|
19
|
+
zip.extractAllTo(specsDir, true);
|
|
20
|
+
res.json({ success: true, message: '安装成功' });
|
|
21
|
+
}
|
|
22
|
+
catch (e) {
|
|
23
|
+
res.status(500).json({ success: false, error: e.message || '安装失败' });
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=install_spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install_spec.js","sourceRoot":"","sources":["../../../../src/gateway/api/spec/install_spec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAE9E,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,GAAY,EAAE,GAAa;IACpD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;IAEtC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAEzE,MAAM,WAAW,GAAG,cAAc,CAAC,qBAAqB,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEtE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC3C,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAEjC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,IAAI,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"published_spec.d.ts","sourceRoot":"","sources":["../../../../src/gateway/api/spec/published_spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG5C,wBAAsB,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,iBAepD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { txcodeHubService } from '../../../services/hub/txcode_hub.service.js';
|
|
2
|
+
export async function GET(req, res) {
|
|
3
|
+
try {
|
|
4
|
+
const page = parseInt(req.query.page) || 1;
|
|
5
|
+
const page_size = parseInt(req.query.page_size) || 20;
|
|
6
|
+
const keyword = req.query.keyword;
|
|
7
|
+
const category_id = req.query.category_id ? parseInt(req.query.category_id) : undefined;
|
|
8
|
+
const platform_category = req.query.platform_category;
|
|
9
|
+
const data = await txcodeHubService.fetchPublishedSpecs({
|
|
10
|
+
page, page_size, keyword, category_id, platform_category
|
|
11
|
+
});
|
|
12
|
+
res.json({ success: true, data });
|
|
13
|
+
}
|
|
14
|
+
catch (e) {
|
|
15
|
+
res.status(500).json({ success: false, error: e.message || 'Failed to fetch published specs' });
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=published_spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"published_spec.js","sourceRoot":"","sources":["../../../../src/gateway/api/spec/published_spec.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAE/E,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,GAAY,EAAE,GAAa;IACnD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAc,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAmB,CAAC,IAAI,EAAE,CAAC;QAChE,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,OAA6B,CAAC;QACxD,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,WAAqB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClG,MAAM,iBAAiB,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAuC,CAAC;QAE5E,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,mBAAmB,CAAC;YACtD,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB;SACzD,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,IAAI,iCAAiC,EAAE,CAAC,CAAC;IAClG,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec_routes.d.ts","sourceRoot":"","sources":["../../../../src/gateway/api/spec/spec_routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"spec_routes.d.ts","sourceRoot":"","sources":["../../../../src/gateway/api/spec/spec_routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAWjC,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,QAS5C"}
|
|
@@ -1,27 +1,17 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as
|
|
1
|
+
import * as categories_spec from './categories_spec.js';
|
|
2
|
+
import * as published_spec from './published_spec.js';
|
|
3
|
+
import * as install_spec from './install_spec.js';
|
|
4
|
+
import * as uninstall_spec from './uninstall_spec.js';
|
|
3
5
|
import * as delete_spec from './delete_spec.js';
|
|
4
6
|
import * as detail_spec from './detail_spec.js';
|
|
5
|
-
import * as download_repo_spec from './download_repo_spec.js';
|
|
6
|
-
import * as inject_spec from './inject_spec.js';
|
|
7
|
-
import * as injection_spec from './injection_spec.js';
|
|
8
7
|
import * as local_spec from './local_spec.js';
|
|
9
|
-
import * as repositories_spec from './repositories_spec.js';
|
|
10
|
-
import * as sync_repo_spec from './sync_repo_spec.js';
|
|
11
|
-
import * as update_repo_spec from './update_repo_spec.js';
|
|
12
|
-
import * as upload_spec from './upload_spec.js';
|
|
13
8
|
export function registerRoutes(router) {
|
|
14
|
-
router.
|
|
15
|
-
router.
|
|
16
|
-
router.post('/spec/
|
|
9
|
+
router.get('/spec/categories', categories_spec.GET);
|
|
10
|
+
router.get('/spec/published', published_spec.GET);
|
|
11
|
+
router.post('/spec/install', install_spec.POST);
|
|
12
|
+
router.post('/spec/uninstall', uninstall_spec.POST);
|
|
17
13
|
router.get('/spec/detail_spec', detail_spec.GET);
|
|
18
|
-
router.post('/spec/download_repo_spec', download_repo_spec.POST);
|
|
19
|
-
router.post('/spec/inject_spec', inject_spec.POST);
|
|
20
|
-
router.get('/spec/injection_spec', injection_spec.GET);
|
|
21
14
|
router.get('/spec/local_spec', local_spec.GET);
|
|
22
|
-
router.
|
|
23
|
-
router.post('/spec/sync_repo_spec', sync_repo_spec.POST);
|
|
24
|
-
router.post('/spec/update_repo_spec', update_repo_spec.POST);
|
|
25
|
-
router.post('/spec/upload_spec', upload_spec.POST);
|
|
15
|
+
router.post('/spec/delete_spec', delete_spec.POST);
|
|
26
16
|
}
|
|
27
17
|
//# sourceMappingURL=spec_routes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec_routes.js","sourceRoot":"","sources":["../../../../src/gateway/api/spec/spec_routes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"spec_routes.js","sourceRoot":"","sources":["../../../../src/gateway/api/spec/spec_routes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAE9C,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;IACpD,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAEpD,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uninstall_spec.d.ts","sourceRoot":"","sources":["../../../../src/gateway/api/spec/uninstall_spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI5C,wBAAsB,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,2DAiBrD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { specManager } from '../../../modules/spec/index.js';
|
|
2
|
+
import { projectService } from '../../../services/project/project.service.js';
|
|
3
|
+
export async function POST(req, res) {
|
|
4
|
+
const { specName } = req.body;
|
|
5
|
+
if (!specName) {
|
|
6
|
+
return res.status(400).json({ success: false, error: 'specName 必填' });
|
|
7
|
+
}
|
|
8
|
+
try {
|
|
9
|
+
specManager.setProjectPath(projectService.getCurrentProjectPath());
|
|
10
|
+
const success = specManager.deleteSpec(specName);
|
|
11
|
+
if (!success) {
|
|
12
|
+
return res.status(404).json({ success: false, error: '规范不存在或删除失败' });
|
|
13
|
+
}
|
|
14
|
+
res.json({ success: true, message: '卸载成功' });
|
|
15
|
+
}
|
|
16
|
+
catch (e) {
|
|
17
|
+
res.status(500).json({ success: false, error: e.message || '卸载失败' });
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=uninstall_spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uninstall_spec.js","sourceRoot":"","sources":["../../../../src/gateway/api/spec/uninstall_spec.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAE9E,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,GAAY,EAAE,GAAa;IACpD,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;IAE9B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,CAAC;QACH,WAAW,CAAC,cAAc,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,IAAI,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system_routes.d.ts","sourceRoot":"","sources":["../../../../src/gateway/api/system/system_routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"system_routes.d.ts","sourceRoot":"","sources":["../../../../src/gateway/api/system/system_routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAKjC,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,QAG5C"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import * as info_system from './info_system.js';
|
|
2
|
+
import * as version_check from './version_check.js';
|
|
2
3
|
export function registerRoutes(router) {
|
|
3
4
|
router.get('/system/info_system', info_system.GET);
|
|
5
|
+
router.get('/system/version_check', version_check.GET);
|
|
4
6
|
}
|
|
5
7
|
//# sourceMappingURL=system_routes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system_routes.js","sourceRoot":"","sources":["../../../../src/gateway/api/system/system_routes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"system_routes.js","sourceRoot":"","sources":["../../../../src/gateway/api/system/system_routes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AAEpD,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version_check.d.ts","sourceRoot":"","sources":["../../../../src/gateway/api/system/version_check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAkC5C,wBAAsB,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,iBA8BrD"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { getVersion } from '../../../utils/version.js';
|
|
2
|
+
import { txcodeHubService } from '../../../services/hub/txcode_hub.service.js';
|
|
3
|
+
function stripV(version) {
|
|
4
|
+
return version.replace(/^v/i, '');
|
|
5
|
+
}
|
|
6
|
+
function compareSemver(v1, v2) {
|
|
7
|
+
const parts1 = v1.split('.').map(Number);
|
|
8
|
+
const parts2 = v2.split('.').map(Number);
|
|
9
|
+
for (let i = 0; i < 3; i++) {
|
|
10
|
+
const a = parts1[i] || 0;
|
|
11
|
+
const b = parts2[i] || 0;
|
|
12
|
+
if (a > b)
|
|
13
|
+
return 1;
|
|
14
|
+
if (a < b)
|
|
15
|
+
return -1;
|
|
16
|
+
}
|
|
17
|
+
return 0;
|
|
18
|
+
}
|
|
19
|
+
export async function GET(_req, res) {
|
|
20
|
+
const localVersion = getVersion();
|
|
21
|
+
let latestVersion = localVersion;
|
|
22
|
+
let hasUpdate = false;
|
|
23
|
+
let latestInfo = null;
|
|
24
|
+
try {
|
|
25
|
+
const info = await txcodeHubService.fetchLatestVersion();
|
|
26
|
+
if (info) {
|
|
27
|
+
latestVersion = stripV(info.version);
|
|
28
|
+
latestInfo = info;
|
|
29
|
+
const local = stripV(localVersion);
|
|
30
|
+
const latest = stripV(info.version);
|
|
31
|
+
if (compareSemver(local, latest) < 0) {
|
|
32
|
+
hasUpdate = true;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
hasUpdate = false;
|
|
38
|
+
}
|
|
39
|
+
const result = {
|
|
40
|
+
localVersion,
|
|
41
|
+
latestVersion,
|
|
42
|
+
hasUpdate,
|
|
43
|
+
latestInfo,
|
|
44
|
+
};
|
|
45
|
+
res.json({ success: true, data: result });
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=version_check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version_check.js","sourceRoot":"","sources":["../../../../src/gateway/api/system/version_check.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAgB/E,SAAS,MAAM,CAAC,OAAe;IAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,aAAa,CAAC,EAAU,EAAE,EAAU;IAC3C,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC;QACpB,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAa,EAAE,GAAa;IACpD,MAAM,YAAY,GAAG,UAAU,EAAE,CAAC;IAElC,IAAI,aAAa,GAAG,YAAY,CAAC;IACjC,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,UAAU,GAA6B,IAAI,CAAC;IAEhD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;QACzD,IAAI,IAAI,EAAE,CAAC;YACT,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrC,UAAU,GAAG,IAAI,CAAC;YAClB,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrC,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,SAAS,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,MAAM,MAAM,GAAuB;QACjC,YAAY;QACZ,aAAa;QACb,SAAS;QACT,UAAU;KACX,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAC5C,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -29,6 +29,8 @@ async function main() {
|
|
|
29
29
|
const args = parseArgs(process.argv);
|
|
30
30
|
await dbService.init();
|
|
31
31
|
projectService.createOrGetProject();
|
|
32
|
+
const { syncOnStartup } = await import('./services/system/device-sync.service.js');
|
|
33
|
+
syncOnStartup();
|
|
32
34
|
if (args.command === 'web') {
|
|
33
35
|
const net = await import('net');
|
|
34
36
|
async function findAvailablePort(port) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAEvE;;;;;;;;;;GAUG;AACH,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;IACvB,cAAc,CAAC,kBAAkB,EAAE,CAAC;IAEpC,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;QAEhC,KAAK,UAAU,iBAAiB,CAAC,IAAY;YAC3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;gBAClC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;oBACvB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;oBAC5B,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;oBACnD,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACpB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,aAAa,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,aAAa,aAAa,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC;QACjD,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN;;;;;;;;;;;;;;;;;;WAkBG;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAExD,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED,6BAA6B;AAC7B,qBAAqB;AACrB,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAEvE;;;;;;;;;;GAUG;AACH,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;IACvB,cAAc,CAAC,kBAAkB,EAAE,CAAC;IAEpC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,0CAA0C,CAAC,CAAC;IACnF,aAAa,EAAE,CAAC;IAEhB,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;QAEhC,KAAK,UAAU,iBAAiB,CAAC,IAAY;YAC3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;gBAClC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;oBACvB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;oBAC5B,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;oBACnD,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACpB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,aAAa,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,aAAa,aAAa,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC;QACjD,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN;;;;;;;;;;;;;;;;;;WAkBG;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAExD,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED,6BAA6B;AAC7B,qBAAqB;AACrB,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/spec/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/spec/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/spec/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/spec/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.injector.d.ts","sourceRoot":"","sources":["../../../src/modules/spec/spec.injector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,qBAAa,YAAY;IACX,OAAO,CAAC,OAAO;gBAAP,OAAO,GAAE,OAAO,WAAyB;IAE7D,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAI3C,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"spec.injector.d.ts","sourceRoot":"","sources":["../../../src/modules/spec/spec.injector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,qBAAa,YAAY;IACX,OAAO,CAAC,OAAO;gBAAP,OAAO,GAAE,OAAO,WAAyB;IAE7D,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAI3C,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM;IAqChD,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM;IAShE,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,SAAS;CAQlB;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC"}
|
|
@@ -11,11 +11,6 @@ export class SpecInjector {
|
|
|
11
11
|
this.specMgr.setProjectPath(projectPath);
|
|
12
12
|
}
|
|
13
13
|
const specs = this.specMgr.getLocalSpecs();
|
|
14
|
-
const requiredSpecs = specs.filter(s => s.read_mode === 'required');
|
|
15
|
-
const optionalSpecs = specs.filter(s => s.read_mode === 'optional');
|
|
16
|
-
if (requiredSpecs.length === 0 && optionalSpecs.length === 0) {
|
|
17
|
-
return '';
|
|
18
|
-
}
|
|
19
14
|
let injection = `
|
|
20
15
|
|
|
21
16
|
## 用户问题
|
|
@@ -23,29 +18,12 @@ export class SpecInjector {
|
|
|
23
18
|
|
|
24
19
|
## 规范说明
|
|
25
20
|
你来分析一下这个问题是否为一个开发任务,如果是开发任务你必须要先阅读规范,然后严格按照规范开发,如果不是开发任务可以选择不读`;
|
|
26
|
-
if (
|
|
21
|
+
if (specs.length > 0) {
|
|
27
22
|
injection += `
|
|
28
23
|
|
|
29
24
|
### 必读规范
|
|
30
25
|
<specs>`;
|
|
31
|
-
for (const spec of
|
|
32
|
-
const specPath = this.getSpecPath(spec.name, projectPath);
|
|
33
|
-
injection += `
|
|
34
|
-
<spec>
|
|
35
|
-
<name>${this.escapeXml(spec.name)}</name>
|
|
36
|
-
<description>${this.escapeXml(spec.description)}</description>
|
|
37
|
-
<path>${specPath}</path>
|
|
38
|
-
</spec>`;
|
|
39
|
-
}
|
|
40
|
-
injection += `
|
|
41
|
-
</specs>`;
|
|
42
|
-
}
|
|
43
|
-
if (optionalSpecs.length > 0) {
|
|
44
|
-
injection += `
|
|
45
|
-
|
|
46
|
-
### 选读规范
|
|
47
|
-
<specs>`;
|
|
48
|
-
for (const spec of optionalSpecs) {
|
|
26
|
+
for (const spec of specs) {
|
|
49
27
|
const specPath = this.getSpecPath(spec.name, projectPath);
|
|
50
28
|
injection += `
|
|
51
29
|
<spec>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.injector.js","sourceRoot":"","sources":["../../../src/modules/spec/spec.injector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,MAAM,OAAO,YAAY;IACvB,YAAoB,UAA8B,WAAW;QAAzC,YAAO,GAAP,OAAO,CAAkC;IAAG,CAAC;IAEjE,YAAY,CAAC,YAAoB;QAC/B,OAAO,YAAY,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,kBAAkB,CAAC,WAAoB;QACrC,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"spec.injector.js","sourceRoot":"","sources":["../../../src/modules/spec/spec.injector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,MAAM,OAAO,YAAY;IACvB,YAAoB,UAA8B,WAAW;QAAzC,YAAO,GAAP,OAAO,CAAkC;IAAG,CAAC;IAEjE,YAAY,CAAC,YAAoB;QAC/B,OAAO,YAAY,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,kBAAkB,CAAC,WAAoB;QACrC,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAG3C,IAAI,SAAS,GAAG;;;;;;+DAM2C,CAAC;QAE5D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,SAAS,IAAI;;;QAGX,CAAC;YACH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC1D,SAAS,IAAI;;YAET,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;mBAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;YACvC,QAAQ;UACV,CAAC;YACL,CAAC;YACD,SAAS,IAAI;SACV,CAAC;QACN,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,iBAAiB,CAAC,OAAe,EAAE,WAAoB;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAEO,WAAW,CAAC,IAAY,EAAE,WAAoB;QACpD,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,GAAG,WAAW,kBAAkB,IAAI,UAAU,CAAC;QACxD,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAClD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,GAAG,QAAQ,IAAI,IAAI,UAAU,CAAC;QACvC,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC;QAChE,OAAO,GAAG,IAAI,kBAAkB,IAAI,UAAU,CAAC;IACjD,CAAC;IAEO,SAAS,CAAC,GAAW;QAC3B,OAAO,GAAG;aACP,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;aACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;aACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;aACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;aACvB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dream.service.d.ts","sourceRoot":"","sources":["../../../src/queue/dream/dream.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dream.service.d.ts","sourceRoot":"","sources":["../../../src/queue/dream/dream.service.ts"],"names":[],"mappings":"AAKA,cAAM,YAAY;IAChB,OAAO,CAAC,UAAU,CAAiB;IAEnC,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,KAAK,CAA+B;IAE5C,IAAI,IAAI,IAAI;IA0BZ,QAAQ,IAAI,IAAI;IAQhB,OAAO,IAAI,IAAI;CAOhB;AAED,eAAO,MAAM,YAAY,cAAqB,CAAA"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { DreamQueue } from './dream.queue.js';
|
|
2
2
|
import { InitHandler } from './handlers/init.handler.js';
|
|
3
|
+
import { ClearSessionHandler } from './handlers/clear-session.handler.js';
|
|
3
4
|
import { v4 as uuidv4 } from 'uuid';
|
|
4
5
|
class DreamService {
|
|
5
6
|
constructor() {
|
|
6
7
|
this.intervalMs = 30 * 60 * 1000;
|
|
8
|
+
//private intervalMs = 60 * 1000
|
|
7
9
|
this.timer = null;
|
|
8
10
|
this.queue = new DreamQueue();
|
|
9
11
|
}
|
|
10
12
|
init() {
|
|
11
13
|
this.queue.register(new InitHandler());
|
|
14
|
+
this.queue.register(new ClearSessionHandler());
|
|
12
15
|
this.queue.start();
|
|
13
16
|
this.queue.enqueue({
|
|
14
17
|
id: uuidv4(),
|
|
@@ -21,6 +24,11 @@ class DreamService {
|
|
|
21
24
|
type: 'init',
|
|
22
25
|
createdAt: new Date(),
|
|
23
26
|
});
|
|
27
|
+
this.queue.enqueue({
|
|
28
|
+
id: uuidv4(),
|
|
29
|
+
type: 'clear-session',
|
|
30
|
+
createdAt: new Date(),
|
|
31
|
+
});
|
|
24
32
|
}, this.intervalMs);
|
|
25
33
|
}
|
|
26
34
|
shutdown() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dream.service.js","sourceRoot":"","sources":["../../../src/queue/dream/dream.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AAEnC,MAAM,YAAY;IAAlB;QACU,eAAU,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"dream.service.js","sourceRoot":"","sources":["../../../src/queue/dream/dream.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AAEnC,MAAM,YAAY;IAAlB;QACU,eAAU,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;QACnC,gCAAgC;QACxB,UAAK,GAA0B,IAAI,CAAA;QACnC,UAAK,GAAe,IAAI,UAAU,EAAE,CAAA;IA2C9C,CAAC;IAzCC,IAAI;QACF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,WAAW,EAAE,CAAC,CAAA;QACtC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAA;QAC9C,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QAElB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACjB,EAAE,EAAE,MAAM,EAAE;YACZ,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;gBACjB,EAAE,EAAE,MAAM,EAAE;gBACZ,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC,CAAA;YACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;gBACjB,EAAE,EAAE,MAAM,EAAE;gBACZ,IAAI,EAAE,eAAe;gBACrB,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC,CAAA;QACJ,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;IAErB,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACnB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IACnB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACjB,EAAE,EAAE,MAAM,EAAE;YACZ,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;CACF;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clear-session.handler.d.ts","sourceRoot":"","sources":["../../../../src/queue/dream/handlers/clear-session.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAW5D,qBAAa,mBAAoB,YAAW,aAAa;IACvD,SAAS,SAAkB;IAErB,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAwC9C"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { sessionRepository } from '../../../repository/session.repository.js';
|
|
2
|
+
import { messageRepository } from '../../../repository/message.repository.js';
|
|
3
|
+
import { dbService } from '../../../core/db/db.service.js';
|
|
4
|
+
import * as fs from 'fs';
|
|
5
|
+
import * as path from 'path';
|
|
6
|
+
import * as os from 'os';
|
|
7
|
+
const TRIGGER_TOTAL = 10000;
|
|
8
|
+
const STOP_TOTAL = 5000;
|
|
9
|
+
export class ClearSessionHandler {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.dreamType = 'clear-session';
|
|
12
|
+
}
|
|
13
|
+
async handle(_task) {
|
|
14
|
+
let totalCount = messageRepository.countAll();
|
|
15
|
+
if (totalCount <= TRIGGER_TOTAL)
|
|
16
|
+
return;
|
|
17
|
+
const home = os.homedir();
|
|
18
|
+
const sessionDir = path.join(home, '.txcode', 'session');
|
|
19
|
+
fs.mkdirSync(sessionDir, { recursive: true });
|
|
20
|
+
while (totalCount >= STOP_TOTAL) {
|
|
21
|
+
const oldestSessionId = messageRepository.getOldestSessionId();
|
|
22
|
+
if (!oldestSessionId)
|
|
23
|
+
break;
|
|
24
|
+
const messages = messageRepository.getAll(oldestSessionId);
|
|
25
|
+
if (messages.length === 0)
|
|
26
|
+
break;
|
|
27
|
+
const archivePath = path.join(sessionDir, `${oldestSessionId}.json`);
|
|
28
|
+
const archiveData = {
|
|
29
|
+
sessionId: oldestSessionId,
|
|
30
|
+
archivedAt: new Date().toISOString(),
|
|
31
|
+
totalArchived: messages.length,
|
|
32
|
+
messages: messages.map(m => ({
|
|
33
|
+
id: m.id,
|
|
34
|
+
sessionId: m.session_id,
|
|
35
|
+
role: m.role,
|
|
36
|
+
content: m.content,
|
|
37
|
+
keepContext: Boolean(m.keep_context),
|
|
38
|
+
isOriginal: Boolean(m.is_original),
|
|
39
|
+
createdAt: m.created_at,
|
|
40
|
+
})),
|
|
41
|
+
};
|
|
42
|
+
fs.writeFileSync(archivePath, JSON.stringify(archiveData, null, 2), 'utf-8');
|
|
43
|
+
messageRepository.deleteBySession(oldestSessionId);
|
|
44
|
+
sessionRepository.delete(oldestSessionId);
|
|
45
|
+
totalCount = messageRepository.countAll();
|
|
46
|
+
}
|
|
47
|
+
dbService.vacuum();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=clear-session.handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clear-session.handler.js","sourceRoot":"","sources":["../../../../src/queue/dream/handlers/clear-session.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAA;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAA;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AAExB,MAAM,aAAa,GAAG,KAAK,CAAA;AAC3B,MAAM,UAAU,GAAG,IAAI,CAAA;AAEvB,MAAM,OAAO,mBAAmB;IAAhC;QACE,cAAS,GAAG,eAAe,CAAA;IA0C7B,CAAC;IAxCC,KAAK,CAAC,MAAM,CAAC,KAAgB;QAC3B,IAAI,UAAU,GAAG,iBAAiB,CAAC,QAAQ,EAAE,CAAA;QAC7C,IAAI,UAAU,IAAI,aAAa;YAAE,OAAM;QAEvC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAA;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;QACxD,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAE7C,OAAO,UAAU,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,eAAe,GAAG,iBAAiB,CAAC,kBAAkB,EAAE,CAAA;YAC9D,IAAI,CAAC,eAAe;gBAAE,MAAK;YAE3B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;YAC1D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAK;YAEhC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,eAAe,OAAO,CAAC,CAAA;YACpE,MAAM,WAAW,GAAG;gBAClB,SAAS,EAAE,eAAe;gBAC1B,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACpC,aAAa,EAAE,QAAQ,CAAC,MAAM;gBAC9B,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC3B,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,SAAS,EAAE,CAAC,CAAC,UAAU;oBACvB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;oBACpC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;oBAClC,SAAS,EAAE,CAAC,CAAC,UAAU;iBACxB,CAAC,CAAC;aACJ,CAAA;YACD,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;YAE5E,iBAAiB,CAAC,eAAe,CAAC,eAAe,CAAC,CAAA;YAClD,iBAAiB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;YAEzC,UAAU,GAAG,iBAAiB,CAAC,QAAQ,EAAE,CAAA;QAC3C,CAAC;QAED,SAAS,CAAC,MAAM,EAAE,CAAA;IACpB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.handler.d.ts","sourceRoot":"","sources":["../../../../src/queue/dream/handlers/init.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAO5D,qBAAa,WAAY,YAAW,aAAa;IAC/C,SAAS,SAAS;IAEZ,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"init.handler.d.ts","sourceRoot":"","sources":["../../../../src/queue/dream/handlers/init.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAO5D,qBAAa,WAAY,YAAW,aAAa;IAC/C,SAAS,SAAS;IAEZ,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;YAkC9B,QAAQ;CAqBvB"}
|
|
@@ -8,6 +8,7 @@ export class InitHandler {
|
|
|
8
8
|
this.dreamType = 'init';
|
|
9
9
|
}
|
|
10
10
|
async handle(task) {
|
|
11
|
+
console.log('[Dream:init] 开始执行 init 任务, taskId:', task.id);
|
|
11
12
|
const workDir = projectService.getCurrentProjectPath();
|
|
12
13
|
const projectDir = path.join(workDir, '.txcode', 'project');
|
|
13
14
|
const projectMdPath = path.join(projectDir, 'PROJECT.md');
|
|
@@ -20,7 +21,7 @@ export class InitHandler {
|
|
|
20
21
|
const lastGen = new Date(meta.lastGenerated).getTime();
|
|
21
22
|
const hoursAgo = (Date.now() - lastGen) / (1000 * 60 * 60);
|
|
22
23
|
if (hoursAgo < 24) {
|
|
23
|
-
|
|
24
|
+
console.log('[Dream:init] PROJECT.md 距上次生成不足24小时,跳过');
|
|
24
25
|
return;
|
|
25
26
|
}
|
|
26
27
|
}
|
|
@@ -28,7 +29,7 @@ export class InitHandler {
|
|
|
28
29
|
console.log('[Dream:init] meta.json 损坏,触发重生成');
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
|
-
|
|
32
|
+
console.log('[Dream:init] PROJECT.md 已超过24小时,触发审查重生成');
|
|
32
33
|
await this.runAgent(workDir, '这是之前生成的 PROJECT.md 文件已经超过24小时了,你来检查下是否准确如果不准确重新生成');
|
|
33
34
|
return;
|
|
34
35
|
}
|
|
@@ -36,6 +37,7 @@ export class InitHandler {
|
|
|
36
37
|
console.log('[Dream:init] PROJECT.md 生成完成');
|
|
37
38
|
}
|
|
38
39
|
async runAgent(workDir, userMessage) {
|
|
40
|
+
console.log('[Dream:init] runAgent 开始, workDir:', workDir, 'message:', userMessage);
|
|
39
41
|
try {
|
|
40
42
|
const provider = getProvider();
|
|
41
43
|
const agent = new DreamAgent({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.handler.js","sourceRoot":"","sources":["../../../../src/queue/dream/handlers/init.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAA;AAC7E,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAE5B,MAAM,OAAO,WAAW;IAAxB;QACE,cAAS,GAAG,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"init.handler.js","sourceRoot":"","sources":["../../../../src/queue/dream/handlers/init.handler.ts"],"names":[],"mappings":"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"}
|