@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.
Files changed (203) hide show
  1. package/dist/_virtual/_rollupPluginBabelHelpers.js +164 -0
  2. package/dist/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  3. package/dist/agents/app.js +335 -0
  4. package/dist/agents/app.js.map +1 -0
  5. package/dist/agents/common.js +483 -0
  6. package/dist/agents/common.js.map +1 -0
  7. package/dist/agents/custom.js +16 -0
  8. package/dist/agents/custom.js.map +1 -0
  9. package/dist/agents/index.js +38 -0
  10. package/dist/agents/index.js.map +1 -0
  11. package/dist/agents/knowledges/knowledge-base.js +579 -0
  12. package/dist/agents/knowledges/knowledge-base.js.map +1 -0
  13. package/dist/agents/knowledges/knowledge-node.js +228 -0
  14. package/dist/agents/knowledges/knowledge-node.js.map +1 -0
  15. package/dist/agents/knowledges/types.js +105 -0
  16. package/dist/agents/knowledges/types.js.map +1 -0
  17. package/dist/agents/utils/config.js +229 -0
  18. package/dist/agents/utils/config.js.map +1 -0
  19. package/dist/agents/workspace/coding-manager.js +20 -0
  20. package/dist/agents/workspace/coding-manager.js.map +1 -0
  21. package/dist/agents/workspace/components-manager.js +113 -0
  22. package/dist/agents/workspace/components-manager.js.map +1 -0
  23. package/dist/agents/workspace/outline-focus.js +167 -0
  24. package/dist/agents/workspace/outline-focus.js.map +1 -0
  25. package/dist/agents/workspace/outline-info.js +430 -0
  26. package/dist/agents/workspace/outline-info.js.map +1 -0
  27. package/dist/agents/workspace/page-tree-generator.js +70 -0
  28. package/dist/agents/workspace/page-tree-generator.js.map +1 -0
  29. package/dist/agents/workspace/workspace.js +251 -0
  30. package/dist/agents/workspace/workspace.js.map +1 -0
  31. package/dist/agents/workspace-by-knowledges/providers/component-docs-provider.js +100 -0
  32. package/dist/agents/workspace-by-knowledges/providers/component-docs-provider.js.map +1 -0
  33. package/dist/agents/workspace-by-knowledges/providers/focus-info-provider.js +120 -0
  34. package/dist/agents/workspace-by-knowledges/providers/focus-info-provider.js.map +1 -0
  35. package/dist/agents/workspace-by-knowledges/providers/project-info-provider.js +146 -0
  36. package/dist/agents/workspace-by-knowledges/providers/project-info-provider.js.map +1 -0
  37. package/dist/agents/workspace-by-knowledges/test.js +242 -0
  38. package/dist/agents/workspace-by-knowledges/test.js.map +1 -0
  39. package/dist/agents/workspace-by-knowledges/utils/components-manager.js +132 -0
  40. package/dist/agents/workspace-by-knowledges/utils/components-manager.js.map +1 -0
  41. package/dist/agents/workspace-by-knowledges/utils/outline-focus.js +167 -0
  42. package/dist/agents/workspace-by-knowledges/utils/outline-focus.js.map +1 -0
  43. package/dist/agents/workspace-by-knowledges/utils/outline-info.js +430 -0
  44. package/dist/agents/workspace-by-knowledges/utils/outline-info.js.map +1 -0
  45. package/dist/agents/workspace-by-knowledges/workspace.js +169 -0
  46. package/dist/agents/workspace-by-knowledges/workspace.js.map +1 -0
  47. package/dist/api/cloud-components.js +85 -0
  48. package/dist/api/cloud-components.js.map +1 -0
  49. package/dist/api-record-replay/manager.js +168 -0
  50. package/dist/api-record-replay/manager.js.map +1 -0
  51. package/dist/api-record-replay/recorder.js +107 -0
  52. package/dist/api-record-replay/recorder.js.map +1 -0
  53. package/dist/api-record-replay/replayer.js +136 -0
  54. package/dist/api-record-replay/replayer.js.map +1 -0
  55. package/dist/components/attachments/index.js +124 -0
  56. package/dist/components/attachments/index.js.map +1 -0
  57. package/dist/components/attachments/index.less.js +8 -0
  58. package/dist/components/attachments/index.less.js.map +1 -0
  59. package/dist/components/icons/index.js +112 -0
  60. package/dist/components/icons/index.js.map +1 -0
  61. package/dist/components/icons/index.less.js +8 -0
  62. package/dist/components/icons/index.less.js.map +1 -0
  63. package/dist/components/mention/index.js +19 -0
  64. package/dist/components/mention/index.js.map +1 -0
  65. package/dist/components/mention/index.less.js +8 -0
  66. package/dist/components/mention/index.less.js.map +1 -0
  67. package/dist/components/messages/index.js +429 -0
  68. package/dist/components/messages/index.js.map +1 -0
  69. package/dist/components/messages/index.less.js +8 -0
  70. package/dist/components/messages/index.less.js.map +1 -0
  71. package/dist/components/sender/index.js +244 -0
  72. package/dist/components/sender/index.js.map +1 -0
  73. package/dist/components/sender/index.less.js +8 -0
  74. package/dist/components/sender/index.less.js.map +1 -0
  75. package/dist/context/RequestStatusTracker.js +44 -0
  76. package/dist/context/RequestStatusTracker.js.map +1 -0
  77. package/dist/context/index.js +45 -0
  78. package/dist/context/index.js.map +1 -0
  79. package/dist/data.js +4 -0
  80. package/dist/data.js.map +1 -0
  81. package/dist/index.js +306 -0
  82. package/dist/index.js.map +1 -0
  83. package/dist/plugin-ai/node_modules/style-inject/dist/style-inject.es.js +27 -0
  84. package/dist/plugin-ai/node_modules/style-inject/dist/style-inject.es.js.map +1 -0
  85. package/dist/plugin-ai/package.json.js +8 -0
  86. package/dist/plugin-ai/package.json.js.map +1 -0
  87. package/dist/plugin-ai/test/index.js +206 -0
  88. package/dist/plugin-ai/test/index.js.map +1 -0
  89. package/dist/preset/createTemplates.js +29 -0
  90. package/dist/preset/createTemplates.js.map +1 -0
  91. package/dist/preset/index.js +13 -0
  92. package/dist/preset/index.js.map +1 -0
  93. package/dist/preset/prompts.js +34 -0
  94. package/dist/preset/prompts.js.map +1 -0
  95. package/dist/preset/user.js +7 -0
  96. package/dist/preset/user.js.map +1 -0
  97. package/dist/requestAsStream.js +269 -0
  98. package/dist/requestAsStream.js.map +1 -0
  99. package/dist/rxai/node_modules/idb/build/index.js +277 -0
  100. package/dist/rxai/node_modules/idb/build/index.js.map +1 -0
  101. package/dist/rxai/src/agent/base.js +16 -0
  102. package/dist/rxai/src/agent/base.js.map +1 -0
  103. package/dist/rxai/src/agent/planning.js +1076 -0
  104. package/dist/rxai/src/agent/planning.js.map +1 -0
  105. package/dist/rxai/src/agent/rxai.js +254 -0
  106. package/dist/rxai/src/agent/rxai.js.map +1 -0
  107. package/dist/rxai/src/error/base.js +39 -0
  108. package/dist/rxai/src/error/base.js.map +1 -0
  109. package/dist/rxai/src/prompt/base.js +11 -0
  110. package/dist/rxai/src/prompt/base.js.map +1 -0
  111. package/dist/rxai/src/prompt/planning.js +23 -0
  112. package/dist/rxai/src/prompt/planning.js.map +1 -0
  113. package/dist/rxai/src/prompt/tool.js +14 -0
  114. package/dist/rxai/src/prompt/tool.js.map +1 -0
  115. package/dist/rxai/src/request/request.js +123 -0
  116. package/dist/rxai/src/request/request.js.map +1 -0
  117. package/dist/rxai/src/tool/getHistoryRecords.js +65 -0
  118. package/dist/rxai/src/tool/getHistoryRecords.js.map +1 -0
  119. package/dist/rxai/src/tool/util.js +424 -0
  120. package/dist/rxai/src/tool/util.js.map +1 -0
  121. package/dist/rxai/src/utils/events.js +43 -0
  122. package/dist/rxai/src/utils/events.js.map +1 -0
  123. package/dist/rxai/src/utils/idb.js +240 -0
  124. package/dist/rxai/src/utils/idb.js.map +1 -0
  125. package/dist/rxai/src/utils/retry.js +32 -0
  126. package/dist/rxai/src/utils/retry.js.map +1 -0
  127. package/dist/rxai/src/utils/uuid.js +7 -0
  128. package/dist/rxai/src/utils/uuid.js.map +1 -0
  129. package/dist/startView/components/header/header.js +12 -0
  130. package/dist/startView/components/header/header.js.map +1 -0
  131. package/dist/startView/components/header/header.less.js +8 -0
  132. package/dist/startView/components/header/header.less.js.map +1 -0
  133. package/dist/startView/index.js +62 -0
  134. package/dist/startView/index.js.map +1 -0
  135. package/dist/startView/index.less.js +8 -0
  136. package/dist/startView/index.less.js.map +1 -0
  137. package/dist/tools/analyze-and-expand-prd.js +116 -0
  138. package/dist/tools/analyze-and-expand-prd.js.map +1 -0
  139. package/dist/tools/analyze-requirement-and-components.js +208 -0
  140. package/dist/tools/analyze-requirement-and-components.js.map +1 -0
  141. package/dist/tools/answer.js +33 -0
  142. package/dist/tools/answer.js.map +1 -0
  143. package/dist/tools/build-process.js +550 -0
  144. package/dist/tools/build-process.js.map +1 -0
  145. package/dist/tools/coding-subagent-as-tool.js +101 -0
  146. package/dist/tools/coding-subagent-as-tool.js.map +1 -0
  147. package/dist/tools/generate-ui-content.js +528 -0
  148. package/dist/tools/generate-ui-content.js.map +1 -0
  149. package/dist/tools/index.js +31 -0
  150. package/dist/tools/index.js.map +1 -0
  151. package/dist/tools/open-dsl.js +49 -0
  152. package/dist/tools/open-dsl.js.map +1 -0
  153. package/dist/tools/refactor-ui-content.js +292 -0
  154. package/dist/tools/refactor-ui-content.js.map +1 -0
  155. package/dist/tools/utils.js +832 -0
  156. package/dist/tools/utils.js.map +1 -0
  157. package/dist/types/index.js +8 -0
  158. package/dist/types/index.js.map +1 -0
  159. package/dist/view/components/header/header.js +59 -0
  160. package/dist/view/components/header/header.js.map +1 -0
  161. package/dist/view/components/header/header.less.js +8 -0
  162. package/dist/view/components/header/header.less.js.map +1 -0
  163. package/dist/view/index.js +184 -0
  164. package/dist/view/index.js.map +1 -0
  165. package/dist/view/index.less.js +8 -0
  166. package/dist/view/index.less.js.map +1 -0
  167. package/package.json +33 -6
  168. package/src/agents/app.ts +0 -173
  169. package/src/agents/common.ts +0 -111
  170. package/src/agents/index.ts +0 -7
  171. package/src/components/icons/index.less +0 -8
  172. package/src/components/icons/index.tsx +0 -24
  173. package/src/components/messages/index.less +0 -806
  174. package/src/components/messages/index.tsx +0 -236
  175. package/src/context/index.ts +0 -21
  176. package/src/data.ts +0 -5
  177. package/src/index.tsx +0 -84
  178. package/src/mock.ts +0 -1267
  179. package/src/startView/index.less +0 -216
  180. package/src/startView/index.tsx +0 -229
  181. package/src/tools/analyze-and-expand-prd.ts +0 -166
  182. package/src/tools/answer-user.ts +0 -35
  183. package/src/tools/focus-element.ts +0 -47
  184. package/src/tools/generate-page.ts +0 -750
  185. package/src/tools/get-component-info-by-ids.ts +0 -166
  186. package/src/tools/get-component-info.ts +0 -53
  187. package/src/tools/get-components-doc-and-prd.ts +0 -137
  188. package/src/tools/get-focus-mybricks-dsl.ts +0 -26
  189. package/src/tools/get-mybricks-dsl.ts +0 -73
  190. package/src/tools/index.ts +0 -25
  191. package/src/tools/modify-component.ts +0 -385
  192. package/src/tools/type.d.ts +0 -12
  193. package/src/tools/utils.ts +0 -62
  194. package/src/types.d.ts +0 -65
  195. package/src/view/components/header/header.less +0 -17
  196. package/src/view/components/header/header.tsx +0 -15
  197. package/src/view/components/index.ts +0 -3
  198. package/src/view/components/messages/messages.less +0 -228
  199. package/src/view/components/messages/messages.tsx +0 -172
  200. package/src/view/components/sender/sender.less +0 -44
  201. package/src/view/components/sender/sender.tsx +0 -62
  202. package/src/view/index.less +0 -5
  203. 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;;;;"}