@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,164 @@
1
+ function _OverloadYield(e, d) {
2
+ this.v = e, this.k = d;
3
+ }
4
+ function asyncGeneratorStep(n, t, e, r, o, a, c) {
5
+ try {
6
+ var i = n[a](c),
7
+ u = i.value;
8
+ } catch (n) {
9
+ return void e(n);
10
+ }
11
+ i.done ? t(u) : Promise.resolve(u).then(r, o);
12
+ }
13
+ function _asyncToGenerator(n) {
14
+ return function () {
15
+ var t = this,
16
+ e = arguments;
17
+ return new Promise(function (r, o) {
18
+ var a = n.apply(t, e);
19
+ function _next(n) {
20
+ asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
21
+ }
22
+ function _throw(n) {
23
+ asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
24
+ }
25
+ _next(void 0);
26
+ });
27
+ };
28
+ }
29
+ function _awaitAsyncGenerator(e) {
30
+ return new _OverloadYield(e, 0);
31
+ }
32
+ function _defineProperty(e, r, t) {
33
+ return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
34
+ value: t,
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true
38
+ }) : e[r] = t, e;
39
+ }
40
+ function ownKeys(e, r) {
41
+ var t = Object.keys(e);
42
+ if (Object.getOwnPropertySymbols) {
43
+ var o = Object.getOwnPropertySymbols(e);
44
+ r && (o = o.filter(function (r) {
45
+ return Object.getOwnPropertyDescriptor(e, r).enumerable;
46
+ })), t.push.apply(t, o);
47
+ }
48
+ return t;
49
+ }
50
+ function _objectSpread2(e) {
51
+ for (var r = 1; r < arguments.length; r++) {
52
+ var t = null != arguments[r] ? arguments[r] : {};
53
+ r % 2 ? ownKeys(Object(t), true).forEach(function (r) {
54
+ _defineProperty(e, r, t[r]);
55
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
56
+ Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
57
+ });
58
+ }
59
+ return e;
60
+ }
61
+ function _objectWithoutProperties(e, t) {
62
+ if (null == e) return {};
63
+ var o,
64
+ r,
65
+ i = _objectWithoutPropertiesLoose(e, t);
66
+ if (Object.getOwnPropertySymbols) {
67
+ var n = Object.getOwnPropertySymbols(e);
68
+ for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
69
+ }
70
+ return i;
71
+ }
72
+ function _objectWithoutPropertiesLoose(r, e) {
73
+ if (null == r) return {};
74
+ var t = {};
75
+ for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
76
+ if (-1 !== e.indexOf(n)) continue;
77
+ t[n] = r[n];
78
+ }
79
+ return t;
80
+ }
81
+ function _toPrimitive(t, r) {
82
+ if ("object" != typeof t || !t) return t;
83
+ var e = t[Symbol.toPrimitive];
84
+ if (void 0 !== e) {
85
+ var i = e.call(t, r);
86
+ if ("object" != typeof i) return i;
87
+ throw new TypeError("@@toPrimitive must return a primitive value.");
88
+ }
89
+ return ("string" === r ? String : Number)(t);
90
+ }
91
+ function _toPropertyKey(t) {
92
+ var i = _toPrimitive(t, "string");
93
+ return "symbol" == typeof i ? i : i + "";
94
+ }
95
+ function _wrapAsyncGenerator(e) {
96
+ return function () {
97
+ return new AsyncGenerator(e.apply(this, arguments));
98
+ };
99
+ }
100
+ function AsyncGenerator(e) {
101
+ var r, t;
102
+ function resume(r, t) {
103
+ try {
104
+ var n = e[r](t),
105
+ o = n.value,
106
+ u = o instanceof _OverloadYield;
107
+ Promise.resolve(u ? o.v : o).then(function (t) {
108
+ if (u) {
109
+ var i = "return" === r ? "return" : "next";
110
+ if (!o.k || t.done) return resume(i, t);
111
+ t = e[i](t).value;
112
+ }
113
+ settle(n.done ? "return" : "normal", t);
114
+ }, function (e) {
115
+ resume("throw", e);
116
+ });
117
+ } catch (e) {
118
+ settle("throw", e);
119
+ }
120
+ }
121
+ function settle(e, n) {
122
+ switch (e) {
123
+ case "return":
124
+ r.resolve({
125
+ value: n,
126
+ done: true
127
+ });
128
+ break;
129
+ case "throw":
130
+ r.reject(n);
131
+ break;
132
+ default:
133
+ r.resolve({
134
+ value: n,
135
+ done: false
136
+ });
137
+ }
138
+ (r = r.next) ? resume(r.key, r.arg) : t = null;
139
+ }
140
+ this._invoke = function (e, n) {
141
+ return new Promise(function (o, u) {
142
+ var i = {
143
+ key: e,
144
+ arg: n,
145
+ resolve: o,
146
+ reject: u,
147
+ next: null
148
+ };
149
+ t ? t = t.next = i : (r = t = i, resume(e, n));
150
+ });
151
+ }, "function" != typeof e.return && (this.return = void 0);
152
+ }
153
+ AsyncGenerator.prototype["function" == typeof Symbol && Symbol.asyncIterator || "@@asyncIterator"] = function () {
154
+ return this;
155
+ }, AsyncGenerator.prototype.next = function (e) {
156
+ return this._invoke("next", e);
157
+ }, AsyncGenerator.prototype.throw = function (e) {
158
+ return this._invoke("throw", e);
159
+ }, AsyncGenerator.prototype.return = function (e) {
160
+ return this._invoke("return", e);
161
+ };
162
+
163
+ export { _OverloadYield as OverloadYield, _asyncToGenerator as asyncToGenerator, _awaitAsyncGenerator as awaitAsyncGenerator, _defineProperty as defineProperty, _objectSpread2 as objectSpread2, _objectWithoutProperties as objectWithoutProperties, _objectWithoutPropertiesLoose as objectWithoutPropertiesLoose, _toPrimitive as toPrimitive, _toPropertyKey as toPropertyKey, _wrapAsyncGenerator as wrapAsyncGenerator };
164
+ //# sourceMappingURL=_rollupPluginBabelHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_rollupPluginBabelHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,335 @@
1
+ import { objectSpread2 as _objectSpread2, asyncToGenerator as _asyncToGenerator } 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 { getAgentConfigs } from './utils/config.js';
7
+
8
+ var requestGeneratePageAgent = (pageId, pageTitle, params) => {
9
+ var _params$onProgress, _context$designer, _context$designer$get;
10
+ // 从 agents 配置中获取提示词配置,优先使用参数传入的,否则使用 context 中的
11
+ var agents = params.agents || context.agents;
12
+ var agentConfig = getAgentConfigs(agents, 'page');
13
+ var focusInfo = {
14
+ pageId,
15
+ comId: undefined,
16
+ title: pageTitle,
17
+ type: 'page'
18
+ };
19
+ var outlineInfoManager = new FocusOutlineInfoManager({
20
+ api: context.api,
21
+ focusInfo
22
+ });
23
+ var componentIdToTitleMap = outlineInfoManager.getComponentIdToTitleMap(pageId);
24
+ var workspace = new WorkSpace({
25
+ currentFocus: focusInfo
26
+ }, {
27
+ getAllPageInfo() {
28
+ return [];
29
+ },
30
+ getComponentDoc(namespace) {
31
+ var _ref, _context$api$global$a, _context$api, _context$api2;
32
+ 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);
33
+ }
34
+ }, outlineInfoManager);
35
+ params === null || params === void 0 || (_params$onProgress = params.onProgress) === null || _params$onProgress === void 0 || _params$onProgress.call(params, 'start');
36
+ context.rxai.requestAI(_objectSpread2(_objectSpread2({}, params), {}, {
37
+ extension: {
38
+ mentions: [focusInfo]
39
+ },
40
+ message: params === null || params === void 0 ? void 0 : params.message,
41
+ key: pageId,
42
+ emits: {
43
+ write: () => {},
44
+ complete: () => {
45
+ var _params$onProgress2;
46
+ params === null || params === void 0 || (_params$onProgress2 = params.onProgress) === null || _params$onProgress2 === void 0 || _params$onProgress2.call(params, "complete");
47
+ },
48
+ error: () => {
49
+ var _params$onProgress3;
50
+ params === null || params === void 0 || (_params$onProgress3 = params.onProgress) === null || _params$onProgress3 === void 0 || _params$onProgress3.call(params, "error");
51
+ },
52
+ cancel: () => {
53
+ // params?.onProgress?.("complete");
54
+ }
55
+ },
56
+ planList: ["".concat(MYBRICKS_TOOLS.AnalyzeRequirementAndComponents.toolName, " -mode generate"), MYBRICKS_TOOLS.GenerateUiContent.toolName, MYBRICKS_TOOLS.BuildProcess.toolName],
57
+ tools: [MYBRICKS_TOOLS.AnalyzeRequirementAndComponents(_objectSpread2(_objectSpread2({
58
+ 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)) || ""
59
+ }, agentConfig === null || agentConfig === void 0 ? void 0 : agentConfig.getToolParams(MYBRICKS_TOOLS.AnalyzeRequirementAndComponents.toolName)), {}, {
60
+ onComponentDocOpen: namespace => {
61
+ workspace.openComponentDoc(namespace);
62
+ },
63
+ appendPrompt: agentConfig === null || agentConfig === void 0 ? void 0 : agentConfig.attentions,
64
+ shouldUseExpert: true,
65
+ deviceType: context.deviceType
66
+ })), MYBRICKS_TOOLS.GenerateUiContent(_objectSpread2(_objectSpread2({
67
+ getRootComponentDoc: () => {
68
+ var _context$api3, _context$api3$getPage;
69
+ 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, pageId);
70
+ },
71
+ getTargetId: () => pageId,
72
+ getRootIdByPageId(pageId) {
73
+ var _outlineInfoManager$g;
74
+ return (_outlineInfoManager$g = outlineInfoManager.getPageMetaInfo(pageId)) === null || _outlineInfoManager$g === void 0 ? void 0 : _outlineInfoManager$g.rootId;
75
+ },
76
+ componentIdToTitleMap,
77
+ appendPrompt: agentConfig === null || agentConfig === void 0 ? void 0 : agentConfig.attentions
78
+ }, agentConfig === null || agentConfig === void 0 ? void 0 : agentConfig.getToolParams(MYBRICKS_TOOLS.GenerateUiContent.toolName)), {}, {
79
+ onActions: (actions, status) => {
80
+ var _context$designer2, _context$designer2$up;
81
+ 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, pageId, actions, status);
82
+ },
83
+ onClearPage: () => {
84
+ var _context$api4, _context$api4$clearPa;
85
+ (_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, pageId);
86
+ }
87
+ })), MYBRICKS_TOOLS.BuildProcess({
88
+ getPageId: () => focusInfo.pageId,
89
+ getPageOutlineInfo: () => {
90
+ var _context$api5;
91
+ workspace.openDocument(focusInfo.pageId);
92
+ 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 ? void 0 : _context$api5.getOutlineInfo(focusInfo.pageId);
93
+ },
94
+ getComponentOutlineInfo: () => {
95
+ var {
96
+ type,
97
+ comId
98
+ } = focusInfo;
99
+ if (type === "uiCom") {
100
+ var _context$api6;
101
+ return {
102
+ type,
103
+ 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)
104
+ };
105
+ } else if (type === "logicCom") {
106
+ var _context$api7;
107
+ return {
108
+ type,
109
+ 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)
110
+ };
111
+ }
112
+ },
113
+ getAllPageInfo() {
114
+ var _context$api8;
115
+ return (_context$api8 = context.api) === null || _context$api8 === void 0 || (_context$api8 = _context$api8.global) === null || _context$api8 === void 0 || (_context$api8 = _context$api8.api) === null || _context$api8 === void 0 ? void 0 : _context$api8.getAllPageInfo();
116
+ },
117
+ createDiagram: function createDiagram() {
118
+ var _context$designer3, _context$designer3$cr;
119
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
120
+ args[_key] = arguments[_key];
121
+ }
122
+ // console.log("[createDiagram - args]", args)
123
+ return (_context$designer3 = context.designer) === null || _context$designer3 === void 0 || (_context$designer3$cr = _context$designer3.createDiagram) === null || _context$designer3$cr === void 0 ? void 0 : _context$designer3$cr.call(_context$designer3, ...args);
124
+ },
125
+ updateDiagram: function updateDiagram() {
126
+ var _context$designer4, _context$designer4$up;
127
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
128
+ args[_key2] = arguments[_key2];
129
+ }
130
+ // console.log("[updateDiagram - args]", args)
131
+ return (_context$designer4 = context.designer) === null || _context$designer4 === void 0 || (_context$designer4$up = _context$designer4.updateDiagram) === null || _context$designer4$up === void 0 ? void 0 : _context$designer4$up.call(_context$designer4, ...args);
132
+ },
133
+ getDiagramInfo: function getDiagramInfo() {
134
+ var _context$designer5, _context$designer5$ge;
135
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
136
+ args[_key3] = arguments[_key3];
137
+ }
138
+ if (!args[0]) {
139
+ if (focusInfo.diagramId) {
140
+ return {
141
+ id: focusInfo.diagramId
142
+ };
143
+ }
144
+ return null;
145
+ }
146
+ return (_context$designer5 = context.designer) === null || _context$designer5 === void 0 || (_context$designer5$ge = _context$designer5.getDiagramInfo) === null || _context$designer5$ge === void 0 ? void 0 : _context$designer5$ge.call(_context$designer5, ...args);
147
+ },
148
+ updatePage: function updatePage() {
149
+ var _context$designer6, _context$designer6$up;
150
+ for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
151
+ args[_key4] = arguments[_key4];
152
+ }
153
+ // console.log("[updatePage]", args)
154
+ return (_context$designer6 = context.designer) === null || _context$designer6 === void 0 || (_context$designer6$up = _context$designer6.updatePage) === null || _context$designer6$up === void 0 ? void 0 : _context$designer6$up.call(_context$designer6, focusInfo.pageId, ...args);
155
+ },
156
+ updateCom: function updateCom() {
157
+ var _context$designer7, _context$designer7$up;
158
+ for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
159
+ args[_key5] = arguments[_key5];
160
+ }
161
+ // console.log("[updateCom]", args)
162
+ return (_context$designer7 = context.designer) === null || _context$designer7 === void 0 || (_context$designer7$up = _context$designer7.updateLogicCom) === null || _context$designer7$up === void 0 ? void 0 : _context$designer7$up.call(_context$designer7, ...args);
163
+ }
164
+ }),,],
165
+ // presetMessages: () => [
166
+ // {
167
+ // role: 'user',
168
+ // content: workspace.getComponentsDocs()
169
+ // }
170
+ // ],
171
+ presetMessages: () => {
172
+ var projectStruct = "# \u5DE5\u4F5C\u7A7A\u95F4 \n \u5F53\u524D\u4E3A\u7A7A\u9879\u76EE";
173
+ var componentsDocs = workspace.getComponentsDocs();
174
+ var hasComponentsDocs = workspace.hasComponentsDocs();
175
+
176
+ // 合并内容
177
+ var projectInfo = projectStruct;
178
+ if (hasComponentsDocs) {
179
+ projectInfo = "".concat(projectStruct, "\n\n").concat(componentsDocs);
180
+ }
181
+ return [{
182
+ role: 'user',
183
+ content: "<\u5F53\u524D\u9879\u76EE\u4FE1\u606F>\n".concat(projectInfo, "\n</\u5F53\u524D\u9879\u76EE\u4FE1\u606F>")
184
+ }, {
185
+ role: 'assistant',
186
+ content: hasComponentsDocs ? '收到,谢谢你提供的项目信息和组件文档,我会根据这些信息完成任务~' : '收到,谢谢你提供的项目信息,我会根据这些信息完成任务~'
187
+ }];
188
+ }
189
+ // presetMessages: [
190
+ // {
191
+ // role: 'user',
192
+ // content: `检测到聚焦位置发生变化`
193
+ // },
194
+ // {
195
+ // role: 'assistant',
196
+ // content: `当前已聚焦到${`页面(title=${pageTitle},id=${pageId})`}中,后续用户的提问,关于”这个“、“此”,甚至不提主语,都是指代此元素。
197
+ // <当前聚焦元素的内容简介>
198
+ // 内容为空
199
+ // </当前聚焦元素的内容简介>
200
+ // `
201
+ // }
202
+ // ]
203
+ }));
204
+ };
205
+ function createCanvasByAICanvas(_x, _x2, _x3) {
206
+ return _createCanvasByAICanvas.apply(this, arguments);
207
+ }
208
+ function _createCanvasByAICanvas() {
209
+ _createCanvasByAICanvas = _asyncToGenerator(function* (canvasId, aiCanvas, originParams) {
210
+ function sleep(ms) {
211
+ return new Promise(resolve => setTimeout(resolve, ms));
212
+ }
213
+
214
+ // TOOD,之前不去掉设计器会有报错
215
+ yield sleep(1000);
216
+ var pageArray = [];
217
+ for (var index = 0; index < aiCanvas.pages.length; index++) {
218
+ var _context$designer9, _context$designer9$cr, _context$createTempla, _context$createTempla2;
219
+ var page = aiCanvas.pages[index];
220
+ var pageRef = yield (_context$designer9 = context.designer) === null || _context$designer9 === void 0 || (_context$designer9$cr = _context$designer9.createPage) === null || _context$designer9$cr === void 0 ? void 0 : _context$designer9$cr.call(_context$designer9, canvasId, page.title, (_context$createTempla = context.createTemplates) === null || _context$createTempla === void 0 || (_context$createTempla2 = _context$createTempla.page) === null || _context$createTempla2 === void 0 ? void 0 : _context$createTempla2.call(_context$createTempla, {
221
+ title: page.title
222
+ }));
223
+ if (pageRef) {
224
+ pageArray.push({
225
+ page,
226
+ pageRef
227
+ });
228
+ }
229
+ }
230
+ pageArray.forEach(/*#__PURE__*/function () {
231
+ var _ref4 = _asyncToGenerator(function* (_ref3, index) {
232
+ var _originParams$attachm;
233
+ var {
234
+ page,
235
+ pageRef
236
+ } = _ref3;
237
+ var otherPage = pageArray.slice(0, index).concat(pageArray.slice(index + 1));
238
+ yield requestGeneratePageAgent(pageRef.id, page.title, {
239
+ message: "\u5E2E\u5FD9\u5B9E\u73B0\u9879\u76EE\u300C".concat(aiCanvas.title, "\u300D\u7684\u5176\u4E2D\u4E00\u4E2A\u9875\u9762\uFF0C\u9875\u9762\u4E3A").concat(page.title, "\u3002\n<\u53EF\u4F9B\u53C2\u8003\u7684\u9700\u6C42>\n").concat(page.prd, "\n</\u53EF\u4F9B\u53C2\u8003\u7684\u9700\u6C42>\n\n<\u6837\u5F0F\u98CE\u683C>\n").concat(aiCanvas.style, "\n</\u6837\u5F0F\u98CE\u683C>\n\n<\u6B63\u5728\u5B9E\u73B0\u7684\u9875\u9762\u5217\u8868>\n").concat((pageArray !== null && pageArray !== void 0 ? pageArray : []).map(p => "- ".concat(p.page.title)).join('\n'), "\n</\u6B63\u5728\u5B9E\u73B0\u7684\u9875\u9762\u5217\u8868>\n\n<\u4E8B\u4EF6\u6D41\u7A0B>\n\u5F53\u524D\u9879\u76EE\u6709\u4EE5\u4E0B").concat(otherPage.length, "\u5F20\u9875\u9762\u53EF\u4EE5\u8DF3\u8F6C\n").concat(otherPage.reduce((pre, _ref5) => {
240
+ var {
241
+ page,
242
+ pageRef
243
+ } = _ref5;
244
+ return pre + "- ".concat(page.title, "\uFF08").concat(pageRef.id, "\uFF09\n");
245
+ }, ""), "\n\n\u57FA\u4E8E\u9875\u9762\u7684\u540D\u79F0\u3001\u4E8B\u5B9E\uFF0C\u5206\u6790\u9875\u9762\u95F4\u7684\u5173\u8054\u6027\u3001\u7EC4\u4EF6\u4E8B\u4EF6\u4E2D\u53EF\u80FD\u7684\u9875\u9762\u8DF3\u8F6C\u6D41\u7A0B\uFF0C\u4F8B\u5982\u67D0\u4E2A\u6309\u94AE\u7684\u70B9\u51FB\u4E8B\u4EF6\u8DF3\u8F6C\u4E00\u4E2A\u6B63\u786E\u7684\u9875\u9762\u3002\n\n\u6CE8\u610F\uFF1A\n1. \u9664\u9875\u9762\u8DF3\u8F6C\u5916\uFF0C\u7981\u6B62\u4E00\u5207\u5176\u5B83\u5F62\u5F0F\u7684\u4E8B\u4EF6\u6D41\u7A0B\u548C\u53D8\u91CF\u3002\n</\u4E8B\u4EF6\u6D41\u7A0B>\n"),
246
+ attachments: (_originParams$attachm = originParams === null || originParams === void 0 ? void 0 : originParams.attachments) !== null && _originParams$attachm !== void 0 ? _originParams$attachm : [],
247
+ onProgress: pageRef.onProgress,
248
+ id: pageRef.id
249
+ });
250
+ });
251
+ return function (_x5, _x6) {
252
+ return _ref4.apply(this, arguments);
253
+ };
254
+ }());
255
+ });
256
+ return _createCanvasByAICanvas.apply(this, arguments);
257
+ }
258
+ var requestGenerateCanvasAgent = params => {
259
+ return new Promise((resolve, reject) => {
260
+ var _params$onProgress4, _params$attachments;
261
+ params === null || params === void 0 || (_params$onProgress4 = params.onProgress) === null || _params$onProgress4 === void 0 || _params$onProgress4.call(params, 'start');
262
+ var createTargetContainer = /*#__PURE__*/function () {
263
+ var _ref2 = _asyncToGenerator(function* () {
264
+ var _context$designer8, _context$designer8$cr;
265
+ if (!context.isMutiCanvas) {
266
+ return {
267
+ id: '_root_'
268
+ };
269
+ }
270
+ return (yield (_context$designer8 = context.designer) === null || _context$designer8 === void 0 || (_context$designer8$cr = _context$designer8.createCanvas) === null || _context$designer8$cr === void 0 ? void 0 : _context$designer8$cr.call(_context$designer8)) || {
271
+ id: '_root_'
272
+ };
273
+ });
274
+ return function createTargetContainer() {
275
+ return _ref2.apply(this, arguments);
276
+ };
277
+ }();
278
+ var originParams = {
279
+ message: params === null || params === void 0 ? void 0 : params.message,
280
+ attachments: (_params$attachments = params === null || params === void 0 ? void 0 : params.attachments) !== null && _params$attachments !== void 0 ? _params$attachments : []
281
+ };
282
+ (params.rxai || context.rxai).requestAI(_objectSpread2(_objectSpread2({}, params), {}, {
283
+ message: params === null || params === void 0 ? void 0 : params.message,
284
+ key: params.id,
285
+ emits: {
286
+ write: () => {},
287
+ complete: () => {
288
+ var _params$onProgress5;
289
+ params === null || params === void 0 || (_params$onProgress5 = params.onProgress) === null || _params$onProgress5 === void 0 || _params$onProgress5.call(params, "complete");
290
+ },
291
+ error: () => {
292
+ var _params$onProgress6;
293
+ reject('error');
294
+ params === null || params === void 0 || (_params$onProgress6 = params.onProgress) === null || _params$onProgress6 === void 0 || _params$onProgress6.call(params, "error");
295
+ },
296
+ cancel: () => {
297
+ var _params$onProgress7;
298
+ params === null || params === void 0 || (_params$onProgress7 = params.onProgress) === null || _params$onProgress7 === void 0 || _params$onProgress7.call(params, "complete");
299
+ }
300
+ },
301
+ planList: [MYBRICKS_TOOLS.AnalyzeAndExpandPrd.toolName],
302
+ tools: [MYBRICKS_TOOLS.AnalyzeAndExpandPrd({
303
+ onProjectCreate: function () {
304
+ var _onProjectCreate = _asyncToGenerator(function* (projectJson) {
305
+ if (!projectJson || !projectJson.title) {
306
+ return resolve("complete");
307
+ // return reject('不合法的项目文件')
308
+ }
309
+ var canvasId;
310
+ try {
311
+ var canvas = yield createTargetContainer();
312
+ canvasId = canvas === null || canvas === void 0 ? void 0 : canvas.id;
313
+ } catch (error) {
314
+ return reject(error);
315
+ }
316
+ resolve('complete');
317
+ if (canvasId) {
318
+ var _params$onProgress8;
319
+ params === null || params === void 0 || (_params$onProgress8 = params.onProgress) === null || _params$onProgress8 === void 0 || _params$onProgress8.call(params, 'ing');
320
+ createCanvasByAICanvas(canvasId, projectJson, originParams);
321
+ }
322
+ });
323
+ function onProjectCreate(_x4) {
324
+ return _onProjectCreate.apply(this, arguments);
325
+ }
326
+ return onProjectCreate;
327
+ }(),
328
+ deviceType: context.deviceType
329
+ })]
330
+ }));
331
+ });
332
+ };
333
+
334
+ export { requestGenerateCanvasAgent, requestGeneratePageAgent };
335
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sources":["../../src/agents/app.ts"],"sourcesContent":["import { context } from './../context';\nimport { MYBRICKS_TOOLS } from \"./../tools\"\n\nimport { WorkSpace } from './workspace/workspace'\nimport { FocusOutlineInfoManager, FocusInfo } from './workspace/outline-focus'\nimport { getAgentConfigs } from './utils/config'\n\nexport const requestGeneratePageAgent = (pageId: string, pageTitle: string, params: any) => {\n\n // 从 agents 配置中获取提示词配置,优先使用参数传入的,否则使用 context 中的\n const agents = params.agents || context.agents;\n const agentConfig = getAgentConfigs(agents, 'page');\n\n const focusInfo: FocusInfo = {\n pageId,\n comId: undefined,\n title: pageTitle,\n type: 'page'\n };\n\n const outlineInfoManager = new FocusOutlineInfoManager({\n api: context.api,\n focusInfo\n })\n\n const componentIdToTitleMap = outlineInfoManager.getComponentIdToTitleMap(pageId);\n\n const workspace = new WorkSpace({ currentFocus: focusInfo } as any, {\n getAllPageInfo() {\n return []\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 params?.onProgress?.('start')\n\n context.rxai.requestAI({\n ...params,\n extension: {\n mentions: [focusInfo]\n },\n message: params?.message,\n key: pageId,\n emits: {\n write: () => { },\n complete: () => {\n params?.onProgress?.(\"complete\");\n },\n error: () => {\n params?.onProgress?.(\"error\");\n },\n cancel: () => {\n // params?.onProgress?.(\"complete\");\n },\n },\n planList: [`${MYBRICKS_TOOLS.AnalyzeRequirementAndComponents.toolName} -mode generate`, MYBRICKS_TOOLS.GenerateUiContent.toolName, MYBRICKS_TOOLS.BuildProcess.toolName],\n tools: [\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 shouldUseExpert: true,\n deviceType: context.deviceType,\n }),\n MYBRICKS_TOOLS.GenerateUiContent({\n getRootComponentDoc: () => context.api?.page?.api?.getPageContainerPrompts?.(pageId) as string,\n getTargetId: () => pageId 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?.(pageId, actions, status)\n },\n onClearPage: () => {\n context.api?.page?.api?.clearPageContent?.(pageId)\n }\n }),\n MYBRICKS_TOOLS.BuildProcess({\n getPageId: () => focusInfo.pageId,\n getPageOutlineInfo: () => {\n workspace.openDocument(focusInfo.pageId!);\n return context.api?.page?.api?.getOutlineInfo(focusInfo.pageId)\n },\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 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 // console.log(\"[updatePage]\", args)\n return context.designer?.updatePage?.(focusInfo.pageId, ...args)\n },\n updateCom: (...args: any) => {\n // console.log(\"[updateCom]\", args)\n return context.designer?.updateLogicCom?.(...args)\n },\n }),,\n ],\n // presetMessages: () => [\n // {\n // role: 'user',\n // content: workspace.getComponentsDocs()\n // }\n // ],\n presetMessages: () => {\n const projectStruct = `# 工作空间 \\n 当前为空项目`;;\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 // presetMessages: [\n // {\n // role: 'user',\n // content: `检测到聚焦位置发生变化`\n // },\n // {\n // role: 'assistant',\n // content: `当前已聚焦到${`页面(title=${pageTitle},id=${pageId})`}中,后续用户的提问,关于”这个“、“此”,甚至不提主语,都是指代此元素。\n // <当前聚焦元素的内容简介>\n // 内容为空\n // </当前聚焦元素的内容简介>\n // `\n // }\n // ]\n });\n}\n\nasync function createCanvasByAICanvas(canvasId: string, aiCanvas: any, originParams: any[]) {\n\n function sleep(ms: number) {\n return new Promise(resolve => setTimeout(resolve, ms));\n }\n\n // TOOD,之前不去掉设计器会有报错\n await sleep(1000)\n\n const pageArray: Array<{ page: any; pageRef: { id: string; onProgress: Function } }> = [];\n\n for (let index = 0; index < aiCanvas.pages.length; index++) {\n const page = aiCanvas.pages[index];\n\n const pageRef = await context.designer?.createPage?.(canvasId, page.title, context.createTemplates?.page?.({ title: page.title }))\n if (pageRef) {\n pageArray.push({ page, pageRef })\n }\n }\n\n pageArray.forEach(async ({ page, pageRef }, index) => {\n const otherPage = pageArray.slice(0, index).concat(pageArray.slice(index + 1))\n await requestGeneratePageAgent(pageRef.id, page.title, {\n message: `帮忙实现项目「${aiCanvas.title}」的其中一个页面,页面为${page.title}。\n<可供参考的需求>\n${page.prd}\n</可供参考的需求>\n\n<样式风格>\n${aiCanvas.style}\n</样式风格>\n\n<正在实现的页面列表>\n${(pageArray ?? []).map(p => `- ${p.page.title}`).join('\\n')}\n</正在实现的页面列表>\n\n<事件流程>\n当前项目有以下${otherPage.length}张页面可以跳转\n${otherPage.reduce((pre: string, { page, pageRef }: any) => {\nreturn pre + `- ${page.title}(${pageRef.id})\\n`\n}, \"\")}\n\n基于页面的名称、事实,分析页面间的关联性、组件事件中可能的页面跳转流程,例如某个按钮的点击事件跳转一个正确的页面。\n\n注意:\n1. 除页面跳转外,禁止一切其它形式的事件流程和变量。\n</事件流程>\n`,\n attachments: originParams?.attachments ?? [],\n onProgress: pageRef.onProgress,\n id: pageRef.id,\n })\n })\n}\n\nexport const requestGenerateCanvasAgent = (params: any) => {\n return new Promise((resolve, reject) => {\n params?.onProgress?.('start');\n\n\n const createTargetContainer = async () => {\n if (!context.isMutiCanvas) {\n return { id: '_root_' };\n }\n return await context.designer?.createCanvas?.() || { id: '_root_' };\n };\n\n const originParams = {\n message: params?.message,\n attachments: params?.attachments ?? [],\n };\n\n (params.rxai || context.rxai).requestAI({\n ...params,\n message: params?.message,\n key: params.id,\n emits: {\n write: () => { },\n complete: () => {\n params?.onProgress?.(\"complete\");\n },\n error: () => {\n reject('error')\n params?.onProgress?.(\"error\");\n },\n cancel: () => {\n params?.onProgress?.(\"complete\");\n },\n },\n planList: [MYBRICKS_TOOLS.AnalyzeAndExpandPrd.toolName],\n tools: [\n MYBRICKS_TOOLS.AnalyzeAndExpandPrd({\n onProjectCreate: async (projectJson) => {\n if (!projectJson || !projectJson.title) {\n return resolve(\"complete\");\n // return reject('不合法的项目文件')\n }\n let canvasId\n try {\n const canvas = await createTargetContainer()\n canvasId = canvas?.id\n } catch (error) {\n return reject(error)\n }\n resolve('complete')\n if (canvasId) {\n params?.onProgress?.('ing');\n createCanvasByAICanvas(canvasId, projectJson, originParams);\n }\n },\n deviceType: context.deviceType\n })\n ],\n });\n })\n}"],"names":["requestGeneratePageAgent","pageId","pageTitle","params","_params$onProgress","_context$designer","_context$designer$get","agents","context","agentConfig","getAgentConfigs","focusInfo","comId","undefined","title","type","outlineInfoManager","FocusOutlineInfoManager","api","componentIdToTitleMap","getComponentIdToTitleMap","workspace","WorkSpace","currentFocus","getAllPageInfo","getComponentDoc","namespace","_ref","_context$api$global$a","_context$api","_context$api2","global","getComEditorPrompts","uiCom","onProgress","call","rxai","requestAI","_objectSpread","extension","mentions","message","key","emits","write","complete","_params$onProgress2","error","_params$onProgress3","cancel","planList","concat","MYBRICKS_TOOLS","AnalyzeRequirementAndComponents","toolName","GenerateUiContent","BuildProcess","tools","allowComponents","designer","getAllComDefPrompts","getToolParams","onComponentDocOpen","openComponentDoc","appendPrompt","attentions","shouldUseExpert","deviceType","getRootComponentDoc","_context$api3","_context$api3$getPage","page","getPageContainerPrompts","getTargetId","getRootIdByPageId","_outlineInfoManager$g","getPageMetaInfo","rootId","onActions","actions","status","_context$designer2","_context$designer2$up","updatePage","onClearPage","_context$api4","_context$api4$clearPa","clearPageContent","getPageId","getPageOutlineInfo","_context$api5","openDocument","getOutlineInfo","getComponentOutlineInfo","_context$api6","outlineInfo","_context$api7","logicCom","_context$api8","createDiagram","_context$designer3","_context$designer3$cr","_len","arguments","length","args","Array","_key","updateDiagram","_context$designer4","_context$designer4$up","_len2","_key2","getDiagramInfo","_context$designer5","_context$designer5$ge","_len3","_key3","diagramId","id","_context$designer6","_context$designer6$up","_len4","_key4","updateCom","_context$designer7","_context$designer7$up","_len5","_key5","updateLogicCom","presetMessages","projectStruct","componentsDocs","getComponentsDocs","hasComponentsDocs","projectInfo","role","content","createCanvasByAICanvas","_x","_x2","_x3","_createCanvasByAICanvas","apply","_asyncToGenerator","canvasId","aiCanvas","originParams","sleep","ms","Promise","resolve","setTimeout","pageArray","index","pages","_context$designer9","_context$designer9$cr","_context$createTempla","_context$createTempla2","pageRef","createPage","createTemplates","push","forEach","_ref4","_ref3","_originParams$attachm","otherPage","slice","prd","style","map","p","join","reduce","pre","_ref5","attachments","_x5","_x6","requestGenerateCanvasAgent","reject","_params$onProgress4","_params$attachments","createTargetContainer","_ref2","_context$designer8","_context$designer8$cr","isMutiCanvas","createCanvas","_params$onProgress5","_params$onProgress6","_params$onProgress7","AnalyzeAndExpandPrd","onProjectCreate","_onProjectCreate","projectJson","canvas","_params$onProgress8","_x4"],"mappings":"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"}