@mybricks/plugin-ai 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) 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/{src/api-record-replay/recorder.ts → dist/api-record-replay/recorder.js} +22 -32
  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/{src/preset/user.ts → dist/preset/user.js} +4 -3
  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 +28 -6
  168. package/src/agents/app.ts +0 -301
  169. package/src/agents/common.ts +0 -471
  170. package/src/agents/custom.ts +0 -14
  171. package/src/agents/index.ts +0 -37
  172. package/src/agents/knowledges/README.md +0 -614
  173. package/src/agents/knowledges/SUMMARY.md +0 -527
  174. package/src/agents/knowledges/index.ts +0 -8
  175. package/src/agents/knowledges/knowledge-base.ts +0 -565
  176. package/src/agents/knowledges/knowledge-node.ts +0 -266
  177. package/src/agents/knowledges/types.ts +0 -208
  178. package/src/agents/utils/config.ts +0 -427
  179. package/src/agents/workspace/coding-manager.ts +0 -31
  180. package/src/agents/workspace/components-manager.ts +0 -124
  181. package/src/agents/workspace/outline-focus.ts +0 -188
  182. package/src/agents/workspace/outline-info.ts +0 -520
  183. package/src/agents/workspace/page-tree-generator.ts +0 -83
  184. package/src/agents/workspace/workspace.ts +0 -319
  185. package/src/agents/workspace-by-knowledges/MIGRATION.md +0 -568
  186. package/src/agents/workspace-by-knowledges/README.md +0 -521
  187. package/src/agents/workspace-by-knowledges/index.ts +0 -11
  188. package/src/agents/workspace-by-knowledges/providers/component-docs-provider.ts +0 -92
  189. package/src/agents/workspace-by-knowledges/providers/focus-info-provider.ts +0 -131
  190. package/src/agents/workspace-by-knowledges/providers/index.ts +0 -8
  191. package/src/agents/workspace-by-knowledges/providers/project-info-provider.ts +0 -151
  192. package/src/agents/workspace-by-knowledges/test.ts +0 -240
  193. package/src/agents/workspace-by-knowledges/types.ts +0 -56
  194. package/src/agents/workspace-by-knowledges/utils/components-manager.ts +0 -145
  195. package/src/agents/workspace-by-knowledges/utils/index.ts +0 -8
  196. package/src/agents/workspace-by-knowledges/utils/outline-focus.ts +0 -178
  197. package/src/agents/workspace-by-knowledges/utils/outline-info.ts +0 -521
  198. package/src/agents/workspace-by-knowledges/workspace.ts +0 -166
  199. package/src/api/cloud-components.ts +0 -129
  200. package/src/api-record-replay/README.md +0 -187
  201. package/src/api-record-replay/index.ts +0 -11
  202. package/src/api-record-replay/manager.ts +0 -168
  203. package/src/api-record-replay/replayer.ts +0 -148
  204. package/src/components/attachments/index.less +0 -117
  205. package/src/components/attachments/index.tsx +0 -136
  206. package/src/components/icons/index.less +0 -8
  207. package/src/components/icons/index.tsx +0 -44
  208. package/src/components/index.less +0 -34
  209. package/src/components/mention/index.less +0 -23
  210. package/src/components/mention/index.tsx +0 -19
  211. package/src/components/messages/index.less +0 -1013
  212. package/src/components/messages/index.tsx +0 -519
  213. package/src/components/sender/index.less +0 -203
  214. package/src/components/sender/index.tsx +0 -298
  215. package/src/components/types.ts +0 -31
  216. package/src/constants/index.ts +0 -8
  217. package/src/context/RequestStatusTracker.ts +0 -50
  218. package/src/context/index.ts +0 -83
  219. package/src/data.ts +0 -5
  220. package/src/global.d.ts +0 -100
  221. package/src/index.tsx +0 -264
  222. package/src/mock.ts +0 -1267
  223. package/src/preset/agents.ts +0 -380
  224. package/src/preset/createTemplates.ts +0 -25
  225. package/src/preset/index.ts +0 -12
  226. package/src/preset/prompts.ts +0 -235
  227. package/src/preset/requestAsStream.ts +0 -246
  228. package/src/startView/components/header/header.less +0 -17
  229. package/src/startView/components/header/header.tsx +0 -15
  230. package/src/startView/components/index.ts +0 -1
  231. package/src/startView/index.less +0 -34
  232. package/src/startView/index.tsx +0 -61
  233. package/src/tools/analyze-and-expand-prd.ts +0 -272
  234. package/src/tools/analyze-requirement-and-components.ts +0 -589
  235. package/src/tools/answer.ts +0 -59
  236. package/src/tools/build-process.ts +0 -1174
  237. package/src/tools/coding-subagent-as-tool.ts +0 -119
  238. package/src/tools/generate-ui-content.ts +0 -1083
  239. package/src/tools/index.ts +0 -28
  240. package/src/tools/open-dsl.ts +0 -69
  241. package/src/tools/refactor-ui-content.ts +0 -801
  242. package/src/tools/type.d.ts +0 -12
  243. package/src/tools/utils.ts +0 -914
  244. package/src/types/index.ts +0 -4
  245. package/src/view/components/header/header.less +0 -51
  246. package/src/view/components/header/header.tsx +0 -60
  247. package/src/view/components/index.ts +0 -1
  248. package/src/view/index.less +0 -5
  249. package/src/view/index.tsx +0 -168
package/src/agents/app.ts DELETED
@@ -1,301 +0,0 @@
1
- import { context } from './../context';
2
- import { MYBRICKS_TOOLS } from "./../tools"
3
-
4
- import { WorkSpace } from './workspace/workspace'
5
- import { FocusOutlineInfoManager, FocusInfo } from './workspace/outline-focus'
6
- import { getAgentConfigs } from './utils/config'
7
-
8
- export const requestGeneratePageAgent = (pageId: string, pageTitle: string, params: any) => {
9
-
10
- // 从 agents 配置中获取提示词配置,优先使用参数传入的,否则使用 context 中的
11
- const agents = params.agents || context.agents;
12
- const agentConfig = getAgentConfigs(agents, 'page');
13
-
14
- const focusInfo: FocusInfo = {
15
- pageId,
16
- comId: undefined,
17
- title: pageTitle,
18
- type: 'page'
19
- };
20
-
21
- const outlineInfoManager = new FocusOutlineInfoManager({
22
- api: context.api,
23
- focusInfo
24
- })
25
-
26
- const componentIdToTitleMap = outlineInfoManager.getComponentIdToTitleMap(pageId);
27
-
28
- const workspace = new WorkSpace({ currentFocus: focusInfo } as any, {
29
- getAllPageInfo() {
30
- return []
31
- },
32
- getComponentDoc(namespace: string) {
33
- return (context.api?.global?.api?.getComEditorPrompts ?? context.api?.uiCom?.api?.getComEditorPrompts)?.(namespace)
34
- }
35
- } as any, outlineInfoManager)
36
-
37
- params?.onProgress?.('start')
38
-
39
- context.rxai.requestAI({
40
- ...params,
41
- extension: {
42
- mentions: [focusInfo]
43
- },
44
- message: params?.message,
45
- key: pageId,
46
- emits: {
47
- write: () => { },
48
- complete: () => {
49
- params?.onProgress?.("complete");
50
- },
51
- error: () => {
52
- params?.onProgress?.("error");
53
- },
54
- cancel: () => {
55
- // params?.onProgress?.("complete");
56
- },
57
- },
58
- planList: [`${MYBRICKS_TOOLS.AnalyzeRequirementAndComponents.toolName} -mode generate`, MYBRICKS_TOOLS.GenerateUiContent.toolName, MYBRICKS_TOOLS.BuildProcess.toolName],
59
- tools: [
60
- MYBRICKS_TOOLS.AnalyzeRequirementAndComponents({
61
- allowComponents: context.designer?.getAllComDefPrompts?.() || "",
62
- ...agentConfig?.getToolParams(MYBRICKS_TOOLS.AnalyzeRequirementAndComponents.toolName),
63
- onComponentDocOpen: (namespace) => {
64
- workspace.openComponentDoc(namespace)
65
- },
66
- appendPrompt: agentConfig?.attentions,
67
- shouldUseExpert: true,
68
- deviceType: context.deviceType,
69
- }),
70
- MYBRICKS_TOOLS.GenerateUiContent({
71
- getRootComponentDoc: () => context.api?.page?.api?.getPageContainerPrompts?.(pageId) as string,
72
- getTargetId: () => pageId as string,
73
- getRootIdByPageId(pageId: string) {
74
- return outlineInfoManager.getPageMetaInfo(pageId)?.rootId
75
- },
76
- componentIdToTitleMap,
77
- appendPrompt: agentConfig?.attentions,
78
- ...agentConfig?.getToolParams(MYBRICKS_TOOLS.GenerateUiContent.toolName),
79
- onActions: (actions, status) => {
80
- return context.designer?.updatePage?.(pageId, actions, status)
81
- },
82
- onClearPage: () => {
83
- context.api?.page?.api?.clearPageContent?.(pageId)
84
- }
85
- }),
86
- MYBRICKS_TOOLS.BuildProcess({
87
- getPageId: () => focusInfo.pageId,
88
- getPageOutlineInfo: () => {
89
- workspace.openDocument(focusInfo.pageId!);
90
- return context.api?.page?.api?.getOutlineInfo(focusInfo.pageId)
91
- },
92
- getComponentOutlineInfo: () => {
93
- const { type, comId } = focusInfo
94
- if (type === "uiCom") {
95
- return {
96
- type,
97
- outlineInfo: context.api?.uiCom?.api?.getOutlineInfo(comId)
98
- }
99
- } else if (type === "logicCom") {
100
- return {
101
- type,
102
- outlineInfo: context.api?.logicCom?.api?.getOutlineInfo(comId)
103
- }
104
- }
105
- },
106
- getAllPageInfo() {
107
- return context.api?.global?.api?.getAllPageInfo()
108
- },
109
- createDiagram: (...args: any) => {
110
- // console.log("[createDiagram - args]", args)
111
- return context.designer?.createDiagram?.(...args)
112
- },
113
- updateDiagram: (...args: any) => {
114
- // console.log("[updateDiagram - args]", args)
115
- return context.designer?.updateDiagram?.(...args)
116
- },
117
- getDiagramInfo: (...args: any) => {
118
- if (!args[0]) {
119
- if (focusInfo.diagramId) {
120
- return {
121
- id: focusInfo.diagramId
122
- }
123
- }
124
-
125
- return null
126
- }
127
- return context.designer?.getDiagramInfo?.(...args)
128
- },
129
- updatePage: (...args: any) => {
130
- // console.log("[updatePage]", args)
131
- return context.designer?.updatePage?.(focusInfo.pageId, ...args)
132
- },
133
- updateCom: (...args: any) => {
134
- // console.log("[updateCom]", args)
135
- return context.designer?.updateLogicCom?.(...args)
136
- },
137
- }),,
138
- ],
139
- // presetMessages: () => [
140
- // {
141
- // role: 'user',
142
- // content: workspace.getComponentsDocs()
143
- // }
144
- // ],
145
- presetMessages: () => {
146
- const projectStruct = `# 工作空间 \n 当前为空项目`;;
147
- const componentsDocs = workspace.getComponentsDocs();
148
- const hasComponentsDocs = workspace.hasComponentsDocs();
149
-
150
- // 合并内容
151
- let projectInfo = projectStruct;
152
- if (hasComponentsDocs) {
153
- projectInfo = `${projectStruct}\n\n${componentsDocs}`;
154
- }
155
-
156
- return [
157
- {
158
- role: 'user',
159
- content: `<当前项目信息>\n${projectInfo}\n</当前项目信息>`
160
- },
161
- {
162
- role: 'assistant',
163
- content: hasComponentsDocs
164
- ? '收到,谢谢你提供的项目信息和组件文档,我会根据这些信息完成任务~'
165
- : '收到,谢谢你提供的项目信息,我会根据这些信息完成任务~'
166
- },
167
- ]
168
- }
169
- // presetMessages: [
170
- // {
171
- // role: 'user',
172
- // content: `检测到聚焦位置发生变化`
173
- // },
174
- // {
175
- // role: 'assistant',
176
- // content: `当前已聚焦到${`页面(title=${pageTitle},id=${pageId})`}中,后续用户的提问,关于”这个“、“此”,甚至不提主语,都是指代此元素。
177
- // <当前聚焦元素的内容简介>
178
- // 内容为空
179
- // </当前聚焦元素的内容简介>
180
- // `
181
- // }
182
- // ]
183
- });
184
- }
185
-
186
- async function createCanvasByAICanvas(canvasId: string, aiCanvas: any, originParams: any[]) {
187
-
188
- function sleep(ms: number) {
189
- return new Promise(resolve => setTimeout(resolve, ms));
190
- }
191
-
192
- // TOOD,之前不去掉设计器会有报错
193
- await sleep(1000)
194
-
195
- const pageArray: Array<{ page: any; pageRef: { id: string; onProgress: Function } }> = [];
196
-
197
- for (let index = 0; index < aiCanvas.pages.length; index++) {
198
- const page = aiCanvas.pages[index];
199
-
200
- const pageRef = await context.designer?.createPage?.(canvasId, page.title, context.createTemplates?.page?.({ title: page.title }))
201
- if (pageRef) {
202
- pageArray.push({ page, pageRef })
203
- }
204
- }
205
-
206
- pageArray.forEach(async ({ page, pageRef }, index) => {
207
- const otherPage = pageArray.slice(0, index).concat(pageArray.slice(index + 1))
208
- await requestGeneratePageAgent(pageRef.id, page.title, {
209
- message: `帮忙实现项目「${aiCanvas.title}」的其中一个页面,页面为${page.title}。
210
- <可供参考的需求>
211
- ${page.prd}
212
- </可供参考的需求>
213
-
214
- <样式风格>
215
- ${aiCanvas.style}
216
- </样式风格>
217
-
218
- <正在实现的页面列表>
219
- ${(pageArray ?? []).map(p => `- ${p.page.title}`).join('\n')}
220
- </正在实现的页面列表>
221
-
222
- <事件流程>
223
- 当前项目有以下${otherPage.length}张页面可以跳转
224
- ${otherPage.reduce((pre: string, { page, pageRef }: any) => {
225
- return pre + `- ${page.title}(${pageRef.id})\n`
226
- }, "")}
227
-
228
- 基于页面的名称、事实,分析页面间的关联性、组件事件中可能的页面跳转流程,例如某个按钮的点击事件跳转一个正确的页面。
229
-
230
- 注意:
231
- 1. 除页面跳转外,禁止一切其它形式的事件流程和变量。
232
- </事件流程>
233
- `,
234
- attachments: originParams?.attachments ?? [],
235
- onProgress: pageRef.onProgress,
236
- id: pageRef.id,
237
- })
238
- })
239
- }
240
-
241
- export const requestGenerateCanvasAgent = (params: any) => {
242
- return new Promise((resolve, reject) => {
243
- params?.onProgress?.('start');
244
-
245
-
246
- const createTargetContainer = async () => {
247
- if (!context.isMutiCanvas) {
248
- return { id: '_root_' };
249
- }
250
- return await context.designer?.createCanvas?.() || { id: '_root_' };
251
- };
252
-
253
- const originParams = {
254
- message: params?.message,
255
- attachments: params?.attachments ?? [],
256
- };
257
-
258
- (params.rxai || context.rxai).requestAI({
259
- ...params,
260
- message: params?.message,
261
- key: params.id,
262
- emits: {
263
- write: () => { },
264
- complete: () => {
265
- params?.onProgress?.("complete");
266
- },
267
- error: () => {
268
- reject('error')
269
- params?.onProgress?.("error");
270
- },
271
- cancel: () => {
272
- params?.onProgress?.("complete");
273
- },
274
- },
275
- planList: [MYBRICKS_TOOLS.AnalyzeAndExpandPrd.toolName],
276
- tools: [
277
- MYBRICKS_TOOLS.AnalyzeAndExpandPrd({
278
- onProjectCreate: async (projectJson) => {
279
- if (!projectJson || !projectJson.title) {
280
- return resolve("complete");
281
- // return reject('不合法的项目文件')
282
- }
283
- let canvasId
284
- try {
285
- const canvas = await createTargetContainer()
286
- canvasId = canvas?.id
287
- } catch (error) {
288
- return reject(error)
289
- }
290
- resolve('complete')
291
- if (canvasId) {
292
- params?.onProgress?.('ing');
293
- createCanvasByAICanvas(canvasId, projectJson, originParams);
294
- }
295
- },
296
- deviceType: context.deviceType
297
- })
298
- ],
299
- });
300
- })
301
- }