@mybricks/plugin-ai 0.0.2 → 0.0.3
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/_virtual/_rollupPluginBabelHelpers.js +164 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
- package/dist/agents/app.js +335 -0
- package/dist/agents/app.js.map +1 -0
- package/dist/agents/common.js +483 -0
- package/dist/agents/common.js.map +1 -0
- package/dist/agents/custom.js +16 -0
- package/dist/agents/custom.js.map +1 -0
- package/dist/agents/index.js +38 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/knowledges/knowledge-base.js +579 -0
- package/dist/agents/knowledges/knowledge-base.js.map +1 -0
- package/dist/agents/knowledges/knowledge-node.js +228 -0
- package/dist/agents/knowledges/knowledge-node.js.map +1 -0
- package/dist/agents/knowledges/types.js +105 -0
- package/dist/agents/knowledges/types.js.map +1 -0
- package/dist/agents/utils/config.js +229 -0
- package/dist/agents/utils/config.js.map +1 -0
- package/dist/agents/workspace/coding-manager.js +20 -0
- package/dist/agents/workspace/coding-manager.js.map +1 -0
- package/dist/agents/workspace/components-manager.js +113 -0
- package/dist/agents/workspace/components-manager.js.map +1 -0
- package/dist/agents/workspace/outline-focus.js +167 -0
- package/dist/agents/workspace/outline-focus.js.map +1 -0
- package/dist/agents/workspace/outline-info.js +430 -0
- package/dist/agents/workspace/outline-info.js.map +1 -0
- package/dist/agents/workspace/page-tree-generator.js +70 -0
- package/dist/agents/workspace/page-tree-generator.js.map +1 -0
- package/dist/agents/workspace/workspace.js +251 -0
- package/dist/agents/workspace/workspace.js.map +1 -0
- package/dist/agents/workspace-by-knowledges/providers/component-docs-provider.js +100 -0
- package/dist/agents/workspace-by-knowledges/providers/component-docs-provider.js.map +1 -0
- package/dist/agents/workspace-by-knowledges/providers/focus-info-provider.js +120 -0
- package/dist/agents/workspace-by-knowledges/providers/focus-info-provider.js.map +1 -0
- package/dist/agents/workspace-by-knowledges/providers/project-info-provider.js +146 -0
- package/dist/agents/workspace-by-knowledges/providers/project-info-provider.js.map +1 -0
- package/dist/agents/workspace-by-knowledges/test.js +242 -0
- package/dist/agents/workspace-by-knowledges/test.js.map +1 -0
- package/dist/agents/workspace-by-knowledges/utils/components-manager.js +132 -0
- package/dist/agents/workspace-by-knowledges/utils/components-manager.js.map +1 -0
- package/dist/agents/workspace-by-knowledges/utils/outline-focus.js +167 -0
- package/dist/agents/workspace-by-knowledges/utils/outline-focus.js.map +1 -0
- package/dist/agents/workspace-by-knowledges/utils/outline-info.js +430 -0
- package/dist/agents/workspace-by-knowledges/utils/outline-info.js.map +1 -0
- package/dist/agents/workspace-by-knowledges/workspace.js +169 -0
- package/dist/agents/workspace-by-knowledges/workspace.js.map +1 -0
- package/dist/api/cloud-components.js +85 -0
- package/dist/api/cloud-components.js.map +1 -0
- package/dist/api-record-replay/manager.js +168 -0
- package/dist/api-record-replay/manager.js.map +1 -0
- package/{src/api-record-replay/recorder.ts → dist/api-record-replay/recorder.js} +22 -32
- package/dist/api-record-replay/recorder.js.map +1 -0
- package/dist/api-record-replay/replayer.js +136 -0
- package/dist/api-record-replay/replayer.js.map +1 -0
- package/dist/components/attachments/index.js +124 -0
- package/dist/components/attachments/index.js.map +1 -0
- package/dist/components/attachments/index.less.js +8 -0
- package/dist/components/attachments/index.less.js.map +1 -0
- package/dist/components/icons/index.js +112 -0
- package/dist/components/icons/index.js.map +1 -0
- package/dist/components/icons/index.less.js +8 -0
- package/dist/components/icons/index.less.js.map +1 -0
- package/dist/components/mention/index.js +19 -0
- package/dist/components/mention/index.js.map +1 -0
- package/dist/components/mention/index.less.js +8 -0
- package/dist/components/mention/index.less.js.map +1 -0
- package/dist/components/messages/index.js +429 -0
- package/dist/components/messages/index.js.map +1 -0
- package/dist/components/messages/index.less.js +8 -0
- package/dist/components/messages/index.less.js.map +1 -0
- package/dist/components/sender/index.js +244 -0
- package/dist/components/sender/index.js.map +1 -0
- package/dist/components/sender/index.less.js +8 -0
- package/dist/components/sender/index.less.js.map +1 -0
- package/dist/context/RequestStatusTracker.js +44 -0
- package/dist/context/RequestStatusTracker.js.map +1 -0
- package/dist/context/index.js +45 -0
- package/dist/context/index.js.map +1 -0
- package/dist/data.js +4 -0
- package/dist/data.js.map +1 -0
- package/dist/index.js +306 -0
- package/dist/index.js.map +1 -0
- package/dist/plugin-ai/node_modules/style-inject/dist/style-inject.es.js +27 -0
- package/dist/plugin-ai/node_modules/style-inject/dist/style-inject.es.js.map +1 -0
- package/dist/plugin-ai/package.json.js +8 -0
- package/dist/plugin-ai/package.json.js.map +1 -0
- package/dist/plugin-ai/test/index.js +206 -0
- package/dist/plugin-ai/test/index.js.map +1 -0
- package/dist/preset/createTemplates.js +29 -0
- package/dist/preset/createTemplates.js.map +1 -0
- package/dist/preset/index.js +13 -0
- package/dist/preset/index.js.map +1 -0
- package/dist/preset/prompts.js +34 -0
- package/dist/preset/prompts.js.map +1 -0
- package/{src/preset/user.ts → dist/preset/user.js} +4 -3
- package/dist/preset/user.js.map +1 -0
- package/dist/requestAsStream.js +269 -0
- package/dist/requestAsStream.js.map +1 -0
- package/dist/rxai/node_modules/idb/build/index.js +277 -0
- package/dist/rxai/node_modules/idb/build/index.js.map +1 -0
- package/dist/rxai/src/agent/base.js +16 -0
- package/dist/rxai/src/agent/base.js.map +1 -0
- package/dist/rxai/src/agent/planning.js +1076 -0
- package/dist/rxai/src/agent/planning.js.map +1 -0
- package/dist/rxai/src/agent/rxai.js +254 -0
- package/dist/rxai/src/agent/rxai.js.map +1 -0
- package/dist/rxai/src/error/base.js +39 -0
- package/dist/rxai/src/error/base.js.map +1 -0
- package/dist/rxai/src/prompt/base.js +11 -0
- package/dist/rxai/src/prompt/base.js.map +1 -0
- package/dist/rxai/src/prompt/planning.js +23 -0
- package/dist/rxai/src/prompt/planning.js.map +1 -0
- package/dist/rxai/src/prompt/tool.js +14 -0
- package/dist/rxai/src/prompt/tool.js.map +1 -0
- package/dist/rxai/src/request/request.js +123 -0
- package/dist/rxai/src/request/request.js.map +1 -0
- package/dist/rxai/src/tool/getHistoryRecords.js +65 -0
- package/dist/rxai/src/tool/getHistoryRecords.js.map +1 -0
- package/dist/rxai/src/tool/util.js +424 -0
- package/dist/rxai/src/tool/util.js.map +1 -0
- package/dist/rxai/src/utils/events.js +43 -0
- package/dist/rxai/src/utils/events.js.map +1 -0
- package/dist/rxai/src/utils/idb.js +240 -0
- package/dist/rxai/src/utils/idb.js.map +1 -0
- package/dist/rxai/src/utils/retry.js +32 -0
- package/dist/rxai/src/utils/retry.js.map +1 -0
- package/dist/rxai/src/utils/uuid.js +7 -0
- package/dist/rxai/src/utils/uuid.js.map +1 -0
- package/dist/startView/components/header/header.js +12 -0
- package/dist/startView/components/header/header.js.map +1 -0
- package/dist/startView/components/header/header.less.js +8 -0
- package/dist/startView/components/header/header.less.js.map +1 -0
- package/dist/startView/index.js +62 -0
- package/dist/startView/index.js.map +1 -0
- package/dist/startView/index.less.js +8 -0
- package/dist/startView/index.less.js.map +1 -0
- package/dist/tools/analyze-and-expand-prd.js +116 -0
- package/dist/tools/analyze-and-expand-prd.js.map +1 -0
- package/dist/tools/analyze-requirement-and-components.js +208 -0
- package/dist/tools/analyze-requirement-and-components.js.map +1 -0
- package/dist/tools/answer.js +33 -0
- package/dist/tools/answer.js.map +1 -0
- package/dist/tools/build-process.js +550 -0
- package/dist/tools/build-process.js.map +1 -0
- package/dist/tools/coding-subagent-as-tool.js +101 -0
- package/dist/tools/coding-subagent-as-tool.js.map +1 -0
- package/dist/tools/generate-ui-content.js +528 -0
- package/dist/tools/generate-ui-content.js.map +1 -0
- package/dist/tools/index.js +31 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/open-dsl.js +49 -0
- package/dist/tools/open-dsl.js.map +1 -0
- package/dist/tools/refactor-ui-content.js +292 -0
- package/dist/tools/refactor-ui-content.js.map +1 -0
- package/dist/tools/utils.js +832 -0
- package/dist/tools/utils.js.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/dist/view/components/header/header.js +59 -0
- package/dist/view/components/header/header.js.map +1 -0
- package/dist/view/components/header/header.less.js +8 -0
- package/dist/view/components/header/header.less.js.map +1 -0
- package/dist/view/index.js +184 -0
- package/dist/view/index.js.map +1 -0
- package/dist/view/index.less.js +8 -0
- package/dist/view/index.less.js.map +1 -0
- package/package.json +28 -6
- package/src/agents/app.ts +0 -301
- package/src/agents/common.ts +0 -471
- package/src/agents/custom.ts +0 -14
- package/src/agents/index.ts +0 -37
- package/src/agents/knowledges/README.md +0 -614
- package/src/agents/knowledges/SUMMARY.md +0 -527
- package/src/agents/knowledges/index.ts +0 -8
- package/src/agents/knowledges/knowledge-base.ts +0 -565
- package/src/agents/knowledges/knowledge-node.ts +0 -266
- package/src/agents/knowledges/types.ts +0 -208
- package/src/agents/utils/config.ts +0 -427
- package/src/agents/workspace/coding-manager.ts +0 -31
- package/src/agents/workspace/components-manager.ts +0 -124
- package/src/agents/workspace/outline-focus.ts +0 -188
- package/src/agents/workspace/outline-info.ts +0 -520
- package/src/agents/workspace/page-tree-generator.ts +0 -83
- package/src/agents/workspace/workspace.ts +0 -319
- package/src/agents/workspace-by-knowledges/MIGRATION.md +0 -568
- package/src/agents/workspace-by-knowledges/README.md +0 -521
- package/src/agents/workspace-by-knowledges/index.ts +0 -11
- package/src/agents/workspace-by-knowledges/providers/component-docs-provider.ts +0 -92
- package/src/agents/workspace-by-knowledges/providers/focus-info-provider.ts +0 -131
- package/src/agents/workspace-by-knowledges/providers/index.ts +0 -8
- package/src/agents/workspace-by-knowledges/providers/project-info-provider.ts +0 -151
- package/src/agents/workspace-by-knowledges/test.ts +0 -240
- package/src/agents/workspace-by-knowledges/types.ts +0 -56
- package/src/agents/workspace-by-knowledges/utils/components-manager.ts +0 -145
- package/src/agents/workspace-by-knowledges/utils/index.ts +0 -8
- package/src/agents/workspace-by-knowledges/utils/outline-focus.ts +0 -178
- package/src/agents/workspace-by-knowledges/utils/outline-info.ts +0 -521
- package/src/agents/workspace-by-knowledges/workspace.ts +0 -166
- package/src/api/cloud-components.ts +0 -129
- package/src/api-record-replay/README.md +0 -187
- package/src/api-record-replay/index.ts +0 -11
- package/src/api-record-replay/manager.ts +0 -168
- package/src/api-record-replay/replayer.ts +0 -148
- package/src/components/attachments/index.less +0 -117
- package/src/components/attachments/index.tsx +0 -136
- package/src/components/icons/index.less +0 -8
- package/src/components/icons/index.tsx +0 -44
- package/src/components/index.less +0 -34
- package/src/components/mention/index.less +0 -23
- package/src/components/mention/index.tsx +0 -19
- package/src/components/messages/index.less +0 -1013
- package/src/components/messages/index.tsx +0 -519
- package/src/components/sender/index.less +0 -203
- package/src/components/sender/index.tsx +0 -298
- package/src/components/types.ts +0 -31
- package/src/constants/index.ts +0 -8
- package/src/context/RequestStatusTracker.ts +0 -50
- package/src/context/index.ts +0 -83
- package/src/data.ts +0 -5
- package/src/global.d.ts +0 -100
- package/src/index.tsx +0 -264
- package/src/mock.ts +0 -1267
- package/src/preset/agents.ts +0 -380
- package/src/preset/createTemplates.ts +0 -25
- package/src/preset/index.ts +0 -12
- package/src/preset/prompts.ts +0 -235
- package/src/preset/requestAsStream.ts +0 -246
- package/src/startView/components/header/header.less +0 -17
- package/src/startView/components/header/header.tsx +0 -15
- package/src/startView/components/index.ts +0 -1
- package/src/startView/index.less +0 -34
- package/src/startView/index.tsx +0 -61
- package/src/tools/analyze-and-expand-prd.ts +0 -272
- package/src/tools/analyze-requirement-and-components.ts +0 -589
- package/src/tools/answer.ts +0 -59
- package/src/tools/build-process.ts +0 -1174
- package/src/tools/coding-subagent-as-tool.ts +0 -119
- package/src/tools/generate-ui-content.ts +0 -1083
- package/src/tools/index.ts +0 -28
- package/src/tools/open-dsl.ts +0 -69
- package/src/tools/refactor-ui-content.ts +0 -801
- package/src/tools/type.d.ts +0 -12
- package/src/tools/utils.ts +0 -914
- package/src/types/index.ts +0 -4
- package/src/view/components/header/header.less +0 -51
- package/src/view/components/header/header.tsx +0 -60
- package/src/view/components/index.ts +0 -1
- package/src/view/index.less +0 -5
- package/src/view/index.tsx +0 -168
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { asyncToGenerator as _asyncToGenerator, objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { DirectoryProvider, KnowledgeNodeType } from '../../knowledges/types.js';
|
|
3
|
+
import { context } from '../../../context/index.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 页面信息
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* 画布数据
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* 获取所有页面信息
|
|
15
|
+
*/
|
|
16
|
+
function getAllPages() {
|
|
17
|
+
var _context$api, _context$api$getAllPa;
|
|
18
|
+
var result = (_context$api = context.api) === null || _context$api === void 0 || (_context$api = _context$api.global) === null || _context$api === void 0 || (_context$api = _context$api.api) === null || _context$api === void 0 || (_context$api$getAllPa = _context$api.getAllPageInfo) === null || _context$api$getAllPa === void 0 ? void 0 : _context$api$getAllPa.call(_context$api);
|
|
19
|
+
return result || [];
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* 获取当前聚焦的页面ID
|
|
24
|
+
*/
|
|
25
|
+
function getFocusedPageId() {
|
|
26
|
+
var _context$currentFocus;
|
|
27
|
+
return (_context$currentFocus = context.currentFocus) === null || _context$currentFocus === void 0 ? void 0 : _context$currentFocus.pageId;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* 处理原始数据
|
|
32
|
+
*/
|
|
33
|
+
function processRawData(rawData) {
|
|
34
|
+
// 如果 rawData 是数组
|
|
35
|
+
if (Array.isArray(rawData)) {
|
|
36
|
+
var allPages = [];
|
|
37
|
+
rawData.forEach(canvas => {
|
|
38
|
+
if (canvas.pageAry && Array.isArray(canvas.pageAry)) {
|
|
39
|
+
// 多画布
|
|
40
|
+
allPages.push(...canvas.pageAry.map(page => ({
|
|
41
|
+
id: page.id,
|
|
42
|
+
title: page.title,
|
|
43
|
+
type: page.type,
|
|
44
|
+
componentType: page.componentType || undefined,
|
|
45
|
+
children: page.children || []
|
|
46
|
+
})));
|
|
47
|
+
} else if (canvas.id) {
|
|
48
|
+
allPages.push(_objectSpread2({}, canvas));
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
return allPages;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// 如果不是数组
|
|
55
|
+
if (!(rawData !== null && rawData !== void 0 && rawData.pageAry)) {
|
|
56
|
+
return [];
|
|
57
|
+
}
|
|
58
|
+
return rawData.pageAry.map(page => ({
|
|
59
|
+
id: page.id,
|
|
60
|
+
title: page.title,
|
|
61
|
+
type: page.type,
|
|
62
|
+
componentType: page.componentType || undefined,
|
|
63
|
+
children: page.children || []
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* 生成树形文本
|
|
69
|
+
*/
|
|
70
|
+
function generateTreeText(pages, focusedPageId) {
|
|
71
|
+
var level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
72
|
+
var result = '';
|
|
73
|
+
var indent = ' '.repeat(level);
|
|
74
|
+
pages.forEach(page => {
|
|
75
|
+
var line = "".concat(indent, "- ").concat(page.title, "[id=").concat(page.id, "]");
|
|
76
|
+
if (page.componentType) {
|
|
77
|
+
line += "(".concat(page.componentType, ")");
|
|
78
|
+
}
|
|
79
|
+
if (focusedPageId && page.id === focusedPageId) {
|
|
80
|
+
line += ' 【当前聚焦】';
|
|
81
|
+
}
|
|
82
|
+
result += line + '\n';
|
|
83
|
+
if (page.children && page.children.length > 0) {
|
|
84
|
+
result += generateTreeText(page.children, focusedPageId, level + 1);
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
return result;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* 创建项目信息 Provider
|
|
92
|
+
* 作为单个文件呈现,包含画布索引
|
|
93
|
+
*/
|
|
94
|
+
function createProjectInfoProvider() {
|
|
95
|
+
var providerId = 'project-info';
|
|
96
|
+
var providerName = '项目信息';
|
|
97
|
+
return new DirectoryProvider({
|
|
98
|
+
id: providerId,
|
|
99
|
+
name: providerName,
|
|
100
|
+
description: '包含项目的画布索引',
|
|
101
|
+
weight: 100,
|
|
102
|
+
// 高权重,排在最前面
|
|
103
|
+
|
|
104
|
+
// 自定义根节点为文件而不是目录
|
|
105
|
+
customRootNode: {
|
|
106
|
+
id: providerId,
|
|
107
|
+
name: providerName,
|
|
108
|
+
type: KnowledgeNodeType.FILE,
|
|
109
|
+
extname: '.md',
|
|
110
|
+
description: '包含项目的画布索引',
|
|
111
|
+
metadata: {
|
|
112
|
+
providerId
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
// 因为根节点是文件,所以没有子节点
|
|
116
|
+
getChildren: function () {
|
|
117
|
+
var _getChildren = _asyncToGenerator(function* (parentId) {
|
|
118
|
+
return [];
|
|
119
|
+
});
|
|
120
|
+
function getChildren(_x) {
|
|
121
|
+
return _getChildren.apply(this, arguments);
|
|
122
|
+
}
|
|
123
|
+
return getChildren;
|
|
124
|
+
}(),
|
|
125
|
+
// 读取文件内容
|
|
126
|
+
readFile: function () {
|
|
127
|
+
var _readFile = _asyncToGenerator(function* (fileId) {
|
|
128
|
+
if (fileId !== providerId) {
|
|
129
|
+
throw new Error("Invalid file ID: ".concat(fileId));
|
|
130
|
+
}
|
|
131
|
+
var pagesInfo = getAllPages();
|
|
132
|
+
var focusedPageId = getFocusedPageId();
|
|
133
|
+
var processedPages = processRawData(pagesInfo);
|
|
134
|
+
var pageTree = generateTreeText(processedPages, focusedPageId);
|
|
135
|
+
return "## \u753B\u5E03\u7D22\u5F15\n".concat(pageTree);
|
|
136
|
+
});
|
|
137
|
+
function readFile(_x2) {
|
|
138
|
+
return _readFile.apply(this, arguments);
|
|
139
|
+
}
|
|
140
|
+
return readFile;
|
|
141
|
+
}()
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
export { createProjectInfoProvider };
|
|
146
|
+
//# sourceMappingURL=project-info-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-info-provider.js","sources":["../../../../src/agents/workspace-by-knowledges/providers/project-info-provider.ts"],"sourcesContent":["/**\n * 项目信息 Provider\n * 提供项目的画布索引信息\n */\n\nimport { DirectoryProvider, IKnowledgeNode, KnowledgeNodeType } from '../../knowledges/types';\nimport { context } from '../../../context';\n\n/**\n * 页面信息\n */\ninterface PageInfo {\n id: string;\n title: string;\n type: string;\n componentType?: string;\n children?: PageInfo[];\n}\n\n/**\n * 画布数据\n */\ninterface PagesData {\n pageAry: PageInfo[];\n}\n\n/**\n * 获取所有页面信息\n */\nfunction getAllPages(): PagesData | PagesData[] {\n const result = context.api?.global?.api?.getAllPageInfo?.();\n return result || [];\n}\n\n/**\n * 获取当前聚焦的页面ID\n */\nfunction getFocusedPageId(): string | undefined {\n return context.currentFocus?.pageId;\n}\n\n/**\n * 处理原始数据\n */\nfunction processRawData(rawData: PagesData | PagesData[]): PageInfo[] {\n // 如果 rawData 是数组\n if (Array.isArray(rawData)) {\n const allPages: PageInfo[] = [];\n rawData.forEach((canvas: any) => {\n if (canvas.pageAry && Array.isArray(canvas.pageAry)) { // 多画布\n allPages.push(...canvas.pageAry.map((page: any) => ({\n id: page.id,\n title: page.title,\n type: page.type,\n componentType: page.componentType || undefined,\n children: page.children || []\n })));\n } else if (canvas.id) {\n allPages.push({ ...canvas })\n }\n });\n return allPages;\n }\n\n // 如果不是数组\n if (!rawData?.pageAry) {\n return [];\n }\n\n return rawData.pageAry.map((page: PageInfo) => ({\n id: page.id,\n title: page.title,\n type: page.type,\n componentType: page.componentType || undefined,\n children: page.children || []\n }));\n}\n\n/**\n * 生成树形文本\n */\nfunction generateTreeText(pages: PageInfo[], focusedPageId?: string, level = 0): string {\n let result = '';\n const indent = ' '.repeat(level);\n\n pages.forEach(page => {\n let line = `${indent}- ${page.title}[id=${page.id}]`;\n\n if (page.componentType) {\n line += `(${page.componentType})`;\n }\n\n if (focusedPageId && page.id === focusedPageId) {\n line += ' 【当前聚焦】';\n }\n\n result += line + '\\n';\n\n if (page.children && page.children.length > 0) {\n result += generateTreeText(page.children, focusedPageId, level + 1);\n }\n });\n\n return result;\n}\n\n/**\n * 创建项目信息 Provider\n * 作为单个文件呈现,包含画布索引\n */\nexport function createProjectInfoProvider(): DirectoryProvider {\n const providerId = 'project-info';\n const providerName = '项目信息';\n \n return new DirectoryProvider({\n id: providerId,\n name: providerName,\n description: '包含项目的画布索引',\n weight: 100, // 高权重,排在最前面\n \n // 自定义根节点为文件而不是目录\n customRootNode: {\n id: providerId,\n name: providerName,\n type: KnowledgeNodeType.FILE,\n extname: '.md',\n description: '包含项目的画布索引',\n metadata: { providerId }\n },\n \n // 因为根节点是文件,所以没有子节点\n getChildren: async (parentId: string) => {\n return [];\n },\n \n // 读取文件内容\n readFile: async (fileId: string) => {\n if (fileId !== providerId) {\n throw new Error(`Invalid file ID: ${fileId}`);\n }\n\n const pagesInfo = getAllPages();\n const focusedPageId = getFocusedPageId();\n const processedPages = processRawData(pagesInfo);\n const pageTree = generateTreeText(processedPages, focusedPageId);\n\n return `## 画布索引\n${pageTree}`;\n }\n });\n}\n"],"names":["getAllPages","_context$api","_context$api$getAllPa","result","context","api","global","getAllPageInfo","call","getFocusedPageId","_context$currentFocus","currentFocus","pageId","processRawData","rawData","Array","isArray","allPages","forEach","canvas","pageAry","push","map","page","id","title","type","componentType","undefined","children","_objectSpread","generateTreeText","pages","focusedPageId","level","arguments","length","indent","repeat","line","concat","createProjectInfoProvider","providerId","providerName","DirectoryProvider","name","description","weight","customRootNode","KnowledgeNodeType","FILE","extname","metadata","getChildren","_getChildren","_asyncToGenerator","parentId","_x","apply","readFile","_readFile","fileId","Error","pagesInfo","processedPages","pageTree","_x2"],"mappings":"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"}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import { asyncToGenerator as _asyncToGenerator } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { Workspace } from './workspace.js';
|
|
3
|
+
import { context } from '../../context/index.js';
|
|
4
|
+
|
|
5
|
+
// 测试函数
|
|
6
|
+
function runWorkspaceTests() {
|
|
7
|
+
return _runWorkspaceTests.apply(this, arguments);
|
|
8
|
+
} // 快捷测试函数
|
|
9
|
+
function _runWorkspaceTests() {
|
|
10
|
+
_runWorkspaceTests = _asyncToGenerator(function* () {
|
|
11
|
+
console.log('='.repeat(60));
|
|
12
|
+
console.log('开始测试 Workspace');
|
|
13
|
+
console.log('='.repeat(60));
|
|
14
|
+
try {
|
|
15
|
+
// 检查 context 是否有必要的 API
|
|
16
|
+
if (!context.api) {
|
|
17
|
+
throw new Error('context.api 未初始化,请确保在设计器环境中运行此测试');
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// 1. 创建 Workspace
|
|
21
|
+
console.log('\n[测试 1] 创建 Workspace');
|
|
22
|
+
var workspace = new Workspace({
|
|
23
|
+
name: '测试工作空间',
|
|
24
|
+
description: '这是一个测试工作空间'
|
|
25
|
+
});
|
|
26
|
+
console.log('[SUCCESS] Workspace 创建成功');
|
|
27
|
+
|
|
28
|
+
// 2. 获取目录树
|
|
29
|
+
console.log('\n[测试 2] 获取目录树');
|
|
30
|
+
var tree = yield workspace.getDirectoryTree({
|
|
31
|
+
showDescription: true
|
|
32
|
+
});
|
|
33
|
+
console.log('目录树:\n', tree);
|
|
34
|
+
|
|
35
|
+
// 3. 检查默认打开的文件
|
|
36
|
+
console.log('\n[测试 3] 检查默认打开的文件');
|
|
37
|
+
var defaultFiles = workspace.getOpenedFilePaths();
|
|
38
|
+
console.log('默认打开的文件:', defaultFiles);
|
|
39
|
+
if (defaultFiles.includes('项目信息.md') && defaultFiles.includes('聚焦信息.md')) {
|
|
40
|
+
console.log('[SUCCESS] 项目信息和聚焦信息已默认打开');
|
|
41
|
+
} else {
|
|
42
|
+
console.log('[WARN] 默认文件未完全打开');
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// 4. 测试打开组件文档(如果有组件的话)
|
|
46
|
+
console.log('\n[测试 4] 测试打开组件文档');
|
|
47
|
+
try {
|
|
48
|
+
// 尝试打开一个常见的组件文档
|
|
49
|
+
yield workspace.openComponentDoc('组件配置文档/mybricks.normal-pc.antd5.icon.md');
|
|
50
|
+
console.log('[SUCCESS] 组件文档已打开');
|
|
51
|
+
} catch (error) {
|
|
52
|
+
console.log('[INFO] 无法打开组件文档(可能组件不存在):', error.message);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// 5. 测试动态文档功能
|
|
56
|
+
console.log('\n[测试 5] 测试动态文档功能');
|
|
57
|
+
|
|
58
|
+
// 注册一个自定义动态文档目录
|
|
59
|
+
workspace.registerDynamicDirectory({
|
|
60
|
+
id: 'custom-docs',
|
|
61
|
+
name: '自定义文档',
|
|
62
|
+
description: '用户自定义的文档',
|
|
63
|
+
weight: 50,
|
|
64
|
+
hidden: false // 不隐藏,在目录树中显示
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
// 添加动态文档到自定义目录
|
|
68
|
+
yield workspace.openDocument('doc1', {
|
|
69
|
+
type: '组件',
|
|
70
|
+
content: '这是第一个动态文档的内容\n包含一些测试数据',
|
|
71
|
+
title: '动态文档1',
|
|
72
|
+
description: '这是一个测试用的动态文档',
|
|
73
|
+
directoryId: 'custom-docs'
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
// 添加另一个动态文档到默认目录
|
|
77
|
+
yield workspace.openDocument('doc2', {
|
|
78
|
+
type: '画布',
|
|
79
|
+
content: '这是第二个动态文档的内容',
|
|
80
|
+
title: '动态文档2',
|
|
81
|
+
description: '使用默认动态文档目录'
|
|
82
|
+
});
|
|
83
|
+
console.log('[SUCCESS] 动态文档已添加');
|
|
84
|
+
|
|
85
|
+
// 6. 获取已打开的文件列表
|
|
86
|
+
console.log('\n[测试 6] 获取已打开的文件列表');
|
|
87
|
+
var openedFiles = workspace.getOpenedFilePaths();
|
|
88
|
+
console.log('已打开的文件:', openedFiles);
|
|
89
|
+
|
|
90
|
+
// 7. 再次获取目录树(应该包含自定义文档目录)
|
|
91
|
+
console.log('\n[测试 7] 获取包含动态文档目录的目录树');
|
|
92
|
+
var treeWithDynamic = yield workspace.getDirectoryTree({
|
|
93
|
+
showDescription: true
|
|
94
|
+
});
|
|
95
|
+
console.log('目录树(包含动态文档):\n', treeWithDynamic);
|
|
96
|
+
|
|
97
|
+
// 8. 导出工作空间内容
|
|
98
|
+
console.log('\n[测试 8] 导出工作空间内容');
|
|
99
|
+
var exportedContent = yield workspace.export({
|
|
100
|
+
includeTree: true
|
|
101
|
+
});
|
|
102
|
+
console.log('导出的内容长度:', exportedContent.length);
|
|
103
|
+
console.log('导出的内容(前500字符):\n', exportedContent.substring(0, 500));
|
|
104
|
+
console.log('\n' + '='.repeat(60));
|
|
105
|
+
console.log('[SUCCESS] 所有测试通过!');
|
|
106
|
+
console.log('='.repeat(60));
|
|
107
|
+
return workspace;
|
|
108
|
+
} catch (error) {
|
|
109
|
+
console.error('\n[ERROR] 测试失败:', error);
|
|
110
|
+
console.error('错误堆栈:', error.stack);
|
|
111
|
+
throw error;
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
return _runWorkspaceTests.apply(this, arguments);
|
|
115
|
+
}
|
|
116
|
+
function quickTest() {
|
|
117
|
+
return _quickTest.apply(this, arguments);
|
|
118
|
+
} // 动态文档功能演示
|
|
119
|
+
function _quickTest() {
|
|
120
|
+
_quickTest = _asyncToGenerator(function* () {
|
|
121
|
+
var workspace = new Workspace({
|
|
122
|
+
name: '快速测试工作空间'
|
|
123
|
+
});
|
|
124
|
+
console.log('[INIT] 快速测试工作空间已创建');
|
|
125
|
+
console.log('使用方法:');
|
|
126
|
+
console.log(' - workspace.getDirectoryTree() - 获取目录树');
|
|
127
|
+
console.log(' - workspace.openComponentDoc(path) - 打开组件文档');
|
|
128
|
+
console.log(' - workspace.openComponentDocByNamespace(namespace) - 根据 namespace 打开组件文档');
|
|
129
|
+
console.log(' - workspace.openDocument(id, options) - 打开动态文档');
|
|
130
|
+
console.log(' - workspace.registerDynamicDirectory(config) - 注册动态文档目录');
|
|
131
|
+
console.log(' - workspace.export() - 导出工作空间内容');
|
|
132
|
+
console.log(' - workspace.refresh() - 刷新工作空间');
|
|
133
|
+
try {
|
|
134
|
+
// 先看看目录树
|
|
135
|
+
console.log('\n[步骤1] 获取目录树');
|
|
136
|
+
var tree = yield workspace.getDirectoryTree({
|
|
137
|
+
showDescription: true
|
|
138
|
+
});
|
|
139
|
+
console.log(tree);
|
|
140
|
+
console.log('\n[步骤2] 检查默认打开的文件');
|
|
141
|
+
var openedFiles = workspace.getOpenedFilePaths();
|
|
142
|
+
console.log('已打开的文件列表:', openedFiles);
|
|
143
|
+
console.log('项目信息和聚焦信息应该已默认打开');
|
|
144
|
+
console.log('\n[步骤3] 开始导出...');
|
|
145
|
+
var result = yield workspace.export();
|
|
146
|
+
console.log('导出完成!');
|
|
147
|
+
console.log('导出内容长度:', result.length);
|
|
148
|
+
console.log('\n导出内容(前500字符):\n', result.substring(0, 500));
|
|
149
|
+
return workspace;
|
|
150
|
+
} catch (error) {
|
|
151
|
+
console.error('[ERROR] 测试失败:', error);
|
|
152
|
+
console.error('错误堆栈:', error.stack);
|
|
153
|
+
throw error;
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
return _quickTest.apply(this, arguments);
|
|
157
|
+
}
|
|
158
|
+
function testDynamicDocs() {
|
|
159
|
+
return _testDynamicDocs.apply(this, arguments);
|
|
160
|
+
} // 注入到 window 对象供浏览器控制台使用
|
|
161
|
+
function _testDynamicDocs() {
|
|
162
|
+
_testDynamicDocs = _asyncToGenerator(function* () {
|
|
163
|
+
console.log('='.repeat(60));
|
|
164
|
+
console.log('测试动态文档功能');
|
|
165
|
+
console.log('='.repeat(60));
|
|
166
|
+
var workspace = new Workspace({
|
|
167
|
+
name: '动态文档测试工作空间'
|
|
168
|
+
});
|
|
169
|
+
|
|
170
|
+
// 1. 注册多个动态文档目录
|
|
171
|
+
console.log('\n[步骤1] 注册多个动态文档目录');
|
|
172
|
+
workspace.registerDynamicDirectory({
|
|
173
|
+
id: 'opened-pages',
|
|
174
|
+
name: '已打开的页面',
|
|
175
|
+
description: '用户打开的页面文档',
|
|
176
|
+
weight: 80,
|
|
177
|
+
hidden: false
|
|
178
|
+
});
|
|
179
|
+
workspace.registerDynamicDirectory({
|
|
180
|
+
id: 'opened-components',
|
|
181
|
+
name: '已打开的组件',
|
|
182
|
+
description: '用户打开的组件文档',
|
|
183
|
+
weight: 70,
|
|
184
|
+
hidden: false
|
|
185
|
+
});
|
|
186
|
+
console.log('[SUCCESS] 已注册 2 个动态文档目录');
|
|
187
|
+
|
|
188
|
+
// 2. 添加文档到不同的目录
|
|
189
|
+
console.log('\n[步骤2] 添加文档到不同的目录');
|
|
190
|
+
yield workspace.openDocument('page_u_abc123', {
|
|
191
|
+
type: '画布',
|
|
192
|
+
content: '<页面1[id=u_abc123]>\n <容器[id=u_def456]>\n <按钮[id=u_ghi789]>',
|
|
193
|
+
title: '页面1',
|
|
194
|
+
description: '这是第一个页面',
|
|
195
|
+
directoryId: 'opened-pages'
|
|
196
|
+
});
|
|
197
|
+
yield workspace.openDocument('component_u_xyz999', {
|
|
198
|
+
type: '组件',
|
|
199
|
+
content: '<按钮组件[id=u_xyz999]>\n 属性: { text: "点击我" }',
|
|
200
|
+
title: '按钮组件',
|
|
201
|
+
description: '一个普通按钮',
|
|
202
|
+
directoryId: 'opened-components'
|
|
203
|
+
});
|
|
204
|
+
console.log('[SUCCESS] 已添加文档到不同目录');
|
|
205
|
+
|
|
206
|
+
// 3. 查看目录树
|
|
207
|
+
console.log('\n[步骤3] 查看目录树');
|
|
208
|
+
var tree = yield workspace.getDirectoryTree({
|
|
209
|
+
showDescription: true
|
|
210
|
+
});
|
|
211
|
+
console.log(tree);
|
|
212
|
+
|
|
213
|
+
// 4. 导出内容
|
|
214
|
+
console.log('\n[步骤4] 导出内容');
|
|
215
|
+
var exported = yield workspace.export({
|
|
216
|
+
includeTree: true
|
|
217
|
+
});
|
|
218
|
+
console.log('导出内容长度:', exported.length);
|
|
219
|
+
console.log('\n完整导出内容:\n', exported);
|
|
220
|
+
console.log('\n' + '='.repeat(60));
|
|
221
|
+
console.log('[SUCCESS] 动态文档功能测试完成!');
|
|
222
|
+
console.log('='.repeat(60));
|
|
223
|
+
return workspace;
|
|
224
|
+
});
|
|
225
|
+
return _testDynamicDocs.apply(this, arguments);
|
|
226
|
+
}
|
|
227
|
+
if (typeof window !== 'undefined') {
|
|
228
|
+
window.workspaceTest = {
|
|
229
|
+
runTests: runWorkspaceTests,
|
|
230
|
+
quickTest,
|
|
231
|
+
testDynamicDocs,
|
|
232
|
+
Workspace,
|
|
233
|
+
context
|
|
234
|
+
};
|
|
235
|
+
console.log('[READY] 测试函数已注入到 window.workspaceTest');
|
|
236
|
+
console.log('使用方法:');
|
|
237
|
+
console.log(' - window.workspaceTest.runTests() - 运行完整测试');
|
|
238
|
+
console.log(' - window.workspaceTest.quickTest() - 快速创建测试实例');
|
|
239
|
+
console.log(' - window.workspaceTest.testDynamicDocs() - 测试动态文档功能');
|
|
240
|
+
console.log(' - window.workspaceTest.context - 查看 context 对象');
|
|
241
|
+
}
|
|
242
|
+
//# sourceMappingURL=test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.js","sources":["../../../src/agents/workspace-by-knowledges/test.ts"],"sourcesContent":["/**\n * Workspace 测试文件\n * 使用真实的 context API,测试函数注入到 window 供浏览器控制台使用\n */\n\nimport { Workspace } from './workspace';\nimport { context } from '../../context';\n\n// 测试函数\nasync function runWorkspaceTests() {\n console.log('='.repeat(60));\n console.log('开始测试 Workspace');\n console.log('='.repeat(60));\n \n try {\n // 检查 context 是否有必要的 API\n if (!context.api) {\n throw new Error('context.api 未初始化,请确保在设计器环境中运行此测试');\n }\n\n // 1. 创建 Workspace\n console.log('\\n[测试 1] 创建 Workspace');\n const workspace = new Workspace({\n name: '测试工作空间',\n description: '这是一个测试工作空间'\n });\n console.log('[SUCCESS] Workspace 创建成功');\n\n // 2. 获取目录树\n console.log('\\n[测试 2] 获取目录树');\n const tree = await workspace.getDirectoryTree({ showDescription: true });\n console.log('目录树:\\n', tree);\n\n // 3. 检查默认打开的文件\n console.log('\\n[测试 3] 检查默认打开的文件');\n const defaultFiles = workspace.getOpenedFilePaths();\n console.log('默认打开的文件:', defaultFiles);\n if (defaultFiles.includes('项目信息.md') && defaultFiles.includes('聚焦信息.md')) {\n console.log('[SUCCESS] 项目信息和聚焦信息已默认打开');\n } else {\n console.log('[WARN] 默认文件未完全打开');\n }\n\n // 4. 测试打开组件文档(如果有组件的话)\n console.log('\\n[测试 4] 测试打开组件文档');\n try {\n // 尝试打开一个常见的组件文档\n await workspace.openComponentDoc('组件配置文档/mybricks.normal-pc.antd5.icon.md');\n console.log('[SUCCESS] 组件文档已打开');\n } catch (error) {\n console.log('[INFO] 无法打开组件文档(可能组件不存在):', (error as Error).message);\n }\n\n // 5. 测试动态文档功能\n console.log('\\n[测试 5] 测试动态文档功能');\n \n // 注册一个自定义动态文档目录\n workspace.registerDynamicDirectory({\n id: 'custom-docs',\n name: '自定义文档',\n description: '用户自定义的文档',\n weight: 50,\n hidden: false // 不隐藏,在目录树中显示\n });\n \n // 添加动态文档到自定义目录\n await workspace.openDocument('doc1', {\n type: '组件',\n content: '这是第一个动态文档的内容\\n包含一些测试数据',\n title: '动态文档1',\n description: '这是一个测试用的动态文档',\n directoryId: 'custom-docs'\n });\n \n // 添加另一个动态文档到默认目录\n await workspace.openDocument('doc2', {\n type: '画布',\n content: '这是第二个动态文档的内容',\n title: '动态文档2',\n description: '使用默认动态文档目录'\n });\n \n console.log('[SUCCESS] 动态文档已添加');\n\n // 6. 获取已打开的文件列表\n console.log('\\n[测试 6] 获取已打开的文件列表');\n const openedFiles = workspace.getOpenedFilePaths();\n console.log('已打开的文件:', openedFiles);\n\n // 7. 再次获取目录树(应该包含自定义文档目录)\n console.log('\\n[测试 7] 获取包含动态文档目录的目录树');\n const treeWithDynamic = await workspace.getDirectoryTree({ showDescription: true });\n console.log('目录树(包含动态文档):\\n', treeWithDynamic);\n\n // 8. 导出工作空间内容\n console.log('\\n[测试 8] 导出工作空间内容');\n const exportedContent = await workspace.export({ includeTree: true });\n console.log('导出的内容长度:', exportedContent.length);\n console.log('导出的内容(前500字符):\\n', exportedContent.substring(0, 500));\n\n console.log('\\n' + '='.repeat(60));\n console.log('[SUCCESS] 所有测试通过!');\n console.log('='.repeat(60));\n\n return workspace;\n\n } catch (error) {\n console.error('\\n[ERROR] 测试失败:', error);\n console.error('错误堆栈:', (error as Error).stack);\n throw error;\n }\n}\n\n// 快捷测试函数\nasync function quickTest() {\n const workspace = new Workspace({\n name: '快速测试工作空间'\n });\n \n console.log('[INIT] 快速测试工作空间已创建');\n console.log('使用方法:');\n console.log(' - workspace.getDirectoryTree() - 获取目录树');\n console.log(' - workspace.openComponentDoc(path) - 打开组件文档');\n console.log(' - workspace.openComponentDocByNamespace(namespace) - 根据 namespace 打开组件文档');\n console.log(' - workspace.openDocument(id, options) - 打开动态文档');\n console.log(' - workspace.registerDynamicDirectory(config) - 注册动态文档目录');\n console.log(' - workspace.export() - 导出工作空间内容');\n console.log(' - workspace.refresh() - 刷新工作空间');\n\n try {\n // 先看看目录树\n console.log('\\n[步骤1] 获取目录树');\n const tree = await workspace.getDirectoryTree({ showDescription: true });\n console.log(tree);\n \n console.log('\\n[步骤2] 检查默认打开的文件');\n const openedFiles = workspace.getOpenedFilePaths();\n console.log('已打开的文件列表:', openedFiles);\n console.log('项目信息和聚焦信息应该已默认打开');\n \n console.log('\\n[步骤3] 开始导出...');\n const result = await workspace.export();\n console.log('导出完成!');\n console.log('导出内容长度:', result.length);\n console.log('\\n导出内容(前500字符):\\n', result.substring(0, 500));\n return workspace;\n } catch (error) {\n console.error('[ERROR] 测试失败:', error);\n console.error('错误堆栈:', (error as Error).stack);\n throw error;\n }\n}\n\n// 动态文档功能演示\nasync function testDynamicDocs() {\n console.log('='.repeat(60));\n console.log('测试动态文档功能');\n console.log('='.repeat(60));\n \n const workspace = new Workspace({\n name: '动态文档测试工作空间'\n });\n\n // 1. 注册多个动态文档目录\n console.log('\\n[步骤1] 注册多个动态文档目录');\n \n workspace.registerDynamicDirectory({\n id: 'opened-pages',\n name: '已打开的页面',\n description: '用户打开的页面文档',\n weight: 80,\n hidden: false\n });\n\n workspace.registerDynamicDirectory({\n id: 'opened-components',\n name: '已打开的组件',\n description: '用户打开的组件文档',\n weight: 70,\n hidden: false\n });\n\n console.log('[SUCCESS] 已注册 2 个动态文档目录');\n\n // 2. 添加文档到不同的目录\n console.log('\\n[步骤2] 添加文档到不同的目录');\n \n await workspace.openDocument('page_u_abc123', {\n type: '画布',\n content: '<页面1[id=u_abc123]>\\n <容器[id=u_def456]>\\n <按钮[id=u_ghi789]>',\n title: '页面1',\n description: '这是第一个页面',\n directoryId: 'opened-pages'\n });\n\n await workspace.openDocument('component_u_xyz999', {\n type: '组件',\n content: '<按钮组件[id=u_xyz999]>\\n 属性: { text: \"点击我\" }',\n title: '按钮组件',\n description: '一个普通按钮',\n directoryId: 'opened-components'\n });\n\n console.log('[SUCCESS] 已添加文档到不同目录');\n\n // 3. 查看目录树\n console.log('\\n[步骤3] 查看目录树');\n const tree = await workspace.getDirectoryTree({ showDescription: true });\n console.log(tree);\n\n // 4. 导出内容\n console.log('\\n[步骤4] 导出内容');\n const exported = await workspace.export({ includeTree: true });\n console.log('导出内容长度:', exported.length);\n console.log('\\n完整导出内容:\\n', exported);\n\n console.log('\\n' + '='.repeat(60));\n console.log('[SUCCESS] 动态文档功能测试完成!');\n console.log('='.repeat(60));\n\n return workspace;\n}\n\n// 注入到 window 对象供浏览器控制台使用\nif (typeof window !== 'undefined') {\n (window as any).workspaceTest = {\n runTests: runWorkspaceTests,\n quickTest,\n testDynamicDocs,\n Workspace,\n context\n };\n \n console.log('[READY] 测试函数已注入到 window.workspaceTest');\n console.log('使用方法:');\n console.log(' - window.workspaceTest.runTests() - 运行完整测试');\n console.log(' - window.workspaceTest.quickTest() - 快速创建测试实例');\n console.log(' - window.workspaceTest.testDynamicDocs() - 测试动态文档功能');\n console.log(' - window.workspaceTest.context - 查看 context 对象');\n}\n"],"names":["runWorkspaceTests","_runWorkspaceTests","apply","arguments","_asyncToGenerator","console","log","repeat","context","api","Error","workspace","Workspace","name","description","tree","getDirectoryTree","showDescription","defaultFiles","getOpenedFilePaths","includes","openComponentDoc","error","message","registerDynamicDirectory","id","weight","hidden","openDocument","type","content","title","directoryId","openedFiles","treeWithDynamic","exportedContent","export","includeTree","length","substring","stack","quickTest","_quickTest","result","testDynamicDocs","_testDynamicDocs","exported","window","workspaceTest","runTests"],"mappings":"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"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { defineProperty as _defineProperty, objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
|
|
3
|
+
var _ComponentsManager;
|
|
4
|
+
class ComponentsManager {
|
|
5
|
+
static getAiComponent(namespace) {
|
|
6
|
+
this.init();
|
|
7
|
+
return this.aiComponentMap.get(namespace);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* 获取所有可用的AI组件列表
|
|
12
|
+
* @returns 组件列表,包含 namespace, name, abbreviation, description
|
|
13
|
+
*/
|
|
14
|
+
static getAllComponents() {
|
|
15
|
+
this.init();
|
|
16
|
+
var components = [];
|
|
17
|
+
this.aiComponentMap.forEach((ai, namespace) => {
|
|
18
|
+
var _ai$all, _ai$all2;
|
|
19
|
+
components.push({
|
|
20
|
+
namespace: namespace,
|
|
21
|
+
name: ((_ai$all = ai.all) === null || _ai$all === void 0 ? void 0 : _ai$all.title) || namespace,
|
|
22
|
+
abbreviation: this.getAbbreviation(namespace),
|
|
23
|
+
description: ((_ai$all2 = ai.all) === null || _ai$all2 === void 0 ? void 0 : _ai$all2.description) || ''
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
return components;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
_ComponentsManager = ComponentsManager;
|
|
30
|
+
_defineProperty(ComponentsManager, "isLoaded", false);
|
|
31
|
+
_defineProperty(ComponentsManager, "aiComponentMap", new Map());
|
|
32
|
+
_defineProperty(ComponentsManager, "namespaceAbbrevMap", new Map());
|
|
33
|
+
// 缩写 -> 完整namespace
|
|
34
|
+
_defineProperty(ComponentsManager, "abbreviationMap", new Map());
|
|
35
|
+
// 完整namespace -> 缩写
|
|
36
|
+
_defineProperty(ComponentsManager, "init", () => {
|
|
37
|
+
if (_ComponentsManager.isLoaded) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (!window.__comlibs_edit_) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
var forEachComponent = (com, callback) => {
|
|
44
|
+
if (com !== null && com !== void 0 && com.namespace) {
|
|
45
|
+
callback === null || callback === void 0 || callback(com);
|
|
46
|
+
}
|
|
47
|
+
if (Array.isArray(com === null || com === void 0 ? void 0 : com.comAray)) {
|
|
48
|
+
com === null || com === void 0 || com.comAray.forEach(child => {
|
|
49
|
+
forEachComponent(child, callback);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
window.__comlibs_edit_.forEach(comlib => {
|
|
54
|
+
forEachComponent(comlib, com => {
|
|
55
|
+
if (com !== null && com !== void 0 && com.ai) {
|
|
56
|
+
_ComponentsManager.aiComponentMap.set(com.namespace, _objectSpread2(_objectSpread2({}, com.ai), {}, {
|
|
57
|
+
all: com
|
|
58
|
+
}));
|
|
59
|
+
var abbreviation = com.namespace.replace('mybricks.normal-pc.antd5.', 'pc.').replace('mybricks.normal-pc.', 'pc.').replace('mybricks.harmony.', 'mb.').replace('mybricks.taro.', 'mb.');
|
|
60
|
+
|
|
61
|
+
// 收集缩写映射关系
|
|
62
|
+
if (abbreviation !== com.namespace) {
|
|
63
|
+
_ComponentsManager.namespaceAbbrevMap.set(abbreviation, com.namespace);
|
|
64
|
+
_ComponentsManager.abbreviationMap.set(com.namespace, abbreviation);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
_ComponentsManager.isLoaded = true;
|
|
70
|
+
});
|
|
71
|
+
_defineProperty(ComponentsManager, "getRequireComponents", ns => {
|
|
72
|
+
_ComponentsManager.init();
|
|
73
|
+
var res = [];
|
|
74
|
+
if (_ComponentsManager.aiComponentMap.has(ns)) {
|
|
75
|
+
var ai = _ComponentsManager.aiComponentMap.get(ns);
|
|
76
|
+
if (Array.isArray(ai.requires)) {
|
|
77
|
+
res = res.concat(ai.requires);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return res;
|
|
81
|
+
});
|
|
82
|
+
/**
|
|
83
|
+
* 判断是否为布局组件(asLayout)
|
|
84
|
+
*/
|
|
85
|
+
_defineProperty(ComponentsManager, "isLayoutComponent", namespace => {
|
|
86
|
+
_ComponentsManager.init();
|
|
87
|
+
var ai = _ComponentsManager.aiComponentMap.get(_ComponentsManager.getFullNamespace(namespace));
|
|
88
|
+
return !!(ai !== null && ai !== void 0 && ai.asLayout);
|
|
89
|
+
});
|
|
90
|
+
/**
|
|
91
|
+
* 获取所有布局组件的 namespace 缩写数组
|
|
92
|
+
*/
|
|
93
|
+
_defineProperty(ComponentsManager, "getLayoutComponentsAbbreviationNs", () => {
|
|
94
|
+
_ComponentsManager.init();
|
|
95
|
+
var res = [];
|
|
96
|
+
_ComponentsManager.aiComponentMap.forEach((ai, namespace) => {
|
|
97
|
+
if (ai !== null && ai !== void 0 && ai.asLayout) {
|
|
98
|
+
res.push(_ComponentsManager.getAbbreviation(namespace));
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
return res;
|
|
102
|
+
});
|
|
103
|
+
/**
|
|
104
|
+
* 根据完整namespace获取缩写
|
|
105
|
+
* @param namespace 完整的namespace
|
|
106
|
+
* @returns 缩写namespace,如果没有缩写则返回原namespace
|
|
107
|
+
*/
|
|
108
|
+
_defineProperty(ComponentsManager, "getAbbreviation", namespace => {
|
|
109
|
+
_ComponentsManager.init();
|
|
110
|
+
return _ComponentsManager.abbreviationMap.get(namespace) || namespace;
|
|
111
|
+
});
|
|
112
|
+
/**
|
|
113
|
+
* 根据缩写获取完整namespace
|
|
114
|
+
* @param abbreviation 缩写
|
|
115
|
+
* @returns 完整namespace,如果没有对应的完整namespace则返回原缩写
|
|
116
|
+
*/
|
|
117
|
+
_defineProperty(ComponentsManager, "getFullNamespace", abbreviation => {
|
|
118
|
+
_ComponentsManager.init();
|
|
119
|
+
return _ComponentsManager.namespaceAbbrevMap.get(abbreviation) || abbreviation;
|
|
120
|
+
});
|
|
121
|
+
/**
|
|
122
|
+
* 重置加载状态(用于测试或重新初始化)
|
|
123
|
+
*/
|
|
124
|
+
_defineProperty(ComponentsManager, "reset", () => {
|
|
125
|
+
_ComponentsManager.isLoaded = false;
|
|
126
|
+
_ComponentsManager.aiComponentMap.clear();
|
|
127
|
+
_ComponentsManager.namespaceAbbrevMap.clear();
|
|
128
|
+
_ComponentsManager.abbreviationMap.clear();
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
export { ComponentsManager };
|
|
132
|
+
//# sourceMappingURL=components-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-manager.js","sources":["../../../../src/agents/workspace-by-knowledges/utils/components-manager.ts"],"sourcesContent":["export class ComponentsManager {\n private static isLoaded = false\n private static aiComponentMap = new Map<string, any>()\n private static namespaceAbbrevMap = new Map<string, string>() // 缩写 -> 完整namespace\n private static abbreviationMap = new Map<string, string>() // 完整namespace -> 缩写\n\n private static init = () => {\n if (this.isLoaded) {\n return\n }\n if (!window.__comlibs_edit_) {\n return\n }\n\n const forEachComponent = (com: any, callback: (com: any) => void) => {\n if (com?.namespace) {\n callback?.(com)\n }\n if (Array.isArray(com?.comAray)) {\n com?.comAray.forEach((child: any) => {\n forEachComponent(child, callback)\n })\n }\n }\n\n window.__comlibs_edit_.forEach((comlib: any) => {\n forEachComponent(comlib, (com) => {\n if (com?.ai) {\n this.aiComponentMap.set(com.namespace, {\n ...com.ai,\n all: com\n })\n \n const abbreviation = com.namespace\n .replace('mybricks.normal-pc.antd5.', 'pc.')\n .replace('mybricks.normal-pc.', 'pc.')\n .replace('mybricks.harmony.', 'mb.')\n .replace('mybricks.taro.', 'mb.')\n \n // 收集缩写映射关系\n if (abbreviation !== com.namespace) {\n this.namespaceAbbrevMap.set(abbreviation, com.namespace)\n this.abbreviationMap.set(com.namespace, abbreviation)\n }\n }\n })\n })\n\n this.isLoaded = true\n }\n\n static getRequireComponents = (ns: string): any[] => {\n this.init()\n\n let res: any[] = []\n if (this.aiComponentMap.has(ns)) {\n const ai = this.aiComponentMap.get(ns)\n if (Array.isArray(ai.requires)) {\n res = res.concat(ai.requires)\n }\n }\n return res\n }\n\n /**\n * 判断是否为布局组件(asLayout)\n */\n static isLayoutComponent = (namespace: string): boolean => {\n this.init()\n const ai = this.aiComponentMap.get(this.getFullNamespace(namespace))\n return !!ai?.asLayout\n }\n\n /**\n * 获取所有布局组件的 namespace 缩写数组\n */\n static getLayoutComponentsAbbreviationNs = (): string[] => {\n this.init()\n const res: string[] = []\n\n this.aiComponentMap.forEach((ai, namespace) => {\n if (ai?.asLayout) {\n res.push(this.getAbbreviation(namespace))\n }\n })\n\n return res\n }\n\n /**\n * 根据完整namespace获取缩写\n * @param namespace 完整的namespace\n * @returns 缩写namespace,如果没有缩写则返回原namespace\n */\n static getAbbreviation = (namespace: string): string => {\n this.init()\n return this.abbreviationMap.get(namespace) || namespace\n }\n\n /**\n * 根据缩写获取完整namespace\n * @param abbreviation 缩写\n * @returns 完整namespace,如果没有对应的完整namespace则返回原缩写\n */\n static getFullNamespace = (abbreviation: string): string => {\n this.init()\n return this.namespaceAbbrevMap.get(abbreviation) || abbreviation\n }\n\n /**\n * 重置加载状态(用于测试或重新初始化)\n */\n static reset = () => {\n this.isLoaded = false\n this.aiComponentMap.clear()\n this.namespaceAbbrevMap.clear()\n this.abbreviationMap.clear()\n }\n\n static getAiComponent(namespace: string) {\n this.init()\n return this.aiComponentMap.get(namespace)\n }\n\n /**\n * 获取所有可用的AI组件列表\n * @returns 组件列表,包含 namespace, name, abbreviation, description\n */\n static getAllComponents(): Array<{ namespace: string; name: string; abbreviation: string; description: string }> {\n this.init()\n const components: Array<{ namespace: string; name: string; abbreviation: string; description: string }> = []\n\n this.aiComponentMap.forEach((ai, namespace) => {\n components.push({\n namespace: namespace,\n name: ai.all?.title || namespace,\n abbreviation: this.getAbbreviation(namespace),\n description: ai.all?.description || ''\n })\n })\n\n return components\n }\n}\n\n"],"names":["ComponentsManager","getAiComponent","namespace","init","aiComponentMap","get","getAllComponents","components","forEach","ai","_ai$all","_ai$all2","push","name","all","title","abbreviation","getAbbreviation","description","_ComponentsManager","_defineProperty","Map","isLoaded","window","__comlibs_edit_","forEachComponent","com","callback","Array","isArray","comAray","child","comlib","set","_objectSpread","replace","namespaceAbbrevMap","abbreviationMap","ns","res","has","requires","concat","getFullNamespace","asLayout","clear"],"mappings":"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"}
|