@mybricks/plugin-ai 0.0.1 → 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/dist/api-record-replay/recorder.js +107 -0
- 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/dist/preset/user.js +7 -0
- 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 +33 -6
- package/src/agents/app.ts +0 -173
- package/src/agents/common.ts +0 -111
- package/src/agents/index.ts +0 -7
- package/src/components/icons/index.less +0 -8
- package/src/components/icons/index.tsx +0 -24
- package/src/components/messages/index.less +0 -806
- package/src/components/messages/index.tsx +0 -236
- package/src/context/index.ts +0 -21
- package/src/data.ts +0 -5
- package/src/index.tsx +0 -84
- package/src/mock.ts +0 -1267
- package/src/startView/index.less +0 -216
- package/src/startView/index.tsx +0 -229
- package/src/tools/analyze-and-expand-prd.ts +0 -166
- package/src/tools/answer-user.ts +0 -35
- package/src/tools/focus-element.ts +0 -47
- package/src/tools/generate-page.ts +0 -750
- package/src/tools/get-component-info-by-ids.ts +0 -166
- package/src/tools/get-component-info.ts +0 -53
- package/src/tools/get-components-doc-and-prd.ts +0 -137
- package/src/tools/get-focus-mybricks-dsl.ts +0 -26
- package/src/tools/get-mybricks-dsl.ts +0 -73
- package/src/tools/index.ts +0 -25
- package/src/tools/modify-component.ts +0 -385
- package/src/tools/type.d.ts +0 -12
- package/src/tools/utils.ts +0 -62
- package/src/types.d.ts +0 -65
- package/src/view/components/header/header.less +0 -17
- package/src/view/components/header/header.tsx +0 -15
- package/src/view/components/index.ts +0 -3
- package/src/view/components/messages/messages.less +0 -228
- package/src/view/components/messages/messages.tsx +0 -172
- package/src/view/components/sender/sender.less +0 -44
- package/src/view/components/sender/sender.tsx +0 -62
- package/src/view/index.less +0 -5
- package/src/view/index.tsx +0 -18
|
@@ -0,0 +1,483 @@
|
|
|
1
|
+
import { objectSpread2 as _objectSpread2 } from '../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { context } from '../context/index.js';
|
|
3
|
+
import { MYBRICKS_TOOLS } from '../tools/index.js';
|
|
4
|
+
import { WorkSpace } from './workspace/workspace.js';
|
|
5
|
+
import { FocusOutlineInfoManager } from './workspace/outline-focus.js';
|
|
6
|
+
import { ComponentsManager } from './workspace/components-manager.js';
|
|
7
|
+
import { getAgentConfigs } from './utils/config.js';
|
|
8
|
+
import { CodingManager } from './workspace/coding-manager.js';
|
|
9
|
+
|
|
10
|
+
var getFocusInfo = focus => {
|
|
11
|
+
var focusInfo = {
|
|
12
|
+
pageId: focus === null || focus === void 0 ? void 0 : focus.pageId,
|
|
13
|
+
comId: focus === null || focus === void 0 ? void 0 : focus.comId,
|
|
14
|
+
title: focus === null || focus === void 0 ? void 0 : focus.title,
|
|
15
|
+
type: focus === null || focus === void 0 ? void 0 : focus.type,
|
|
16
|
+
focusArea: focus === null || focus === void 0 ? void 0 : focus.focusArea
|
|
17
|
+
};
|
|
18
|
+
if (focus.type === "logicCom") {
|
|
19
|
+
focusInfo.pageId = focus.rootFrameId;
|
|
20
|
+
focusInfo.diagramId = focus.diagramId;
|
|
21
|
+
}
|
|
22
|
+
return focusInfo;
|
|
23
|
+
};
|
|
24
|
+
var getTargetId = focus => {
|
|
25
|
+
if (['uiCom', 'logicCom'].includes(focus.type)) {
|
|
26
|
+
return focus.comId;
|
|
27
|
+
}
|
|
28
|
+
return focus.pageId;
|
|
29
|
+
};
|
|
30
|
+
var requestCommonAgent = params => {
|
|
31
|
+
return new Promise((resolve, reject) => {
|
|
32
|
+
var _onProgress, _context$designer, _context$designer$get;
|
|
33
|
+
// 从 agents 配置中获取提示词配置,优先使用参数传入的,否则使用 context 中的
|
|
34
|
+
var agents = params.agents || context.agents;
|
|
35
|
+
var agentConfig = getAgentConfigs(agents, 'page');
|
|
36
|
+
var currentFocus = params.focus || context.currentFocus;
|
|
37
|
+
var focusInfo = getFocusInfo(currentFocus);
|
|
38
|
+
var targetType = focusInfo.type;
|
|
39
|
+
var targetId = getTargetId(focusInfo);
|
|
40
|
+
var targetPageId = focusInfo.pageId;
|
|
41
|
+
if (!targetPageId) {
|
|
42
|
+
return reject('缺少聚焦页面id');
|
|
43
|
+
}
|
|
44
|
+
var outlineInfoManager = new FocusOutlineInfoManager({
|
|
45
|
+
api: context.api,
|
|
46
|
+
focusInfo
|
|
47
|
+
});
|
|
48
|
+
var componentIdToTitleMap = targetPageId ? outlineInfoManager.getComponentIdToTitleMap(targetPageId) : new Map();
|
|
49
|
+
var workspace = new WorkSpace({
|
|
50
|
+
currentFocus: focusInfo
|
|
51
|
+
}, {
|
|
52
|
+
getAllPageInfo() {
|
|
53
|
+
return context.api.global.api.getAllPageInfo();
|
|
54
|
+
},
|
|
55
|
+
getComponentDoc(namespace) {
|
|
56
|
+
var _ref, _context$api$global$a, _context$api, _context$api2;
|
|
57
|
+
return (_ref = (_context$api$global$a = (_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 ? void 0 : _context$api.getComEditorPrompts) !== null && _context$api$global$a !== void 0 ? _context$api$global$a : (_context$api2 = context.api) === null || _context$api2 === void 0 || (_context$api2 = _context$api2.uiCom) === null || _context$api2 === void 0 || (_context$api2 = _context$api2.api) === null || _context$api2 === void 0 ? void 0 : _context$api2.getComEditorPrompts) === null || _ref === void 0 ? void 0 : _ref(namespace);
|
|
58
|
+
}
|
|
59
|
+
}, outlineInfoManager);
|
|
60
|
+
var codingManager = new CodingManager({
|
|
61
|
+
pageId: targetPageId,
|
|
62
|
+
attachments: params.attachments,
|
|
63
|
+
getJsxById: id => workspace.getJsxById(id)
|
|
64
|
+
});
|
|
65
|
+
var onProgress = params.onProgress;
|
|
66
|
+
var historyFocusDesc = generateHistoryFocusDescription(focusInfo);
|
|
67
|
+
var focusEleDesc = generateFocusTargetDescription(focusInfo);
|
|
68
|
+
if (targetType === "uiCom") {
|
|
69
|
+
var _context$api$uiCom$ap;
|
|
70
|
+
onProgress = (_context$api$uiCom$ap = context.api.uiCom.api.getComOnProcess(targetId)) === null || _context$api$uiCom$ap === void 0 ? void 0 : _context$api$uiCom$ap.onProgress;
|
|
71
|
+
} else if (targetType === "page") {
|
|
72
|
+
var _context$api$page$api;
|
|
73
|
+
onProgress = (_context$api$page$api = context.api.page.api.getPageOnProcess(targetId)) === null || _context$api$page$api === void 0 ? void 0 : _context$api$page$api.onProgress;
|
|
74
|
+
}
|
|
75
|
+
(_onProgress = onProgress) === null || _onProgress === void 0 || _onProgress('start');
|
|
76
|
+
typeof (params === null || params === void 0 ? void 0 : params.message) !== 'string';
|
|
77
|
+
|
|
78
|
+
// workspace.openDocument('u_qLciw]')
|
|
79
|
+
|
|
80
|
+
// workspace.openDocument('u_ADKKC')
|
|
81
|
+
|
|
82
|
+
// workspace.openDocument('u_ZJ_bn')
|
|
83
|
+
|
|
84
|
+
// workspace.openDocument('u_ADKKC')
|
|
85
|
+
// workspace.openDocument('u_XZL9q')
|
|
86
|
+
|
|
87
|
+
// workspace.openDocument('u_k_1dW')
|
|
88
|
+
// workspace.openDocument('u_ADKKC')
|
|
89
|
+
|
|
90
|
+
// // 页面
|
|
91
|
+
// workspace.openDocument('u_yjFHf')
|
|
92
|
+
// workspace.openDocument('u_tycgh')
|
|
93
|
+
|
|
94
|
+
// // 页面 + 组件
|
|
95
|
+
// workspace.openDocument('u_yjFHf')
|
|
96
|
+
// workspace.openDocument('u_ADKKC')
|
|
97
|
+
|
|
98
|
+
// return console.log(workspace.getProjectStruct())
|
|
99
|
+
|
|
100
|
+
// try {
|
|
101
|
+
// workspace.openDocument(targetPageId)
|
|
102
|
+
|
|
103
|
+
// return console.log(workspace.getProjectStruct())
|
|
104
|
+
|
|
105
|
+
// workspace.openComponentDoc('mybricks.normal-pc.antd5.form-container')
|
|
106
|
+
// return console.log(workspace.getComponentsDocs());
|
|
107
|
+
// } catch (error) {
|
|
108
|
+
// console.error(error)
|
|
109
|
+
// }
|
|
110
|
+
// return
|
|
111
|
+
|
|
112
|
+
context.rxai.requestAI(_objectSpread2(_objectSpread2({}, params), {}, {
|
|
113
|
+
message: params === null || params === void 0 ? void 0 : params.message,
|
|
114
|
+
blockId: targetId,
|
|
115
|
+
// enableLog: true,
|
|
116
|
+
emits: {
|
|
117
|
+
write: () => {},
|
|
118
|
+
complete: () => {
|
|
119
|
+
var _onProgress2;
|
|
120
|
+
resolve('complete');
|
|
121
|
+
(_onProgress2 = onProgress) === null || _onProgress2 === void 0 || _onProgress2("complete");
|
|
122
|
+
console.log('common complete');
|
|
123
|
+
},
|
|
124
|
+
error: () => {
|
|
125
|
+
var _onProgress3;
|
|
126
|
+
reject('error');
|
|
127
|
+
(_onProgress3 = onProgress) === null || _onProgress3 === void 0 || _onProgress3("error");
|
|
128
|
+
console.log('common error');
|
|
129
|
+
},
|
|
130
|
+
cancel: () => {}
|
|
131
|
+
},
|
|
132
|
+
tools: [MYBRICKS_TOOLS.OpenDsl({
|
|
133
|
+
onOpen(id) {
|
|
134
|
+
workspace.openDocument(id);
|
|
135
|
+
}
|
|
136
|
+
}), MYBRICKS_TOOLS.AnalyzeRequirementAndComponents(_objectSpread2(_objectSpread2({
|
|
137
|
+
allowComponents: ((_context$designer = context.designer) === null || _context$designer === void 0 || (_context$designer$get = _context$designer.getAllComDefPrompts) === null || _context$designer$get === void 0 ? void 0 : _context$designer$get.call(_context$designer)) || ""
|
|
138
|
+
}, agentConfig === null || agentConfig === void 0 ? void 0 : agentConfig.getToolParams(MYBRICKS_TOOLS.AnalyzeRequirementAndComponents.toolName)), {}, {
|
|
139
|
+
onComponentDocOpen: namespace => {
|
|
140
|
+
workspace.openComponentDoc(namespace);
|
|
141
|
+
},
|
|
142
|
+
appendPrompt: agentConfig === null || agentConfig === void 0 ? void 0 : agentConfig.attentions,
|
|
143
|
+
deviceType: context.deviceType
|
|
144
|
+
})), MYBRICKS_TOOLS.GenerateUiContent(_objectSpread2(_objectSpread2({
|
|
145
|
+
getRootComponentDoc: () => {
|
|
146
|
+
var _context$api3, _context$api3$getPage;
|
|
147
|
+
return (_context$api3 = context.api) === null || _context$api3 === void 0 || (_context$api3 = _context$api3.page) === null || _context$api3 === void 0 || (_context$api3 = _context$api3.api) === null || _context$api3 === void 0 || (_context$api3$getPage = _context$api3.getPageContainerPrompts) === null || _context$api3$getPage === void 0 ? void 0 : _context$api3$getPage.call(_context$api3, targetPageId);
|
|
148
|
+
},
|
|
149
|
+
getTargetId: () => targetPageId,
|
|
150
|
+
getRootIdByPageId(pageId) {
|
|
151
|
+
var _outlineInfoManager$g;
|
|
152
|
+
return (_outlineInfoManager$g = outlineInfoManager.getPageMetaInfo(pageId)) === null || _outlineInfoManager$g === void 0 ? void 0 : _outlineInfoManager$g.rootId;
|
|
153
|
+
},
|
|
154
|
+
componentIdToTitleMap,
|
|
155
|
+
appendPrompt: agentConfig === null || agentConfig === void 0 ? void 0 : agentConfig.attentions
|
|
156
|
+
}, agentConfig === null || agentConfig === void 0 ? void 0 : agentConfig.getToolParams(MYBRICKS_TOOLS.GenerateUiContent.toolName)), {}, {
|
|
157
|
+
onActions: (actions, status) => {
|
|
158
|
+
var _context$designer2, _context$designer2$up;
|
|
159
|
+
return (_context$designer2 = context.designer) === null || _context$designer2 === void 0 || (_context$designer2$up = _context$designer2.updatePage) === null || _context$designer2$up === void 0 ? void 0 : _context$designer2$up.call(_context$designer2, targetPageId, actions, status);
|
|
160
|
+
},
|
|
161
|
+
onClearPage: () => {
|
|
162
|
+
var _context$api4, _context$api4$clearPa;
|
|
163
|
+
(_context$api4 = context.api) === null || _context$api4 === void 0 || (_context$api4 = _context$api4.page) === null || _context$api4 === void 0 || (_context$api4 = _context$api4.api) === null || _context$api4 === void 0 || (_context$api4$clearPa = _context$api4.clearPageContent) === null || _context$api4$clearPa === void 0 || _context$api4$clearPa.call(_context$api4, targetPageId);
|
|
164
|
+
},
|
|
165
|
+
onAddCodingBlock(com) {
|
|
166
|
+
codingManager.addCodingCom(com);
|
|
167
|
+
}
|
|
168
|
+
})),
|
|
169
|
+
// MYBRICKS_TOOLS.GenerateUiContent({
|
|
170
|
+
// getRootComponentDoc: () => context.api?.page?.api?.getPageContainerPrompts?.(targetPageId) as string,
|
|
171
|
+
// getTargetId: () => targetPageId as string,
|
|
172
|
+
// getRootIdByPageId(pageId: string) {
|
|
173
|
+
// return outlineInfoManager.getPageMetaInfo(pageId)?.rootId
|
|
174
|
+
// },
|
|
175
|
+
// componentIdToTitleMap,
|
|
176
|
+
// appendPrompt: `<对于当前搭建有以下特殊上下文>
|
|
177
|
+
// <搭建画布信息>
|
|
178
|
+
// 当前正在搭建各类智能穿戴设备的表盘,画布的宽度和高度我们限制为466*466,所有内容必须使用*绝对定位*布局绘制到画布上。
|
|
179
|
+
|
|
180
|
+
// 注意:根组件的布局必须设置position=absolute(绝对定位)和具体的宽高。
|
|
181
|
+
// </搭建画布信息>
|
|
182
|
+
// </对于当前搭建有以下特殊上下文>`,
|
|
183
|
+
// examples: `<example>
|
|
184
|
+
// <user_query>搭建一个科技风表盘</user_query>
|
|
185
|
+
// <assistant_response>
|
|
186
|
+
// 好的,我们来实现一个科技风的表盘,搭建过程如下:
|
|
187
|
+
// 1. 首先,必须配置合理的表盘宽度和高度、标题、布局以及样式;
|
|
188
|
+
// 2. 其次搭建各类元素,将各类表盘元素放置到合适的位置;
|
|
189
|
+
|
|
190
|
+
// ${fileFormat({
|
|
191
|
+
// content: `["_root_",":root","setLayout",{"height": 466, "width": "466"}]
|
|
192
|
+
// ["_root_",":root","doConfig",{"path":"root/标题","value":"科技风表盘"}]
|
|
193
|
+
// ["_root_",":root","doConfig",{"path":"root/布局","value":{"position": "absolute"}}]
|
|
194
|
+
// ["_root_",":root","doConfig",{"path":"root/样式","value":{"background":"linear-gradient(135deg, #0c0c0c 0%, #1a1a2e 50%, #16213e 100%)"}}]
|
|
195
|
+
// ["_root_","_rootSlot_","addChild",{"title":"电池图标显示","ns":"somelib.battery","comId":"u_digital_time","layout":{"position":"absolute","top":10,"left":300},"configs":[]}]
|
|
196
|
+
// `,
|
|
197
|
+
// fileName: '生成科技风表盘操作步骤.json'
|
|
198
|
+
// })}
|
|
199
|
+
|
|
200
|
+
// 注意:
|
|
201
|
+
// - 表盘所有元素必须由自由布局绘制而成
|
|
202
|
+
// </assistant_response>
|
|
203
|
+
// </example>`,
|
|
204
|
+
// onActions: (actions, status) => {
|
|
205
|
+
// context.api?.page?.api?.updatePage?.(targetPageId, actions, status)
|
|
206
|
+
// },
|
|
207
|
+
// onClearPage: () => {
|
|
208
|
+
// context.api?.page?.api?.clearPageContent?.(targetPageId)
|
|
209
|
+
// }
|
|
210
|
+
// }),
|
|
211
|
+
MYBRICKS_TOOLS.RefactorUiContent({
|
|
212
|
+
onActions: (actions, status, type) => {
|
|
213
|
+
var _context$designer4, _context$designer4$up;
|
|
214
|
+
if (!status) {
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
// 只有聚焦到组件上,且第一个操作ID是组件ID,且父组件不为页面ID,才会触发组件级更新
|
|
219
|
+
if (targetType === 'uiCom' && targetId && type === 'uiCom') {
|
|
220
|
+
var _outlineInfoManager$f;
|
|
221
|
+
var parentId = workspace.focusPageOutlineInfo ? (_outlineInfoManager$f = outlineInfoManager.findParentNodeByComId(workspace.focusPageOutlineInfo, targetId)) === null || _outlineInfoManager$f === void 0 ? void 0 : _outlineInfoManager$f.id : undefined;
|
|
222
|
+
if (parentId && parentId !== targetPageId) {
|
|
223
|
+
var _context$designer3, _context$designer3$up;
|
|
224
|
+
return (_context$designer3 = context.designer) === null || _context$designer3 === void 0 || (_context$designer3$up = _context$designer3.updateUiCom) === null || _context$designer3$up === void 0 ? void 0 : _context$designer3$up.call(_context$designer3, parentId, actions, status);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
return (_context$designer4 = context.designer) === null || _context$designer4 === void 0 || (_context$designer4$up = _context$designer4.updatePage) === null || _context$designer4$up === void 0 ? void 0 : _context$designer4$up.call(_context$designer4, targetPageId, actions, status);
|
|
228
|
+
},
|
|
229
|
+
componentIdToTitleMap,
|
|
230
|
+
appendPrompt: agentConfig === null || agentConfig === void 0 ? void 0 : agentConfig.attentions,
|
|
231
|
+
getRootComponentDoc: () => {
|
|
232
|
+
var _context$api5, _context$api5$getPage;
|
|
233
|
+
return (_context$api5 = context.api) === null || _context$api5 === void 0 || (_context$api5 = _context$api5.page) === null || _context$api5 === void 0 || (_context$api5 = _context$api5.api) === null || _context$api5 === void 0 || (_context$api5$getPage = _context$api5.getPageContainerPrompts) === null || _context$api5$getPage === void 0 ? void 0 : _context$api5$getPage.call(_context$api5, targetPageId);
|
|
234
|
+
},
|
|
235
|
+
getTargetId: () => targetPageId,
|
|
236
|
+
getFocusElementHasChildren() {
|
|
237
|
+
if (!['page', 'logicCom', 'section'].includes(currentFocus === null || currentFocus === void 0 ? void 0 : currentFocus.type) && targetId) {
|
|
238
|
+
var json = outlineInfoManager.getUiComOutline(targetId);
|
|
239
|
+
if (!json.slots || Array.isArray(json.slots) && json.slots.length === 0) {
|
|
240
|
+
return false;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
return true;
|
|
244
|
+
},
|
|
245
|
+
getFocusElementAiRole() {
|
|
246
|
+
if ((focusInfo === null || focusInfo === void 0 ? void 0 : focusInfo.type) === "uiCom") {
|
|
247
|
+
var _aiComponent$prompts;
|
|
248
|
+
var comInfo = context.api.uiCom.api.getOutlineInfo(focusInfo.comId);
|
|
249
|
+
var aiComponent = ComponentsManager.getAiComponent(comInfo.def.namespace);
|
|
250
|
+
return aiComponent === null || aiComponent === void 0 || (_aiComponent$prompts = aiComponent.prompts) === null || _aiComponent$prompts === void 0 ? void 0 : _aiComponent$prompts.aiRole;
|
|
251
|
+
}
|
|
252
|
+
return null;
|
|
253
|
+
},
|
|
254
|
+
getComIds() {
|
|
255
|
+
var comIds = [];
|
|
256
|
+
outlineInfoManager.getComponentIdToTitleMap(targetPageId).forEach((value, key) => {
|
|
257
|
+
comIds.push(key);
|
|
258
|
+
});
|
|
259
|
+
return comIds;
|
|
260
|
+
}
|
|
261
|
+
}), MYBRICKS_TOOLS.Answer({}), MYBRICKS_TOOLS.CodingSubagentAsTool({
|
|
262
|
+
codingManager,
|
|
263
|
+
onStart: () => {
|
|
264
|
+
var _context$designer5, _context$designer5$up;
|
|
265
|
+
(_context$designer5 = context.designer) === null || _context$designer5 === void 0 || (_context$designer5$up = _context$designer5.updatePage) === null || _context$designer5$up === void 0 || _context$designer5$up.call(_context$designer5, targetPageId, [], 'start');
|
|
266
|
+
},
|
|
267
|
+
onComplete: () => {
|
|
268
|
+
var _context$designer6, _context$designer6$up;
|
|
269
|
+
(_context$designer6 = context.designer) === null || _context$designer6 === void 0 || (_context$designer6$up = _context$designer6.updatePage) === null || _context$designer6$up === void 0 || _context$designer6$up.call(_context$designer6, targetPageId, [], 'complete');
|
|
270
|
+
},
|
|
271
|
+
onError: () => {
|
|
272
|
+
var _context$designer7, _context$designer7$up;
|
|
273
|
+
(_context$designer7 = context.designer) === null || _context$designer7 === void 0 || (_context$designer7$up = _context$designer7.updatePage) === null || _context$designer7$up === void 0 || _context$designer7$up.call(_context$designer7, targetPageId, [], 'complete');
|
|
274
|
+
}
|
|
275
|
+
}), MYBRICKS_TOOLS.BuildProcess({
|
|
276
|
+
// getComId: () => focusInfo.comId,
|
|
277
|
+
getPageId: () => focusInfo.pageId,
|
|
278
|
+
getComponentOutlineInfo: () => {
|
|
279
|
+
var {
|
|
280
|
+
type,
|
|
281
|
+
comId
|
|
282
|
+
} = focusInfo;
|
|
283
|
+
if (type === "uiCom") {
|
|
284
|
+
var _context$api6;
|
|
285
|
+
return {
|
|
286
|
+
type,
|
|
287
|
+
outlineInfo: (_context$api6 = context.api) === null || _context$api6 === void 0 || (_context$api6 = _context$api6.uiCom) === null || _context$api6 === void 0 || (_context$api6 = _context$api6.api) === null || _context$api6 === void 0 ? void 0 : _context$api6.getOutlineInfo(comId)
|
|
288
|
+
};
|
|
289
|
+
} else if (type === "logicCom") {
|
|
290
|
+
var _context$api7;
|
|
291
|
+
return {
|
|
292
|
+
type,
|
|
293
|
+
outlineInfo: (_context$api7 = context.api) === null || _context$api7 === void 0 || (_context$api7 = _context$api7.logicCom) === null || _context$api7 === void 0 || (_context$api7 = _context$api7.api) === null || _context$api7 === void 0 ? void 0 : _context$api7.getOutlineInfo(comId)
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
getPageOutlineInfo: () => {
|
|
298
|
+
var _context$api8;
|
|
299
|
+
return (_context$api8 = context.api) === null || _context$api8 === void 0 || (_context$api8 = _context$api8.page) === null || _context$api8 === void 0 || (_context$api8 = _context$api8.api) === null || _context$api8 === void 0 ? void 0 : _context$api8.getOutlineInfo(focusInfo.pageId);
|
|
300
|
+
},
|
|
301
|
+
getAllPageInfo() {
|
|
302
|
+
var _context$api9;
|
|
303
|
+
return (_context$api9 = context.api) === null || _context$api9 === void 0 || (_context$api9 = _context$api9.global) === null || _context$api9 === void 0 || (_context$api9 = _context$api9.api) === null || _context$api9 === void 0 ? void 0 : _context$api9.getAllPageInfo();
|
|
304
|
+
},
|
|
305
|
+
createDiagram: function createDiagram() {
|
|
306
|
+
var _context$designer8, _context$designer8$cr;
|
|
307
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
308
|
+
args[_key] = arguments[_key];
|
|
309
|
+
}
|
|
310
|
+
// console.log("[createDiagram - args]", args)
|
|
311
|
+
return (_context$designer8 = context.designer) === null || _context$designer8 === void 0 || (_context$designer8$cr = _context$designer8.createDiagram) === null || _context$designer8$cr === void 0 ? void 0 : _context$designer8$cr.call(_context$designer8, ...args);
|
|
312
|
+
},
|
|
313
|
+
updateDiagram: function updateDiagram() {
|
|
314
|
+
var _context$designer9, _context$designer9$up;
|
|
315
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
316
|
+
args[_key2] = arguments[_key2];
|
|
317
|
+
}
|
|
318
|
+
// console.log("[updateDiagram - args]", args)
|
|
319
|
+
return (_context$designer9 = context.designer) === null || _context$designer9 === void 0 || (_context$designer9$up = _context$designer9.updateDiagram) === null || _context$designer9$up === void 0 ? void 0 : _context$designer9$up.call(_context$designer9, ...args);
|
|
320
|
+
},
|
|
321
|
+
getDiagramInfo: function getDiagramInfo() {
|
|
322
|
+
var _context$designer0, _context$designer0$ge;
|
|
323
|
+
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
324
|
+
args[_key3] = arguments[_key3];
|
|
325
|
+
}
|
|
326
|
+
if (!args[0]) {
|
|
327
|
+
if (focusInfo.diagramId) {
|
|
328
|
+
return {
|
|
329
|
+
id: focusInfo.diagramId
|
|
330
|
+
};
|
|
331
|
+
}
|
|
332
|
+
return null;
|
|
333
|
+
}
|
|
334
|
+
return (_context$designer0 = context.designer) === null || _context$designer0 === void 0 || (_context$designer0$ge = _context$designer0.getDiagramInfo) === null || _context$designer0$ge === void 0 ? void 0 : _context$designer0$ge.call(_context$designer0, ...args);
|
|
335
|
+
},
|
|
336
|
+
updatePage: function updatePage() {
|
|
337
|
+
var _context$designer1, _context$designer1$up;
|
|
338
|
+
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
|
339
|
+
args[_key4] = arguments[_key4];
|
|
340
|
+
}
|
|
341
|
+
return (_context$designer1 = context.designer) === null || _context$designer1 === void 0 || (_context$designer1$up = _context$designer1.updatePage) === null || _context$designer1$up === void 0 ? void 0 : _context$designer1$up.call(_context$designer1, focusInfo.pageId, ...args);
|
|
342
|
+
},
|
|
343
|
+
updateCom: function updateCom() {
|
|
344
|
+
var _context$designer10, _context$designer10$u;
|
|
345
|
+
for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
|
|
346
|
+
args[_key5] = arguments[_key5];
|
|
347
|
+
}
|
|
348
|
+
return (_context$designer10 = context.designer) === null || _context$designer10 === void 0 || (_context$designer10$u = _context$designer10.updateLogicCom) === null || _context$designer10$u === void 0 ? void 0 : _context$designer10$u.call(_context$designer10, ...args);
|
|
349
|
+
}
|
|
350
|
+
})],
|
|
351
|
+
planningCheck: tools => {
|
|
352
|
+
var toolNames = tools.map(tool => tool[1]);
|
|
353
|
+
var resultTools = [...tools];
|
|
354
|
+
|
|
355
|
+
// 规则1: 如果 信息获取类 在最后一个,则添加一个 answer
|
|
356
|
+
var infoToolNames = [MYBRICKS_TOOLS.OpenDsl.toolName, MYBRICKS_TOOLS.AnalyzeRequirementAndComponents.toolName];
|
|
357
|
+
if (toolNames.length > 0 && infoToolNames.includes(toolNames[toolNames.length - 1])) {
|
|
358
|
+
resultTools.push(['node', MYBRICKS_TOOLS.Answer.toolName]);
|
|
359
|
+
return resultTools;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
// 规则2: 如果 生成页面 前面没有获取需求,则添加一个需求分析
|
|
363
|
+
var generatePageIndex = toolNames.indexOf(MYBRICKS_TOOLS.GenerateUiContent.toolName);
|
|
364
|
+
if (generatePageIndex > -1) {
|
|
365
|
+
var requirementTools = [MYBRICKS_TOOLS.AnalyzeRequirementAndComponents.toolName, MYBRICKS_TOOLS.OpenDsl.toolName];
|
|
366
|
+
var hasRequirement = toolNames.slice(0, generatePageIndex).some(name => requirementTools.includes(name));
|
|
367
|
+
if (!hasRequirement) {
|
|
368
|
+
resultTools.splice(generatePageIndex, 0, ['node', MYBRICKS_TOOLS.AnalyzeRequirementAndComponents.toolName]);
|
|
369
|
+
return resultTools;
|
|
370
|
+
}
|
|
371
|
+
// 规则2b: 生成页面后添加「代码开发」步骤(由 planningCheck 注入)
|
|
372
|
+
var hasCodingSubagent = resultTools.some(t => t[1] === MYBRICKS_TOOLS.CodingSubagentAsTool.toolName);
|
|
373
|
+
if (!hasCodingSubagent) {
|
|
374
|
+
var insertIndex = resultTools.findIndex(t => t[1] === MYBRICKS_TOOLS.GenerateUiContent.toolName) + 1;
|
|
375
|
+
resultTools.splice(insertIndex, 0, ['node', MYBRICKS_TOOLS.CodingSubagentAsTool.toolName]);
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
// 规则3: 如果 修改 前面没有 open-dsl-document,则添加一个
|
|
380
|
+
var refactorIndex = toolNames.indexOf(MYBRICKS_TOOLS.RefactorUiContent.toolName);
|
|
381
|
+
if (refactorIndex > -1) {
|
|
382
|
+
var hasOpenDsl = toolNames.slice(0, refactorIndex).includes(MYBRICKS_TOOLS.OpenDsl.toolName);
|
|
383
|
+
if (!hasOpenDsl) {
|
|
384
|
+
resultTools.splice(refactorIndex, 0, ['node', MYBRICKS_TOOLS.OpenDsl.toolName, {
|
|
385
|
+
ids: targetPageId
|
|
386
|
+
}]);
|
|
387
|
+
return resultTools;
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
var buildProcessIndex = toolNames.indexOf(MYBRICKS_TOOLS.BuildProcess.toolName);
|
|
391
|
+
if (buildProcessIndex > -1) {
|
|
392
|
+
// 搭建流程前需要需求分析和组件选型
|
|
393
|
+
var _requirementTools = [MYBRICKS_TOOLS.AnalyzeRequirementAndComponents.toolName];
|
|
394
|
+
var _hasRequirement = toolNames.slice(0, generatePageIndex).some(name => _requirementTools.includes(name));
|
|
395
|
+
if (!_hasRequirement) {
|
|
396
|
+
resultTools.splice(generatePageIndex, 0, ['node', MYBRICKS_TOOLS.AnalyzeRequirementAndComponents.toolName, {
|
|
397
|
+
mode: "refactor"
|
|
398
|
+
}]);
|
|
399
|
+
return resultTools;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
return resultTools;
|
|
403
|
+
},
|
|
404
|
+
formatUserMessage: text => {
|
|
405
|
+
return "\u5BF9\u4E8E\u805A\u7126\u5143\u7D20".concat(focusEleDesc, "\uFF0C\u7528\u6237\u63D0\u51FA\u7684\u6D88\u606F\u4E3A\uFF1A\n<\u7528\u6237\u6D88\u606F>\n").concat(text, "\n</\u7528\u6237\u6D88\u606F>");
|
|
406
|
+
},
|
|
407
|
+
presetHistoryMessages: [{
|
|
408
|
+
role: 'assistant',
|
|
409
|
+
content: historyFocusDesc
|
|
410
|
+
}],
|
|
411
|
+
presetMessages: () => {
|
|
412
|
+
var projectStruct = workspace.getProjectStruct();
|
|
413
|
+
var componentsDocs = workspace.getComponentsDocs();
|
|
414
|
+
var hasComponentsDocs = workspace.hasComponentsDocs();
|
|
415
|
+
|
|
416
|
+
// 合并内容
|
|
417
|
+
var projectInfo = projectStruct;
|
|
418
|
+
if (hasComponentsDocs) {
|
|
419
|
+
projectInfo = "".concat(projectStruct, "\n\n").concat(componentsDocs);
|
|
420
|
+
}
|
|
421
|
+
return [{
|
|
422
|
+
role: 'user',
|
|
423
|
+
content: "<\u5F53\u524D\u9879\u76EE\u4FE1\u606F>\n".concat(projectInfo, "\n</\u5F53\u524D\u9879\u76EE\u4FE1\u606F>")
|
|
424
|
+
}, {
|
|
425
|
+
role: 'assistant',
|
|
426
|
+
content: hasComponentsDocs ? '收到,谢谢你提供的项目信息和组件文档,我会根据这些信息完成任务~' : '收到,谢谢你提供的项目信息,我会根据这些信息完成任务~'
|
|
427
|
+
}];
|
|
428
|
+
}
|
|
429
|
+
}));
|
|
430
|
+
});
|
|
431
|
+
};
|
|
432
|
+
function generateHistoryFocusDescription() {
|
|
433
|
+
var currentFocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
434
|
+
var {
|
|
435
|
+
pageId,
|
|
436
|
+
comId,
|
|
437
|
+
title,
|
|
438
|
+
type
|
|
439
|
+
} = currentFocus !== null && currentFocus !== void 0 ? currentFocus : {};
|
|
440
|
+
|
|
441
|
+
// 定义聚焦元素的描述部分
|
|
442
|
+
var focusDesc = '';
|
|
443
|
+
|
|
444
|
+
// 判断当前聚焦元素类型
|
|
445
|
+
if (type === 'uiCom') {
|
|
446
|
+
focusDesc = "\u7EC4\u4EF6(title=".concat(title, ",\u7EC4\u4EF6id=").concat(comId, ")");
|
|
447
|
+
} else if (type === 'page') {
|
|
448
|
+
focusDesc = "\u753B\u5E03(title=".concat(title, ",\u753B\u5E03id=").concat(pageId, ")");
|
|
449
|
+
} else if (type === 'section') {
|
|
450
|
+
focusDesc = "\u753B\u5E03(title=".concat(title, ",\u753B\u5E03id=").concat(pageId, ")");
|
|
451
|
+
} else if (type === "logicCom") {
|
|
452
|
+
focusDesc = "\u8BA1\u7B97\u7EC4\u4EF6(title=".concat(title, ",\u7EC4\u4EF6id=").concat(comId, ")");
|
|
453
|
+
}
|
|
454
|
+
return "\u5BF9\u4E8E".concat(focusDesc);
|
|
455
|
+
}
|
|
456
|
+
function generateFocusTargetDescription() {
|
|
457
|
+
var currentFocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
458
|
+
var {
|
|
459
|
+
pageId,
|
|
460
|
+
comId,
|
|
461
|
+
title,
|
|
462
|
+
type,
|
|
463
|
+
focusArea
|
|
464
|
+
} = currentFocus !== null && currentFocus !== void 0 ? currentFocus : {};
|
|
465
|
+
|
|
466
|
+
// 定义聚焦元素的描述部分
|
|
467
|
+
var focusDesc = '';
|
|
468
|
+
|
|
469
|
+
// 判断当前聚焦元素类型
|
|
470
|
+
if (type === 'uiCom') {
|
|
471
|
+
focusDesc = "\u7EC4\u4EF6(title=".concat(title, ",\u7EC4\u4EF6id=").concat(comId, ",\u9009\u4E2D\u533A\u57DF=").concat(focusArea ? focusArea.selector : ":root", ")");
|
|
472
|
+
} else if (type === 'page') {
|
|
473
|
+
focusDesc = "\u753B\u5E03(title=".concat(title, ",\u753B\u5E03id=").concat(pageId, ")");
|
|
474
|
+
} else if (type === 'section') {
|
|
475
|
+
focusDesc = "\u753B\u5E03(title=".concat(title, ",\u753B\u5E03id=").concat(pageId, ")");
|
|
476
|
+
} else if (type === "logicCom") {
|
|
477
|
+
focusDesc = "\u8BA1\u7B97\u7EC4\u4EF6(title=".concat(title, ",\u7EC4\u4EF6id=").concat(comId, ")");
|
|
478
|
+
}
|
|
479
|
+
return focusDesc;
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
export { requestCommonAgent };
|
|
483
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sources":["../../src/agents/common.ts"],"sourcesContent":["import { context } from './../context';\nimport { MYBRICKS_TOOLS } from \"./../tools\"\n\nimport { WorkSpace } from './workspace/workspace'\nimport { FocusOutlineInfoManager, FocusInfo } from './workspace/outline-focus'\n\nimport { ComponentsManager } from './workspace/components-manager'\nimport { getAgentConfigs } from './utils/config'\n\nimport { CodingManager } from './workspace/coding-manager'\n\nconst getFocusInfo = (focus: any) => {\n const focusInfo: FocusInfo = {\n pageId: focus?.pageId,\n comId: focus?.comId,\n title: focus?.title,\n type: focus?.type,\n focusArea: focus?.focusArea\n };\n\n if (focus.type === \"logicCom\") {\n focusInfo.pageId = focus.rootFrameId;\n focusInfo.diagramId = focus.diagramId;\n }\n\n return focusInfo;\n}\n\nconst getTargetId = (focus: FocusInfo) => {\n if (['uiCom', 'logicCom'].includes(focus.type!)) {\n return focus.comId\n }\n\n return focus.pageId;\n}\n\nexport const requestCommonAgent = (params: any) => {\n\n return new Promise((resolve, reject) => {\n // 从 agents 配置中获取提示词配置,优先使用参数传入的,否则使用 context 中的\n const agents = params.agents || context.agents;\n const agentConfig = getAgentConfigs(agents, 'page');\n\n const currentFocus = params.focus || context.currentFocus;\n const focusInfo = getFocusInfo(currentFocus);\n\n const targetType = focusInfo.type;\n const targetId = getTargetId(focusInfo);\n const targetPageId = focusInfo.pageId;\n\n if (!targetPageId) {\n return reject('缺少聚焦页面id')\n }\n\n const outlineInfoManager = new FocusOutlineInfoManager({\n api: context.api,\n focusInfo\n });\n\n const componentIdToTitleMap = targetPageId\n ? outlineInfoManager.getComponentIdToTitleMap(targetPageId)\n : new Map<string, string>();\n\n const workspace = new WorkSpace({ currentFocus: focusInfo } as any, {\n getAllPageInfo() {\n return (context.api.global.api as any).getAllPageInfo()\n },\n getComponentDoc(namespace: string) {\n return (context.api?.global?.api?.getComEditorPrompts ?? context.api?.uiCom?.api?.getComEditorPrompts)?.(namespace)\n }\n } as any, outlineInfoManager)\n\n const codingManager = new CodingManager({\n pageId: targetPageId,\n attachments: params.attachments,\n getJsxById: (id: string) => workspace.getJsxById(id),\n });\n\n let onProgress = params.onProgress;\n\n const historyFocusDesc = generateHistoryFocusDescription(focusInfo);\n const focusEleDesc = generateFocusTargetDescription(focusInfo);\n if (targetType === \"uiCom\") {\n onProgress = context.api.uiCom.api.getComOnProcess(targetId)?.onProgress\n } else if (targetType === \"page\") {\n onProgress = context.api.page.api.getPageOnProcess(targetId)?.onProgress\n }\n\n onProgress?.('start')\n\n const hasAttachment = typeof params?.message !== 'string';\n\n // workspace.openDocument('u_qLciw]')\n\n // workspace.openDocument('u_ADKKC')\n\n // workspace.openDocument('u_ZJ_bn')\n\n // workspace.openDocument('u_ADKKC')\n // workspace.openDocument('u_XZL9q')\n\n // workspace.openDocument('u_k_1dW')\n // workspace.openDocument('u_ADKKC')\n\n // // 页面\n // workspace.openDocument('u_yjFHf')\n // workspace.openDocument('u_tycgh')\n\n // // 页面 + 组件\n // workspace.openDocument('u_yjFHf')\n // workspace.openDocument('u_ADKKC')\n\n // return console.log(workspace.getProjectStruct())\n\n // try {\n // workspace.openDocument(targetPageId)\n\n // return console.log(workspace.getProjectStruct())\n\n // workspace.openComponentDoc('mybricks.normal-pc.antd5.form-container')\n // return console.log(workspace.getComponentsDocs());\n // } catch (error) {\n // console.error(error)\n // }\n // return\n\n\n context.rxai.requestAI({\n ...params,\n message: params?.message,\n blockId: targetId,\n // enableLog: true,\n emits: {\n write: () => { },\n complete: () => {\n resolve('complete')\n onProgress?.(\"complete\");\n console.log('common complete')\n },\n error: () => {\n reject('error')\n onProgress?.(\"error\");\n console.log('common error')\n },\n cancel: () => {},\n },\n tools: [\n MYBRICKS_TOOLS.OpenDsl({\n onOpen(id) {\n workspace.openDocument(id)\n },\n }),\n MYBRICKS_TOOLS.AnalyzeRequirementAndComponents({\n allowComponents: context.designer?.getAllComDefPrompts?.() || \"\",\n ...agentConfig?.getToolParams(MYBRICKS_TOOLS.AnalyzeRequirementAndComponents.toolName),\n onComponentDocOpen: (namespace) => {\n workspace.openComponentDoc(namespace)\n },\n appendPrompt: agentConfig?.attentions,\n deviceType: context.deviceType,\n }),\n MYBRICKS_TOOLS.GenerateUiContent({\n getRootComponentDoc: () => context.api?.page?.api?.getPageContainerPrompts?.(targetPageId) as string,\n getTargetId: () => targetPageId as string,\n getRootIdByPageId(pageId: string) {\n return outlineInfoManager.getPageMetaInfo(pageId)?.rootId\n },\n componentIdToTitleMap,\n appendPrompt: agentConfig?.attentions,\n ...agentConfig?.getToolParams(MYBRICKS_TOOLS.GenerateUiContent.toolName),\n onActions: (actions, status) => {\n return context.designer?.updatePage?.(targetPageId, actions, status)\n },\n onClearPage: () => {\n context.api?.page?.api?.clearPageContent?.(targetPageId)\n },\n onAddCodingBlock(com) {\n codingManager.addCodingCom(com);\n },\n }),\n// MYBRICKS_TOOLS.GenerateUiContent({\n// getRootComponentDoc: () => context.api?.page?.api?.getPageContainerPrompts?.(targetPageId) as string,\n// getTargetId: () => targetPageId as string,\n// getRootIdByPageId(pageId: string) {\n// return outlineInfoManager.getPageMetaInfo(pageId)?.rootId\n// },\n// componentIdToTitleMap,\n// appendPrompt: `<对于当前搭建有以下特殊上下文>\n// <搭建画布信息>\n// 当前正在搭建各类智能穿戴设备的表盘,画布的宽度和高度我们限制为466*466,所有内容必须使用*绝对定位*布局绘制到画布上。\n\n// 注意:根组件的布局必须设置position=absolute(绝对定位)和具体的宽高。\n// </搭建画布信息>\n// </对于当前搭建有以下特殊上下文>`,\n// examples: `<example>\n// <user_query>搭建一个科技风表盘</user_query>\n// <assistant_response>\n// 好的,我们来实现一个科技风的表盘,搭建过程如下:\n// 1. 首先,必须配置合理的表盘宽度和高度、标题、布局以及样式;\n// 2. 其次搭建各类元素,将各类表盘元素放置到合适的位置;\n\n// ${fileFormat({\n// content: `[\"_root_\",\":root\",\"setLayout\",{\"height\": 466, \"width\": \"466\"}]\n// [\"_root_\",\":root\",\"doConfig\",{\"path\":\"root/标题\",\"value\":\"科技风表盘\"}]\n// [\"_root_\",\":root\",\"doConfig\",{\"path\":\"root/布局\",\"value\":{\"position\": \"absolute\"}}]\n// [\"_root_\",\":root\",\"doConfig\",{\"path\":\"root/样式\",\"value\":{\"background\":\"linear-gradient(135deg, #0c0c0c 0%, #1a1a2e 50%, #16213e 100%)\"}}]\n// [\"_root_\",\"_rootSlot_\",\"addChild\",{\"title\":\"电池图标显示\",\"ns\":\"somelib.battery\",\"comId\":\"u_digital_time\",\"layout\":{\"position\":\"absolute\",\"top\":10,\"left\":300},\"configs\":[]}]\n// `,\n// fileName: '生成科技风表盘操作步骤.json'\n// })}\n\n// 注意:\n// - 表盘所有元素必须由自由布局绘制而成\n// </assistant_response>\n// </example>`,\n// onActions: (actions, status) => {\n// context.api?.page?.api?.updatePage?.(targetPageId, actions, status)\n// },\n// onClearPage: () => {\n// context.api?.page?.api?.clearPageContent?.(targetPageId)\n// }\n// }),\n MYBRICKS_TOOLS.RefactorUiContent({\n onActions: (actions, status, type) => {\n if (!status) {\n return \n }\n\n // 只有聚焦到组件上,且第一个操作ID是组件ID,且父组件不为页面ID,才会触发组件级更新\n if (targetType === 'uiCom' && targetId && type === 'uiCom') {\n const parentId = workspace.focusPageOutlineInfo\n ? outlineInfoManager.findParentNodeByComId(\n workspace.focusPageOutlineInfo,\n targetId as string\n )?.id\n : undefined;\n\n if (parentId && parentId !== targetPageId) {\n return context.designer?.updateUiCom?.(parentId, actions, status)\n }\n }\n\n return context.designer?.updatePage?.(targetPageId, actions, status)\n },\n componentIdToTitleMap,\n appendPrompt: agentConfig?.attentions,\n getRootComponentDoc: () => context.api?.page?.api?.getPageContainerPrompts?.(targetPageId) as string,\n getTargetId: () => targetPageId as string,\n getFocusElementHasChildren() {\n if (!['page', 'logicCom', 'section'].includes(currentFocus?.type) && targetId) {\n const json = outlineInfoManager.getUiComOutline(targetId)\n if (!json.slots || (Array.isArray(json.slots) && json.slots.length === 0)) {\n return false\n }\n }\n return true\n },\n getFocusElementAiRole() {\n if (focusInfo?.type === \"uiCom\") {\n const comInfo = context.api.uiCom.api.getOutlineInfo(focusInfo.comId);\n const aiComponent = ComponentsManager.getAiComponent(comInfo.def.namespace);\n return aiComponent?.prompts?.aiRole;\n }\n return null\n },\n getComIds() {\n const comIds: string[] = [];\n\n outlineInfoManager.getComponentIdToTitleMap(targetPageId).forEach((value, key) => {\n comIds.push(key);\n })\n\n return comIds;\n }\n }),\n MYBRICKS_TOOLS.Answer({}),\n MYBRICKS_TOOLS.CodingSubagentAsTool({\n codingManager,\n onStart: () => {\n context.designer?.updatePage?.(targetPageId, [], 'start')\n },\n onComplete: () => {\n context.designer?.updatePage?.(targetPageId, [], 'complete')\n },\n onError: () => {\n context.designer?.updatePage?.(targetPageId, [], 'complete')\n }, \n }),\n MYBRICKS_TOOLS.BuildProcess({\n // getComId: () => focusInfo.comId,\n getPageId: () => focusInfo.pageId,\n getComponentOutlineInfo: () => {\n const { type, comId } = focusInfo\n if (type === \"uiCom\") {\n return {\n type,\n outlineInfo: context.api?.uiCom?.api?.getOutlineInfo(comId)\n }\n } else if (type === \"logicCom\") {\n return {\n type,\n outlineInfo: context.api?.logicCom?.api?.getOutlineInfo(comId)\n }\n }\n },\n getPageOutlineInfo: () => context.api?.page?.api?.getOutlineInfo(focusInfo.pageId),\n getAllPageInfo() {\n return context.api?.global?.api?.getAllPageInfo()\n },\n createDiagram: (...args: any) => {\n // console.log(\"[createDiagram - args]\", args)\n return context.designer?.createDiagram?.(...args)\n },\n updateDiagram: (...args: any) => {\n // console.log(\"[updateDiagram - args]\", args)\n return context.designer?.updateDiagram?.(...args)\n },\n getDiagramInfo: (...args: any) => {\n if (!args[0]) {\n if (focusInfo.diagramId) {\n return {\n id: focusInfo.diagramId\n }\n }\n\n return null\n }\n return context.designer?.getDiagramInfo?.(...args)\n },\n updatePage: (...args: any) => {\n return context.designer?.updatePage?.(focusInfo.pageId, ...args)\n },\n updateCom: (...args: any) => {\n return context.designer?.updateLogicCom?.(...args)\n },\n }),\n ],\n planningCheck: (tools: any[]) => {\n const toolNames = tools.map(tool => tool[1]);\n const resultTools = [...tools];\n \n // 规则1: 如果 信息获取类 在最后一个,则添加一个 answer\n const infoToolNames = [MYBRICKS_TOOLS.OpenDsl.toolName, MYBRICKS_TOOLS.AnalyzeRequirementAndComponents.toolName];\n if (toolNames.length > 0 && infoToolNames.includes(toolNames[toolNames.length - 1])) {\n resultTools.push(['node', MYBRICKS_TOOLS.Answer.toolName]);\n return resultTools\n }\n \n // 规则2: 如果 生成页面 前面没有获取需求,则添加一个需求分析\n const generatePageIndex = toolNames.indexOf(MYBRICKS_TOOLS.GenerateUiContent.toolName);\n if (generatePageIndex > -1) {\n const requirementTools = [MYBRICKS_TOOLS.AnalyzeRequirementAndComponents.toolName, MYBRICKS_TOOLS.OpenDsl.toolName];\n const hasRequirement = toolNames.slice(0, generatePageIndex).some(name => requirementTools.includes(name));\n \n if (!hasRequirement) {\n resultTools.splice(generatePageIndex, 0, ['node', MYBRICKS_TOOLS.AnalyzeRequirementAndComponents.toolName]);\n return resultTools\n }\n // 规则2b: 生成页面后添加「代码开发」步骤(由 planningCheck 注入)\n const hasCodingSubagent = resultTools.some((t: any) => t[1] === MYBRICKS_TOOLS.CodingSubagentAsTool.toolName);\n if (!hasCodingSubagent) {\n const insertIndex = resultTools.findIndex((t: any) => t[1] === MYBRICKS_TOOLS.GenerateUiContent.toolName) + 1;\n resultTools.splice(insertIndex, 0, ['node', MYBRICKS_TOOLS.CodingSubagentAsTool.toolName]);\n }\n }\n \n // 规则3: 如果 修改 前面没有 open-dsl-document,则添加一个\n const refactorIndex = toolNames.indexOf(MYBRICKS_TOOLS.RefactorUiContent.toolName);\n if (refactorIndex > -1) {\n const hasOpenDsl = toolNames.slice(0, refactorIndex).includes(MYBRICKS_TOOLS.OpenDsl.toolName);\n \n if (!hasOpenDsl) {\n resultTools.splice(refactorIndex, 0, ['node', MYBRICKS_TOOLS.OpenDsl.toolName, { ids: targetPageId }]);\n return resultTools\n }\n }\n\n const buildProcessIndex = toolNames.indexOf(MYBRICKS_TOOLS.BuildProcess.toolName);\n if (buildProcessIndex > -1) {\n // 搭建流程前需要需求分析和组件选型\n const requirementTools = [MYBRICKS_TOOLS.AnalyzeRequirementAndComponents.toolName];\n const hasRequirement = toolNames.slice(0, generatePageIndex).some(name => requirementTools.includes(name));\n \n if (!hasRequirement) {\n resultTools.splice(generatePageIndex, 0, ['node', MYBRICKS_TOOLS.AnalyzeRequirementAndComponents.toolName, {mode: \"refactor\"}]);\n return resultTools\n }\n }\n\n return resultTools\n },\n formatUserMessage: (text: string) => {\n return `对于聚焦元素${focusEleDesc},用户提出的消息为:\n<用户消息>\n${text}\n</用户消息>`\n },\n presetHistoryMessages: [\n {\n role: 'assistant',\n content: historyFocusDesc\n }\n ],\n presetMessages: () => {\n const projectStruct = workspace.getProjectStruct();\n const componentsDocs = workspace.getComponentsDocs();\n const hasComponentsDocs = workspace.hasComponentsDocs();\n \n // 合并内容\n let projectInfo = projectStruct;\n if (hasComponentsDocs) {\n projectInfo = `${projectStruct}\\n\\n${componentsDocs}`;\n }\n \n return [\n {\n role: 'user',\n content: `<当前项目信息>\\n${projectInfo}\\n</当前项目信息>`\n },\n {\n role: 'assistant',\n content: hasComponentsDocs \n ? '收到,谢谢你提供的项目信息和组件文档,我会根据这些信息完成任务~'\n : '收到,谢谢你提供的项目信息,我会根据这些信息完成任务~'\n },\n ]\n },\n });\n })\n}\n\n\nfunction generateHistoryFocusDescription(currentFocus: Partial<FocusInfo> = {}) {\n const { pageId, comId, title, type } = currentFocus ?? {}\n \n // 定义聚焦元素的描述部分\n let focusDesc = '';\n \n // 判断当前聚焦元素类型\n if (type === 'uiCom') {\n focusDesc = `组件(title=${title},组件id=${comId})`;\n } else if (type === 'page') {\n focusDesc = `画布(title=${title},画布id=${pageId})`;\n } else if (type === 'section') {\n focusDesc = `画布(title=${title},画布id=${pageId})`;\n } else if (type === \"logicCom\") {\n focusDesc = `计算组件(title=${title},组件id=${comId})`;\n }\n \n return `对于${focusDesc}`;\n}\n\nfunction generateFocusTargetDescription(currentFocus: Partial<FocusInfo> = {}) {\n const { pageId, comId, title, type, focusArea } = currentFocus ?? {}\n \n // 定义聚焦元素的描述部分\n let focusDesc = '';\n \n // 判断当前聚焦元素类型\n if (type === 'uiCom') {\n focusDesc = `组件(title=${title},组件id=${comId},选中区域=${focusArea ? focusArea.selector : \":root\"})`;\n } else if (type === 'page') {\n focusDesc = `画布(title=${title},画布id=${pageId})`;\n } else if (type === 'section') {\n focusDesc = `画布(title=${title},画布id=${pageId})`;\n } else if (type === \"logicCom\") {\n focusDesc = `计算组件(title=${title},组件id=${comId})`;\n }\n \n return focusDesc;\n}"],"names":["getFocusInfo","focus","focusInfo","pageId","comId","title","type","focusArea","rootFrameId","diagramId","getTargetId","includes","requestCommonAgent","params","Promise","resolve","reject","_onProgress","_context$designer","_context$designer$get","agents","context","agentConfig","getAgentConfigs","currentFocus","targetType","targetId","targetPageId","outlineInfoManager","FocusOutlineInfoManager","api","componentIdToTitleMap","getComponentIdToTitleMap","Map","workspace","WorkSpace","getAllPageInfo","global","getComponentDoc","namespace","_ref","_context$api$global$a","_context$api","_context$api2","getComEditorPrompts","uiCom","codingManager","CodingManager","attachments","getJsxById","id","onProgress","historyFocusDesc","generateHistoryFocusDescription","focusEleDesc","generateFocusTargetDescription","_context$api$uiCom$ap","getComOnProcess","_context$api$page$api","page","getPageOnProcess","message","rxai","requestAI","_objectSpread","blockId","emits","write","complete","_onProgress2","console","log","error","_onProgress3","cancel","tools","MYBRICKS_TOOLS","OpenDsl","onOpen","openDocument","AnalyzeRequirementAndComponents","allowComponents","designer","getAllComDefPrompts","call","getToolParams","toolName","onComponentDocOpen","openComponentDoc","appendPrompt","attentions","deviceType","GenerateUiContent","getRootComponentDoc","_context$api3","_context$api3$getPage","getPageContainerPrompts","getRootIdByPageId","_outlineInfoManager$g","getPageMetaInfo","rootId","onActions","actions","status","_context$designer2","_context$designer2$up","updatePage","onClearPage","_context$api4","_context$api4$clearPa","clearPageContent","onAddCodingBlock","com","addCodingCom","RefactorUiContent","_context$designer4","_context$designer4$up","_outlineInfoManager$f","parentId","focusPageOutlineInfo","findParentNodeByComId","undefined","_context$designer3","_context$designer3$up","updateUiCom","_context$api5","_context$api5$getPage","getFocusElementHasChildren","json","getUiComOutline","slots","Array","isArray","length","getFocusElementAiRole","_aiComponent$prompts","comInfo","getOutlineInfo","aiComponent","ComponentsManager","getAiComponent","def","prompts","aiRole","getComIds","comIds","forEach","value","key","push","Answer","CodingSubagentAsTool","onStart","_context$designer5","_context$designer5$up","onComplete","_context$designer6","_context$designer6$up","onError","_context$designer7","_context$designer7$up","BuildProcess","getPageId","getComponentOutlineInfo","_context$api6","outlineInfo","_context$api7","logicCom","getPageOutlineInfo","_context$api8","_context$api9","createDiagram","_context$designer8","_context$designer8$cr","_len","arguments","args","_key","updateDiagram","_context$designer9","_context$designer9$up","_len2","_key2","getDiagramInfo","_context$designer0","_context$designer0$ge","_len3","_key3","_context$designer1","_context$designer1$up","_len4","_key4","updateCom","_context$designer10","_context$designer10$u","_len5","_key5","updateLogicCom","planningCheck","toolNames","map","tool","resultTools","infoToolNames","generatePageIndex","indexOf","requirementTools","hasRequirement","slice","some","name","splice","hasCodingSubagent","t","insertIndex","findIndex","refactorIndex","hasOpenDsl","ids","buildProcessIndex","mode","formatUserMessage","text","concat","presetHistoryMessages","role","content","presetMessages","projectStruct","getProjectStruct","componentsDocs","getComponentsDocs","hasComponentsDocs","projectInfo","focusDesc","selector"],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { context } from '../context/index.js';
|
|
2
|
+
import { AbstractAgent } from './utils/config.js';
|
|
3
|
+
|
|
4
|
+
function requestVibeCodingAgent(params, focus) {
|
|
5
|
+
var agent = context.agents.find(agent => agent instanceof AbstractAgent && agent.type === "vibeCoding");
|
|
6
|
+
if (agent) {
|
|
7
|
+
return agent.request({
|
|
8
|
+
key: params.key,
|
|
9
|
+
params,
|
|
10
|
+
focus
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { requestVibeCodingAgent };
|
|
16
|
+
//# sourceMappingURL=custom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom.js","sources":["../../src/agents/custom.ts"],"sourcesContent":["\nimport { context } from '../context'\nimport { AbstractAgent } from \"./utils/config\"\n\nexport function requestVibeCodingAgent(params: any, focus: any) {\n const agent = context.agents!.find((agent) => agent instanceof AbstractAgent && agent.type === \"vibeCoding\");\n if (agent) {\n return (agent as AbstractAgent).request({\n key: params.key,\n params,\n focus\n });\n }\n}"],"names":["requestVibeCodingAgent","params","focus","agent","context","agents","find","AbstractAgent","type","request","key"],"mappings":";;;AAIO,SAASA,sBAAsBA,CAACC,MAAW,EAAEC,KAAU,EAAE;AAC9D,EAAA,IAAMC,KAAK,GAAGC,OAAO,CAACC,MAAM,CAAEC,IAAI,CAAEH,KAAK,IAAKA,KAAK,YAAYI,aAAa,IAAIJ,KAAK,CAACK,IAAI,KAAK,YAAY,CAAC;AAC5G,EAAA,IAAIL,KAAK,EAAE;IACT,OAAQA,KAAK,CAAmBM,OAAO,CAAC;MACtCC,GAAG,EAAET,MAAM,CAACS,GAAG;MACfT,MAAM;AACNC,MAAAA;AACF,KAAC,CAAC;AACJ,EAAA;AACF;;;;"}
|