@mybricks/plugin-ai 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_rollupPluginBabelHelpers.js +164 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
- package/dist/agents/app.js +335 -0
- package/dist/agents/app.js.map +1 -0
- package/dist/agents/common.js +483 -0
- package/dist/agents/common.js.map +1 -0
- package/dist/agents/custom.js +16 -0
- package/dist/agents/custom.js.map +1 -0
- package/dist/agents/index.js +38 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/knowledges/knowledge-base.js +579 -0
- package/dist/agents/knowledges/knowledge-base.js.map +1 -0
- package/dist/agents/knowledges/knowledge-node.js +228 -0
- package/dist/agents/knowledges/knowledge-node.js.map +1 -0
- package/dist/agents/knowledges/types.js +105 -0
- package/dist/agents/knowledges/types.js.map +1 -0
- package/dist/agents/utils/config.js +229 -0
- package/dist/agents/utils/config.js.map +1 -0
- package/dist/agents/workspace/coding-manager.js +20 -0
- package/dist/agents/workspace/coding-manager.js.map +1 -0
- package/dist/agents/workspace/components-manager.js +113 -0
- package/dist/agents/workspace/components-manager.js.map +1 -0
- package/dist/agents/workspace/outline-focus.js +167 -0
- package/dist/agents/workspace/outline-focus.js.map +1 -0
- package/dist/agents/workspace/outline-info.js +430 -0
- package/dist/agents/workspace/outline-info.js.map +1 -0
- package/dist/agents/workspace/page-tree-generator.js +70 -0
- package/dist/agents/workspace/page-tree-generator.js.map +1 -0
- package/dist/agents/workspace/workspace.js +251 -0
- package/dist/agents/workspace/workspace.js.map +1 -0
- package/dist/agents/workspace-by-knowledges/providers/component-docs-provider.js +100 -0
- package/dist/agents/workspace-by-knowledges/providers/component-docs-provider.js.map +1 -0
- package/dist/agents/workspace-by-knowledges/providers/focus-info-provider.js +120 -0
- package/dist/agents/workspace-by-knowledges/providers/focus-info-provider.js.map +1 -0
- package/dist/agents/workspace-by-knowledges/providers/project-info-provider.js +146 -0
- package/dist/agents/workspace-by-knowledges/providers/project-info-provider.js.map +1 -0
- package/dist/agents/workspace-by-knowledges/test.js +242 -0
- package/dist/agents/workspace-by-knowledges/test.js.map +1 -0
- package/dist/agents/workspace-by-knowledges/utils/components-manager.js +132 -0
- package/dist/agents/workspace-by-knowledges/utils/components-manager.js.map +1 -0
- package/dist/agents/workspace-by-knowledges/utils/outline-focus.js +167 -0
- package/dist/agents/workspace-by-knowledges/utils/outline-focus.js.map +1 -0
- package/dist/agents/workspace-by-knowledges/utils/outline-info.js +430 -0
- package/dist/agents/workspace-by-knowledges/utils/outline-info.js.map +1 -0
- package/dist/agents/workspace-by-knowledges/workspace.js +169 -0
- package/dist/agents/workspace-by-knowledges/workspace.js.map +1 -0
- package/dist/api/cloud-components.js +85 -0
- package/dist/api/cloud-components.js.map +1 -0
- package/dist/api-record-replay/manager.js +168 -0
- package/dist/api-record-replay/manager.js.map +1 -0
- package/{src/api-record-replay/recorder.ts → dist/api-record-replay/recorder.js} +22 -32
- package/dist/api-record-replay/recorder.js.map +1 -0
- package/dist/api-record-replay/replayer.js +136 -0
- package/dist/api-record-replay/replayer.js.map +1 -0
- package/dist/components/attachments/index.js +124 -0
- package/dist/components/attachments/index.js.map +1 -0
- package/dist/components/attachments/index.less.js +8 -0
- package/dist/components/attachments/index.less.js.map +1 -0
- package/dist/components/icons/index.js +112 -0
- package/dist/components/icons/index.js.map +1 -0
- package/dist/components/icons/index.less.js +8 -0
- package/dist/components/icons/index.less.js.map +1 -0
- package/dist/components/mention/index.js +19 -0
- package/dist/components/mention/index.js.map +1 -0
- package/dist/components/mention/index.less.js +8 -0
- package/dist/components/mention/index.less.js.map +1 -0
- package/dist/components/messages/index.js +429 -0
- package/dist/components/messages/index.js.map +1 -0
- package/dist/components/messages/index.less.js +8 -0
- package/dist/components/messages/index.less.js.map +1 -0
- package/dist/components/sender/index.js +244 -0
- package/dist/components/sender/index.js.map +1 -0
- package/dist/components/sender/index.less.js +8 -0
- package/dist/components/sender/index.less.js.map +1 -0
- package/dist/context/RequestStatusTracker.js +44 -0
- package/dist/context/RequestStatusTracker.js.map +1 -0
- package/dist/context/index.js +45 -0
- package/dist/context/index.js.map +1 -0
- package/dist/data.js +4 -0
- package/dist/data.js.map +1 -0
- package/dist/index.js +306 -0
- package/dist/index.js.map +1 -0
- package/dist/plugin-ai/node_modules/style-inject/dist/style-inject.es.js +27 -0
- package/dist/plugin-ai/node_modules/style-inject/dist/style-inject.es.js.map +1 -0
- package/dist/plugin-ai/package.json.js +8 -0
- package/dist/plugin-ai/package.json.js.map +1 -0
- package/dist/plugin-ai/test/index.js +206 -0
- package/dist/plugin-ai/test/index.js.map +1 -0
- package/dist/preset/createTemplates.js +29 -0
- package/dist/preset/createTemplates.js.map +1 -0
- package/dist/preset/index.js +13 -0
- package/dist/preset/index.js.map +1 -0
- package/dist/preset/prompts.js +34 -0
- package/dist/preset/prompts.js.map +1 -0
- package/{src/preset/user.ts → dist/preset/user.js} +4 -3
- package/dist/preset/user.js.map +1 -0
- package/dist/requestAsStream.js +269 -0
- package/dist/requestAsStream.js.map +1 -0
- package/dist/rxai/node_modules/idb/build/index.js +277 -0
- package/dist/rxai/node_modules/idb/build/index.js.map +1 -0
- package/dist/rxai/src/agent/base.js +16 -0
- package/dist/rxai/src/agent/base.js.map +1 -0
- package/dist/rxai/src/agent/planning.js +1076 -0
- package/dist/rxai/src/agent/planning.js.map +1 -0
- package/dist/rxai/src/agent/rxai.js +254 -0
- package/dist/rxai/src/agent/rxai.js.map +1 -0
- package/dist/rxai/src/error/base.js +39 -0
- package/dist/rxai/src/error/base.js.map +1 -0
- package/dist/rxai/src/prompt/base.js +11 -0
- package/dist/rxai/src/prompt/base.js.map +1 -0
- package/dist/rxai/src/prompt/planning.js +23 -0
- package/dist/rxai/src/prompt/planning.js.map +1 -0
- package/dist/rxai/src/prompt/tool.js +14 -0
- package/dist/rxai/src/prompt/tool.js.map +1 -0
- package/dist/rxai/src/request/request.js +123 -0
- package/dist/rxai/src/request/request.js.map +1 -0
- package/dist/rxai/src/tool/getHistoryRecords.js +65 -0
- package/dist/rxai/src/tool/getHistoryRecords.js.map +1 -0
- package/dist/rxai/src/tool/util.js +424 -0
- package/dist/rxai/src/tool/util.js.map +1 -0
- package/dist/rxai/src/utils/events.js +43 -0
- package/dist/rxai/src/utils/events.js.map +1 -0
- package/dist/rxai/src/utils/idb.js +240 -0
- package/dist/rxai/src/utils/idb.js.map +1 -0
- package/dist/rxai/src/utils/retry.js +32 -0
- package/dist/rxai/src/utils/retry.js.map +1 -0
- package/dist/rxai/src/utils/uuid.js +7 -0
- package/dist/rxai/src/utils/uuid.js.map +1 -0
- package/dist/startView/components/header/header.js +12 -0
- package/dist/startView/components/header/header.js.map +1 -0
- package/dist/startView/components/header/header.less.js +8 -0
- package/dist/startView/components/header/header.less.js.map +1 -0
- package/dist/startView/index.js +62 -0
- package/dist/startView/index.js.map +1 -0
- package/dist/startView/index.less.js +8 -0
- package/dist/startView/index.less.js.map +1 -0
- package/dist/tools/analyze-and-expand-prd.js +116 -0
- package/dist/tools/analyze-and-expand-prd.js.map +1 -0
- package/dist/tools/analyze-requirement-and-components.js +208 -0
- package/dist/tools/analyze-requirement-and-components.js.map +1 -0
- package/dist/tools/answer.js +33 -0
- package/dist/tools/answer.js.map +1 -0
- package/dist/tools/build-process.js +550 -0
- package/dist/tools/build-process.js.map +1 -0
- package/dist/tools/coding-subagent-as-tool.js +101 -0
- package/dist/tools/coding-subagent-as-tool.js.map +1 -0
- package/dist/tools/generate-ui-content.js +528 -0
- package/dist/tools/generate-ui-content.js.map +1 -0
- package/dist/tools/index.js +31 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/open-dsl.js +49 -0
- package/dist/tools/open-dsl.js.map +1 -0
- package/dist/tools/refactor-ui-content.js +292 -0
- package/dist/tools/refactor-ui-content.js.map +1 -0
- package/dist/tools/utils.js +832 -0
- package/dist/tools/utils.js.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/dist/view/components/header/header.js +59 -0
- package/dist/view/components/header/header.js.map +1 -0
- package/dist/view/components/header/header.less.js +8 -0
- package/dist/view/components/header/header.less.js.map +1 -0
- package/dist/view/index.js +184 -0
- package/dist/view/index.js.map +1 -0
- package/dist/view/index.less.js +8 -0
- package/dist/view/index.less.js.map +1 -0
- package/package.json +28 -6
- package/src/agents/app.ts +0 -301
- package/src/agents/common.ts +0 -471
- package/src/agents/custom.ts +0 -14
- package/src/agents/index.ts +0 -37
- package/src/agents/knowledges/README.md +0 -614
- package/src/agents/knowledges/SUMMARY.md +0 -527
- package/src/agents/knowledges/index.ts +0 -8
- package/src/agents/knowledges/knowledge-base.ts +0 -565
- package/src/agents/knowledges/knowledge-node.ts +0 -266
- package/src/agents/knowledges/types.ts +0 -208
- package/src/agents/utils/config.ts +0 -427
- package/src/agents/workspace/coding-manager.ts +0 -31
- package/src/agents/workspace/components-manager.ts +0 -124
- package/src/agents/workspace/outline-focus.ts +0 -188
- package/src/agents/workspace/outline-info.ts +0 -520
- package/src/agents/workspace/page-tree-generator.ts +0 -83
- package/src/agents/workspace/workspace.ts +0 -319
- package/src/agents/workspace-by-knowledges/MIGRATION.md +0 -568
- package/src/agents/workspace-by-knowledges/README.md +0 -521
- package/src/agents/workspace-by-knowledges/index.ts +0 -11
- package/src/agents/workspace-by-knowledges/providers/component-docs-provider.ts +0 -92
- package/src/agents/workspace-by-knowledges/providers/focus-info-provider.ts +0 -131
- package/src/agents/workspace-by-knowledges/providers/index.ts +0 -8
- package/src/agents/workspace-by-knowledges/providers/project-info-provider.ts +0 -151
- package/src/agents/workspace-by-knowledges/test.ts +0 -240
- package/src/agents/workspace-by-knowledges/types.ts +0 -56
- package/src/agents/workspace-by-knowledges/utils/components-manager.ts +0 -145
- package/src/agents/workspace-by-knowledges/utils/index.ts +0 -8
- package/src/agents/workspace-by-knowledges/utils/outline-focus.ts +0 -178
- package/src/agents/workspace-by-knowledges/utils/outline-info.ts +0 -521
- package/src/agents/workspace-by-knowledges/workspace.ts +0 -166
- package/src/api/cloud-components.ts +0 -129
- package/src/api-record-replay/README.md +0 -187
- package/src/api-record-replay/index.ts +0 -11
- package/src/api-record-replay/manager.ts +0 -168
- package/src/api-record-replay/replayer.ts +0 -148
- package/src/components/attachments/index.less +0 -117
- package/src/components/attachments/index.tsx +0 -136
- package/src/components/icons/index.less +0 -8
- package/src/components/icons/index.tsx +0 -44
- package/src/components/index.less +0 -34
- package/src/components/mention/index.less +0 -23
- package/src/components/mention/index.tsx +0 -19
- package/src/components/messages/index.less +0 -1013
- package/src/components/messages/index.tsx +0 -519
- package/src/components/sender/index.less +0 -203
- package/src/components/sender/index.tsx +0 -298
- package/src/components/types.ts +0 -31
- package/src/constants/index.ts +0 -8
- package/src/context/RequestStatusTracker.ts +0 -50
- package/src/context/index.ts +0 -83
- package/src/data.ts +0 -5
- package/src/global.d.ts +0 -100
- package/src/index.tsx +0 -264
- package/src/mock.ts +0 -1267
- package/src/preset/agents.ts +0 -380
- package/src/preset/createTemplates.ts +0 -25
- package/src/preset/index.ts +0 -12
- package/src/preset/prompts.ts +0 -235
- package/src/preset/requestAsStream.ts +0 -246
- package/src/startView/components/header/header.less +0 -17
- package/src/startView/components/header/header.tsx +0 -15
- package/src/startView/components/index.ts +0 -1
- package/src/startView/index.less +0 -34
- package/src/startView/index.tsx +0 -61
- package/src/tools/analyze-and-expand-prd.ts +0 -272
- package/src/tools/analyze-requirement-and-components.ts +0 -589
- package/src/tools/answer.ts +0 -59
- package/src/tools/build-process.ts +0 -1174
- package/src/tools/coding-subagent-as-tool.ts +0 -119
- package/src/tools/generate-ui-content.ts +0 -1083
- package/src/tools/index.ts +0 -28
- package/src/tools/open-dsl.ts +0 -69
- package/src/tools/refactor-ui-content.ts +0 -801
- package/src/tools/type.d.ts +0 -12
- package/src/tools/utils.ts +0 -914
- package/src/types/index.ts +0 -4
- package/src/view/components/header/header.less +0 -51
- package/src/view/components/header/header.tsx +0 -60
- package/src/view/components/index.ts +0 -1
- package/src/view/index.less +0 -5
- package/src/view/index.tsx +0 -168
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../src/tools/utils.ts"],"sourcesContent":["import { jsonrepair } from 'jsonrepair'\nimport { ComponentsManager } from './../agents/workspace/components-manager'\n\nexport function getFiles(files: RxFiles, {\n extName\n}: {\n extName?: string\n}): RxFile | undefined {\n let result: RxFile | undefined\n Object.keys(files).forEach((fileName) => {\n const file = files[fileName] as RxFile;\n if (file.extension === extName) {\n result = file\n }\n })\n return result\n}\n\nexport function getComponentOperationSummary(operations = [], componentIdToTitleMap = new Map()) {\n const componentActions: any = {};\n const results: any = [];\n\n // 收集组件title信息(补充传入映射中没有的新组件)\n operations.forEach(operation => {\n if (operation.type === 'addChild' && operation.params.title) {\n componentIdToTitleMap.set(operation.params.comId, operation.params.title)\n }\n });\n\n operations.forEach(operation => {\n const { comId, type, target, params } = operation;\n\n switch (type) {\n case 'doConfig':\n const configTitle = componentIdToTitleMap.get(comId) || comId;\n if (!componentActions[configTitle]) {\n componentActions[configTitle] = { configs: [] };\n }\n const simplifiedPath = params.path?.split?.('/')?.pop?.();\n componentActions[configTitle].configs.push(simplifiedPath);\n break;\n\n case 'addChild':\n const parentTitle = componentIdToTitleMap.get(comId) || comId;\n\n // 1. 先记录添加组件的操作\n results.push(`• 在【${parentTitle}】的 ${target} 插槽中新增了「${params.title}」`);\n\n // 2. 如果新组件有配置,单独记录配置操作\n if (params.configs && params.configs.length > 0) {\n const childConfigs = params.configs.map(config => config.path?.split?.('/')?.pop?.());\n results.push(`• 配置【${params.title}】:设置了 ${childConfigs.join('、')} 等属性`);\n }\n break;\n\n case 'move':\n const moveTitle = componentIdToTitleMap.get(comId);\n const targetTitle = componentIdToTitleMap.get(params.to?.comId);\n const slotId = params.to?.slotId;\n\n if (moveTitle && targetTitle) {\n results.push(`• 将【${moveTitle}】移动至【${targetTitle}】的 ${slotId} 插槽中`);\n }\n break;\n\n case 'delete':\n const deleteTitle = componentIdToTitleMap.get(comId);\n if (deleteTitle) {\n results.push(`• 删除了【${deleteTitle}】组件`);\n } else {\n // 如果没有title,可能是删除了一个没有被记录的组件\n results.push(`• 删除了组件 ${comId}`);\n }\n break;\n }\n });\n\n // 处理独立的配置操作(doConfig类型)\n Object.keys(componentActions).forEach(title => {\n const actions = componentActions[title];\n if (actions.configs.length > 0) {\n results.push(`• 配置【${title}】:调整了 ${actions.configs.join('、')} 等属性`);\n }\n });\n\n return results.join('\\n');\n}\n\ninterface Config {\n path: string;\n value: any;\n style: any;\n}\n\ninterface AddChildActionParams {\n namespace?: string;\n ns?: string;\n layout?: any;\n configs: Config[];\n ignore?: boolean;\n enhance?: boolean;\n}\n\ninterface DoConfigActionParams {\n path: string;\n value: any;\n}\n\ntype ActionParams = AddChildActionParams | DoConfigActionParams;\n\ninterface Action {\n comId: string;\n type: string;\n target: string;\n params: ActionParams;\n}\n\n// 第二个参数用于透传当前解析器实例内的 comId -> params 映射,方便后续 O(1) 快查\nconst formatAction = (\n _action: string,\n comIdToParamsMap?: Map<string, AddChildActionParams>,\n options?: { enabledActionTags?: boolean }\n) => {\n const { enabledActionTags } = options ?? {};\n let action;\n try {\n // TODO,后面要提示词处理的,这样replace不合理\n const fixActionString = _action.replaceAll('{\":parent/', '{\"path\":\":parent/')\n action = JSON.parse(fixActionString);\n } catch (error) {\n try {\n const repairedAction = jsonrepair(_action)\n action = JSON.parse(repairedAction)\n } catch (error) {\n console.error(\"repair action error\", error);\n }\n }\n\n if (!Array.isArray(action)) {\n return action;\n }\n\n const [comId, target, type, params] = action;\n const newAct: Action = {\n comId,\n type,\n target,\n params,\n };\n\n if (newAct.type === \"delete\") {\n if (!newAct.params) {\n return {\n ...newAct,\n params: {}\n }\n }\n }\n\n if (newAct.type === 'move') {\n if (newAct.params) {\n return {\n ...newAct,\n params: {\n to: newAct.params\n }\n }\n }\n }\n\n // ns => namespace\n if (newAct.type === \"addChild\") {\n if (newAct.params?.ns) {\n newAct.params.namespace = ComponentsManager.getFullNamespace(newAct.params.ns);\n delete newAct.params.ns;\n }\n }\n\n // 标记使用\n if (newAct.type === 'addChild') {\n if (enabledActionTags) {\n \n if (newAct.params?.ignore) {\n // TODO:标记的兼容,对于配置了ignore,但是有padding的组件,直接替换成enhance,因为直接去掉,底层的100%组件宽高会失效。\n if (newAct?.params?.configs?.some(config => Object.keys(config?.style ?? {}).some(key => key.startsWith('padding')))) {\n newAct.params.enhance = true;\n delete newAct.params.ignore;\n }\n\n // TODO:标记的兼容,如果配置了enhance或者ignore的不是布局组件,需要删除该标记\n if (!ComponentsManager.isLayoutComponent(newAct.params.namespace)) {\n delete newAct.params.enhance;\n delete newAct.params.ignore;\n }\n\n // TODO:标记的兼容,关注配置了ignore的父级元素是否为布局组件,如果不是,需要改成enhance而不是ignore,因为其他组件没有setLayout函数\n if (comIdToParamsMap) {\n const parentParams = comIdToParamsMap.get(newAct.comId);\n if (!parentParams) { // 没有父级组件,直接删除标记\n delete newAct.params.enhance;\n delete newAct.params.ignore;\n } else {\n // 有父级组件,判断父级组件是否为布局组件\n const parentNamespace = parentParams?.namespace;\n if (parentNamespace && !ComponentsManager.isLayoutComponent(parentNamespace)) {\n newAct.params.enhance = true;\n delete newAct.params.ignore;\n }\n }\n }\n }\n } else {\n if (newAct.params.enhance || newAct.params.ignore) {\n delete newAct.params.enhance;\n delete newAct.params.ignore;\n }\n }\n }\n\n // absolute 布局的转化\n if (newAct.params?.value?.display === \"absolute\") {\n newAct.params.value.position = \"smart\";\n delete newAct.params.value.display;\n }\n\n // flexDirection 的兼容\n if (newAct.params?.value && newAct.params.value.display === \"flex\" && !newAct.params.value.flexDirection) {\n newAct.params.value.flexDirection = \"row\";\n }\n\n // addChild兼容\n if (newAct.type === \"addChild\" && Array.isArray(newAct.params?.configs)) {\n newAct.params.configs.forEach((config) => {\n\n // path value幻觉,直接用key value的情况\n if (!config?.path && Object.keys(config).length === 1) {\n const firstKey = Object.keys(config)[0];\n const value = config[firstKey]\n delete config[firstKey];\n config.path = firstKey\n config.value = value\n }\n\n if (config.parent) {\n config.path = `:parent/${config.path}`;\n delete config.parent;\n }\n \n // absolute 布局的转化\n if (config?.value?.display === \"absolute\") {\n config.value.position = \"smart\";\n delete config.value.display;\n }\n\n // flexDirection 的兼容\n if (config.value && config.value?.display === \"flex\" && !config.value?.flexDirection) {\n config.value.flexDirection = \"row\";\n }\n\n if (config?.style) {\n // 兼容background\n transformToValidBackground(config?.style);\n }\n });\n }\n\n // flex布局幻觉的兼容\n if (newAct.type === \"doConfig\") {\n if (newAct.params?.display === 'flex' && !newAct.params?.flexDirection) {\n newAct.params.flexDirection = 'column';\n }\n if (newAct.params?.flexDirection && !newAct.params?.display) {\n newAct.params.display = 'flex';\n }\n }\n\n // 对样式幻觉的兼容\n if (newAct.type === \"doConfig\" && newAct.params?.style) {\n // 兼容background\n transformToValidBackground(newAct.params?.style);\n }\n if (newAct.type === \"addChild\" && newAct.params?.layout) {\n // 兼容margin\n transformToValidMargins(newAct.params?.layout);\n\n // 支持width=auto\n if (newAct.params?.layout?.width === 'auto') {\n newAct.params.layout.width = '100%';\n }\n }\n\n // 在所有兼容性处理之后,再记录 addChild 的配置,保证 namespace / layout 等信息已经就绪\n if (comIdToParamsMap && newAct.type === \"addChild\") {\n comIdToParamsMap.set(newAct.params.comId, JSON.parse(JSON.stringify(newAct.params)) as AddChildActionParams);\n }\n\n return newAct;\n};\n\n/**\n * 将background转换为有效的backgroundColor和backgroundImage\n * @param styles 需要转换的样式对象\n */\nfunction transformToValidBackground(styles: any): void {\n // 兼容下把渐变色配置到backgroundColor的情况\n if (\n styles?.backgroundColor &&\n styles?.backgroundColor?.indexOf(\"gradient\") > -1\n ) {\n const imageRegex =\n /(url\\([^)]+\\)|linear-gradient\\([^)]+\\)|radial-gradient\\([^)]+\\)|conic-gradient\\([^)]+\\))/;\n const imageMatch = styles.backgroundColor.match(imageRegex);\n\n if (imageMatch && !styles.backgroundImage) {\n styles.backgroundImage = imageMatch[0];\n }\n\n delete styles.backgroundColor;\n }\n\n // 兼容,配置backgroundColor的话记得去除渐变色\n if (styles.backgroundColor && !styles.backgroundImage) {\n styles.backgroundColor = styles.backgroundColor\n styles.backgroundImage = 'none'\n }\n\n // 如果没有background属性,直接返回\n if (!styles.background) {\n return;\n }\n\n const background = styles.background.toString().trim();\n\n // 删除原有的background属性\n delete styles.background;\n\n // 处理特殊值\n if (background === 'transparent' || background === 'none') {\n styles.backgroundColor = 'transparent';\n styles.backgroundImage = 'none';\n return;\n }\n\n // 解析复合背景\n const parsedBackground = parseComplexBackground(background);\n \n if (parsedBackground.hasImages && !styles.backgroundImage) {\n styles.backgroundColor = 'transparent';\n styles.backgroundImage = parsedBackground.images.join(', ');\n \n // 设置背景位置和尺寸\n if (parsedBackground.position && !styles.backgroundPosition) {\n styles.backgroundPosition = parsedBackground.position;\n }\n if (parsedBackground.size && !styles.backgroundSize) {\n styles.backgroundSize = parsedBackground.size;\n }\n\n return;\n }\n\n // 如果只有颜色\n if (parsedBackground.color && !styles.backgroundColor) {\n styles.backgroundColor = parsedBackground.color;\n if (!styles.backgroundImage) {\n styles.backgroundImage = 'none';\n }\n return;\n }\n\n // 如果没有找到颜色,但有backgroundImage,设置透明背景色\n if (styles.backgroundImage && !styles.backgroundColor) {\n styles.backgroundColor = 'transparent';\n }\n}\n\n/**\n * 解析复杂的background值\n * @param background 原始background字符串\n * @returns 解析后的对象\n */\nfunction parseComplexBackground(background: string) {\n const result = {\n images: [] as string[],\n color: '',\n position: '',\n size: '',\n hasImages: false\n };\n\n // 使用更精确的方法来提取图片和渐变\n const images = extractBackgroundImages(background);\n \n if (images.length > 0) {\n result.hasImages = true;\n result.images = images;\n \n // 提取位置和尺寸信息\n const positionSizeInfo = extractPositionAndSize(background, images);\n result.position = positionSizeInfo.position;\n result.size = positionSizeInfo.size;\n }\n\n // 提取颜色值\n const color = extractBackgroundColor(background, images);\n if (color) {\n result.color = color;\n }\n\n return result;\n}\n\n/**\n * 提取背景图片和渐变\n */\nfunction extractBackgroundImages(background: string): string[] {\n const images: string[] = [];\n let remaining = background;\n \n while (remaining.length > 0) {\n // 查找下一个函数的开始\n const urlMatch = remaining.match(/url\\s*\\(/);\n const gradientMatch = remaining.match(/(linear-gradient|radial-gradient|conic-gradient)\\s*\\(/);\n \n let nextMatch = null;\n let matchType = '';\n \n if (urlMatch && gradientMatch) {\n // 选择更早出现的匹配\n if (urlMatch.index! < gradientMatch.index!) {\n nextMatch = urlMatch;\n matchType = 'url';\n } else {\n nextMatch = gradientMatch;\n matchType = 'gradient';\n }\n } else if (urlMatch) {\n nextMatch = urlMatch;\n matchType = 'url';\n } else if (gradientMatch) {\n nextMatch = gradientMatch;\n matchType = 'gradient';\n }\n \n if (!nextMatch) {\n break;\n }\n \n const startIndex = nextMatch.index!;\n const functionStart = remaining.indexOf('(', startIndex) + 1;\n \n // 找到匹配的右括号\n let parenCount = 1;\n let endIndex = functionStart;\n \n while (endIndex < remaining.length && parenCount > 0) {\n if (remaining[endIndex] === '(') {\n parenCount++;\n } else if (remaining[endIndex] === ')') {\n parenCount--;\n }\n endIndex++;\n }\n \n if (parenCount === 0) {\n // 提取完整的函数\n const fullFunction = remaining.substring(startIndex, endIndex);\n images.push(fullFunction);\n \n // 移除已处理的部分\n remaining = remaining.substring(endIndex);\n } else {\n // 如果括号不匹配,跳过这个匹配\n remaining = remaining.substring(startIndex + 1);\n }\n }\n \n return images;\n}\n\n/**\n * 提取位置和尺寸信息\n */\nfunction extractPositionAndSize(background: string, images: string[]): { position: string; size: string } {\n let cleanBackground = background;\n \n // 移除所有图片和渐变\n images.forEach(image => {\n cleanBackground = cleanBackground.replace(image, '');\n });\n \n // 清理多余的逗号和空格\n cleanBackground = cleanBackground.replace(/,\\s*,/g, ',').replace(/^\\s*,\\s*|\\s*,\\s*$/g, '').trim();\n \n // 匹配位置/尺寸模式 (如: center/cover, top left/contain)\n const positionSizeMatch = cleanBackground.match(/([^\\/,]*?)\\/([^\\/,]*)/);\n \n let position = '';\n let size = '';\n \n if (positionSizeMatch) {\n const positionPart = positionSizeMatch[1]?.trim();\n const sizePart = positionSizeMatch[2]?.trim();\n \n if (positionPart && isValidBackgroundPosition(positionPart)) {\n position = positionPart;\n }\n \n if (sizePart && isValidBackgroundSize(sizePart)) {\n size = sizePart;\n }\n } else {\n // 如果没有找到 / 分隔符,尝试单独匹配位置或尺寸\n const parts = cleanBackground.split(/\\s+/).filter(part => part.length > 0);\n \n for (const part of parts) {\n if (!position && isValidBackgroundPosition(part)) {\n position = part;\n } else if (!size && isValidBackgroundSize(part)) {\n size = part;\n }\n }\n }\n \n return { position, size };\n}\n\n/**\n * 提取背景颜色\n */\nfunction extractBackgroundColor(background: string, images: string[]): string {\n let cleanBackground = background;\n \n // 移除所有图片和渐变\n images.forEach(image => {\n cleanBackground = cleanBackground.replace(image, '');\n });\n \n // 移除位置和尺寸信息\n cleanBackground = cleanBackground.replace(/\\s*(center|top|bottom|left|right|\\d+%|\\d+px)\\s*/g, ' ');\n cleanBackground = cleanBackground.replace(/\\s*\\/\\s*(cover|contain|auto|\\d+%|\\d+px)\\s*/g, ' ');\n cleanBackground = cleanBackground.replace(/,\\s*,/g, ',').replace(/^\\s*,\\s*|\\s*,\\s*$/g, '').trim();\n\n // 匹配颜色格式\n const colorRegex = /(#[0-9A-Fa-f]{3,6}|rgb\\([^)]+\\)|rgba\\([^)]+\\)|hsl\\([^)]+\\)|hsla\\([^)]+\\)|[a-zA-Z]+)/;\n const colorMatch = cleanBackground.match(colorRegex);\n \n return colorMatch ? colorMatch[0] : '';\n}\n\n/**\n * 检查是否是有效的背景位置值\n */\nfunction isValidBackgroundPosition(value: string): boolean {\n const positionKeywords = ['center', 'top', 'bottom', 'left', 'right'];\n const parts = value.split(/\\s+/);\n \n return parts.every(part => \n positionKeywords.includes(part) || \n /^\\d+%$/.test(part) || \n /^\\d+px$/.test(part) ||\n /^-?\\d+(\\.\\d+)?(px|em|rem|%)$/.test(part)\n );\n}\n\n/**\n * 检查是否是有效的背景尺寸值\n */\nfunction isValidBackgroundSize(value: string): boolean {\n const sizeKeywords = ['cover', 'contain', 'auto'];\n \n if (sizeKeywords.includes(value)) {\n return true;\n }\n \n const parts = value.split(/\\s+/);\n return parts.every(part => \n part === 'auto' ||\n /^\\d+%$/.test(part) || \n /^\\d+px$/.test(part) ||\n /^-?\\d+(\\.\\d+)?(px|em|rem|%)$/.test(part)\n );\n}\n\n/**\n * 将margin简写转换为marginTop/Right/Bottom/Left\n * @param styles 需要转换的样式对象\n */\nfunction transformToValidMargins(styles: any): void {\n // 如果没有margin属性,直接返回\n if (!styles.margin) {\n return;\n }\n\n const margin = styles.margin.toString().trim();\n const values = margin.split(/\\s+/); // 按空格分割\n\n // 根据值的数量设置不同方向的margin\n switch (values.length) {\n case 1: // margin: 10px;\n styles.marginTop = values[0];\n styles.marginRight = values[0];\n styles.marginBottom = values[0];\n styles.marginLeft = values[0];\n break;\n case 2: // margin: 10px 20px;\n styles.marginTop = values[0];\n styles.marginRight = values[1];\n styles.marginBottom = values[0];\n styles.marginLeft = values[1];\n break;\n case 3: // margin: 10px 20px 30px;\n styles.marginTop = values[0];\n styles.marginRight = values[1];\n styles.marginBottom = values[2];\n styles.marginLeft = values[1];\n break;\n case 4: // margin: 10px 20px 30px 40px;\n styles.marginTop = values[0];\n styles.marginRight = values[1];\n styles.marginBottom = values[2];\n styles.marginLeft = values[3];\n break;\n }\n\n // 删除原有的margin属性\n delete styles.margin;\n}\n\n/**\n * 将解析出的一条 action 推入列表,若为 addChild 且带 index 则追加对应 move\n */\nfunction pushParsedAction(\n newActions: any[],\n parsedAction: any,\n processedLines: Set<string>,\n trimmedLine: string\n) {\n if (!parsedAction.comId) return;\n newActions.push(parsedAction);\n if (parsedAction.type === 'addChild' && parsedAction.params.index !== undefined) {\n newActions.push({\n comId: parsedAction.params.comId,\n target: ':root',\n type: 'move',\n params: {\n to: {\n comId: parsedAction.comId,\n slotId: parsedAction.target,\n index: parsedAction.params.index,\n },\n }\n });\n }\n processedLines.add(trimmedLine);\n}\n\n/**\n * 创建actions解析器\n * @param options.enabledActionTags 是否启用 action tags\n * @returns 解析函数 parseActions(text, isEnd?)\n * - text: 待解析的 actions 文本(可流式追加)\n * - isEnd: 是否为结束标记;为 true 时最后一行即使没有回车符也会被当作完整行解析\n */\nexport function createActionsParser({ enabledActionTags }: { enabledActionTags?: boolean }) {\n const processedLines = new Set<string>();\n const comIdToParamsMap = new Map<string, AddChildActionParams>();\n\n return function parseActions(text: string, isEnd?: boolean) {\n const newActions: any[] = [];\n const lines = text.split(\"\\n\").filter(line => line.trim() !== '');\n\n const linesToProcess = lines.slice(0, -1);\n const lastLine = lines[lines.length - 1];\n const lastLineComplete = lines.length === 0 || text.endsWith(\"\\n\") || isEnd === true;\n\n for (const line of linesToProcess) {\n const trimmedLine = line.trim();\n if (!trimmedLine || processedLines.has(trimmedLine)) continue;\n try {\n const parsedAction = formatAction(trimmedLine, comIdToParamsMap, { enabledActionTags });\n pushParsedAction(newActions, parsedAction, processedLines, trimmedLine);\n } catch {\n processedLines.add(trimmedLine);\n }\n }\n\n if (lastLine && lastLine.trim() && lastLineComplete && !processedLines.has(lastLine.trim())) {\n const trimmedLastLine = lastLine.trim();\n try {\n const parsedAction = formatAction(trimmedLastLine, comIdToParamsMap, { enabledActionTags });\n pushParsedAction(newActions, parsedAction, processedLines, trimmedLastLine);\n } catch {\n processedLines.add(trimmedLastLine);\n }\n }\n\n return newActions;\n };\n}\n\nexport function stripFileBlocks(raw: string) {\n if (typeof raw !== \"string\") {\n return \"\"\n }\n const fileBlockRegex = /```[^\\n]*title\\s*=\\s*\"[^\"\\n]*\"?[\\s\\S]*?```/g;\n let cleaned = raw.replace(fileBlockRegex, '');\n\n // 去掉多余空行:连续空白行压缩为单个换行,再首尾 trim\n cleaned = cleaned\n .replace(/\\n{2,}/g, '\\n') // 多个换行压缩为一个\n .trim();\n\n return cleaned;\n}\n\nexport function jsonSafeParse(input: string): any {\n let finalError\n try {\n return JSON.parse(input);\n } catch (error) {\n finalError = error\n try {\n const repairedJson = jsonrepair(input);\n return JSON.parse(repairedJson);\n } catch (repairError) {\n // 修复也失败了,抛出错误\n throw finalError\n }\n }\n}\n\n/** PC */\ntype PageInfoSPA = {\n id: string;\n title: string;\n inputs: {id: string; title: string}[];\n outputs: {id: string; title: string}[];\n}[]\n\n/** 鸿蒙 */\ntype PageInfoMPA = {\n pageAry: PageInfoSPA;\n}[]\n\n/** 获取pages,兼容spa和mpa */\nexport const transformPageInfo = (pageInfo: PageInfoSPA | PageInfoMPA) => {\n const pages: PageInfoSPA[number][] = [];\n pageInfo?.forEach((page) => {\n if (\"pageAry\" in page) {\n pages.push(...page.pageAry);\n } else {\n pages.push(page)\n }\n })\n return pages;\n}\n\nconst formatVarAction = (\n _action: string,\n) => {\n let action;\n try {\n // TODO,后面要提示词处理的,这样replace不合理\n const fixActionString = _action.replaceAll('{\":parent/', '{\"path\":\":parent/')\n action = JSON.parse(fixActionString);\n } catch (error) {\n try {\n const repairedAction = jsonrepair(_action)\n action = JSON.parse(repairedAction)\n console.log(\"[action]\", action)\n } catch (error) {\n console.error(\"repair action error\", error);\n }\n }\n\n if (!Array.isArray(action)) {\n return action;\n }\n\n return action;\n};\n\nexport function createVarActionsParser() {\n const processedLines = new Set<string>();\n\n return function parseActions(text: string) {\n const newActions = [];\n const lines = text.split(\"\\n\").filter(line => line.trim() !== '');\n\n // 只处理除了最后一行之外的所有行(最后一行可能不完整)\n const linesToProcess = lines.slice(0, -1);\n const lastLine = lines[lines.length - 1];\n\n // 处理完整的行\n for (const line of linesToProcess) {\n const trimmedLine = line.trim();\n\n // 跳过空行和已处理的行\n if (!trimmedLine || processedLines.has(trimmedLine)) {\n continue;\n }\n\n try {\n const parsedAction = formatVarAction(trimmedLine);\n newActions.push(parsedAction);\n processedLines.add(trimmedLine);\n } catch (error) {\n // 这是真正的解析错误(完整的行但格式错误)\n processedLines.add(trimmedLine); // 标记为已处理,避免重复尝试\n }\n }\n\n // 处理最后一行\n if (lastLine && lastLine.trim()) {\n const trimmedLastLine = lastLine.trim();\n\n // 如果文本以换行符结尾,说明最后一行是完整的\n if ((text.endsWith(\"\\n\")) && !processedLines.has(trimmedLastLine)) {\n try {\n const parsedAction = formatVarAction(trimmedLastLine);\n newActions.push(parsedAction);\n processedLines.add(trimmedLastLine);\n } catch (error) {\n processedLines.add(trimmedLastLine);\n }\n }\n }\n\n // processedLines.clear();\n\n return newActions;\n };\n}\n\nconst UUID_SEED = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nexport const uuid = (len = 5) => {\n\tconst maxPos = UUID_SEED.length;\n\tlet rtn = '';\n\tfor (let i = 0; i < len; i++) {\n\t\trtn += UUID_SEED.charAt(Math.floor(Math.random() * maxPos));\n\t}\n\treturn 'u_' + rtn;\n}\n\nexport class ComIdTransform {\n comIdMap: Record<string, string[]> = {};\n\n constructor(comIds: string[]) {\n const { comIdMap } = this;\n comIds.forEach((comId) => {\n comIdMap[comId] = [comId];\n })\n }\n \n getComId(comId: string) {\n if (!this.comIdMap[comId] || this.comIdMap[comId].length === 0) {\n const newComId = uuid();\n this.comIdMap[comId] = [newComId];\n return newComId;\n }\n\n // 返回最近添加的comId(数组的最后一个)\n return this.comIdMap[comId][this.comIdMap[comId].length - 1];\n }\n\n // 添加新的comId映射,用于addChild操作\n addComId(comId: string): string {\n const newComId = uuid();\n if (!this.comIdMap[comId]) {\n this.comIdMap[comId] = [];\n }\n this.comIdMap[comId].push(newComId);\n return newComId;\n }\n}\n\nexport class PromiseStack {\n stack: any[] = [];\n currentPromise: any = null;\n\n add(promiseFn: any) {\n this.stack.push(promiseFn);\n this.run();\n }\n\n async run() {\n let catchNext = false;\n try {\n if (this.currentPromise) {\n return;\n }\n const promiseFn = this.stack.shift();\n if (promiseFn) {\n const promise = promiseFn();\n if (Object.prototype.toString.call(promise) === \"[object Promise]\") {\n this.currentPromise = promise;\n catchNext = true;\n await promise;\n this.currentPromise = null;\n this.run();\n } else {\n this.run();\n }\n }\n } catch (e) {\n console.error(e)\n if (catchNext) {\n this.currentPromise = null;\n this.run();\n }\n }\n }\n}"],"names":["getFiles","files","_ref","extName","result","Object","keys","forEach","fileName","file","extension","getComponentOperationSummary","operations","arguments","length","undefined","componentIdToTitleMap","Map","componentActions","results","operation","type","params","title","set","comId","_params$path","_params$path$split","_params$path$split$po","_params$to","_params$to2","target","configTitle","get","configs","simplifiedPath","path","split","call","pop","push","parentTitle","concat","childConfigs","map","config","_config$path","_config$path$split","_config$path$split$po","join","moveTitle","targetTitle","to","slotId","deleteTitle","actions","formatAction","_action","comIdToParamsMap","options","_newAct$params4","_newAct$params5","_newAct$params6","_newAct$params1","_newAct$params11","enabledActionTags","action","fixActionString","replaceAll","JSON","parse","error","repairedAction","jsonrepair","console","Array","isArray","newAct","_objectSpread","_newAct$params","ns","namespace","ComponentsManager","getFullNamespace","_newAct$params2","ignore","_newAct$params3","some","_config$style","style","key","startsWith","enhance","isLayoutComponent","parentParams","parentNamespace","value","display","position","flexDirection","_config$value","_config$value2","_config$value3","firstKey","parent","transformToValidBackground","_newAct$params7","_newAct$params8","_newAct$params9","_newAct$params0","_newAct$params10","layout","_newAct$params12","_newAct$params13","transformToValidMargins","width","stringify","styles","_styles$backgroundCol","backgroundColor","indexOf","imageRegex","imageMatch","match","backgroundImage","background","toString","trim","parsedBackground","parseComplexBackground","hasImages","images","backgroundPosition","size","backgroundSize","color","extractBackgroundImages","positionSizeInfo","extractPositionAndSize","extractBackgroundColor","remaining","urlMatch","gradientMatch","nextMatch","index","startIndex","functionStart","parenCount","endIndex","fullFunction","substring","cleanBackground","image","replace","positionSizeMatch","_positionSizeMatch$","_positionSizeMatch$2","positionPart","sizePart","isValidBackgroundPosition","isValidBackgroundSize","parts","filter","part","colorRegex","colorMatch","positionKeywords","every","includes","test","sizeKeywords","margin","values","marginTop","marginRight","marginBottom","marginLeft","pushParsedAction","newActions","parsedAction","processedLines","trimmedLine","add","createActionsParser","_ref2","Set","parseActions","text","isEnd","lines","line","linesToProcess","slice","lastLine","lastLineComplete","endsWith","has","_unused","trimmedLastLine","_unused2","stripFileBlocks","raw","fileBlockRegex","cleaned","jsonSafeParse","input","finalError","repairedJson","repairError","transformPageInfo","pageInfo","pages","page","pageAry","formatVarAction","log","createVarActionsParser","UUID_SEED","uuid","len","maxPos","rtn","i","charAt","Math","floor","random","ComIdTransform","constructor","comIds","_defineProperty","comIdMap","getComId","newComId","addComId","PromiseStack","promiseFn","stack","run","_this","_asyncToGenerator","catchNext","currentPromise","shift","promise","prototype","e"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/types/index.ts"],"sourcesContent":["export enum DeviceType {\n Desktop = 'desktop',\n Mobile = 'mobile'\n}"],"names":["DeviceType"],"mappings":"AAAA,IAAYA,UAAU,0BAAVA,UAAU,EAAA;EAAVA,UAAU,CAAA,SAAA,CAAA,GAAA,SAAA;EAAVA,UAAU,CAAA,QAAA,CAAA,GAAA,QAAA;AAAA,EAAA,OAAVA,UAAU;AAAA,CAAA,CAAA,EAAA;;;;"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { asyncToGenerator as _asyncToGenerator } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import { Delete, Export } from '../../../components/icons/index.js';
|
|
5
|
+
import css from './header.less.js';
|
|
6
|
+
|
|
7
|
+
var Header = params => {
|
|
8
|
+
var clear = () => {
|
|
9
|
+
params.rxai.clear();
|
|
10
|
+
};
|
|
11
|
+
var exportRxai = /*#__PURE__*/function () {
|
|
12
|
+
var _ref = _asyncToGenerator(function* () {
|
|
13
|
+
try {
|
|
14
|
+
var content = yield params.rxai.export();
|
|
15
|
+
downloadToFile({
|
|
16
|
+
content: content,
|
|
17
|
+
name: "rxai-".concat(new Date().getTime(), ".json")
|
|
18
|
+
});
|
|
19
|
+
} catch (e) {
|
|
20
|
+
console.error("[@mybricks/plugin-ai - exportRxai - error]", e);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
return function exportRxai() {
|
|
24
|
+
return _ref.apply(this, arguments);
|
|
25
|
+
};
|
|
26
|
+
}();
|
|
27
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
28
|
+
className: classNames(css.header)
|
|
29
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
30
|
+
className: classNames(css.title)
|
|
31
|
+
}, "\u667A\u80FD\u52A9\u624B"), /*#__PURE__*/React.createElement("div", {
|
|
32
|
+
className: css['actions']
|
|
33
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
34
|
+
className: css['action'],
|
|
35
|
+
"data-mybricks-tip": "清空对话记录",
|
|
36
|
+
onClick: clear
|
|
37
|
+
}, /*#__PURE__*/React.createElement(Delete, null)), /*#__PURE__*/React.createElement("div", {
|
|
38
|
+
className: classNames(css['action'], css['export']),
|
|
39
|
+
"data-mybricks-tip": "导出对话记录",
|
|
40
|
+
onClick: exportRxai
|
|
41
|
+
}, /*#__PURE__*/React.createElement(Export, null))));
|
|
42
|
+
};
|
|
43
|
+
function downloadToFile(_ref2) {
|
|
44
|
+
var {
|
|
45
|
+
content,
|
|
46
|
+
name
|
|
47
|
+
} = _ref2;
|
|
48
|
+
var eleLink = document.createElement('a');
|
|
49
|
+
eleLink.download = name;
|
|
50
|
+
eleLink.style.display = 'none';
|
|
51
|
+
var blob = new Blob([JSON.stringify(content)]);
|
|
52
|
+
eleLink.href = URL.createObjectURL(blob);
|
|
53
|
+
document.body.appendChild(eleLink);
|
|
54
|
+
eleLink.click();
|
|
55
|
+
document.body.removeChild(eleLink);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export { Header };
|
|
59
|
+
//# sourceMappingURL=header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.js","sources":["../../../../src/view/components/header/header.tsx"],"sourcesContent":["import React from \"react\"\nimport classNames from \"classnames\"\nimport { Rxai } from \"@mybricks/rxai\";\nimport { Delete, Export } from \"../../../components/icons\"\nimport { context } from \"../../../context\";\nimport css from \"./header.less\"\n\ninterface HeaderParams {\n rxai: Rxai;\n}\n\nconst Header = (params: HeaderParams) => {\n const clear = () => {\n params.rxai.clear();\n }\n\n const exportRxai = async () => {\n try {\n const content = await params.rxai.export();\n downloadToFile({\n content: content,\n name: `rxai-${new Date().getTime()}.json`\n })\n } catch (e) {\n console.error(\"[@mybricks/plugin-ai - exportRxai - error]\", e);\n }\n }\n\n return (\n <div className={classNames(css.header)}>\n <span className={classNames(css.title)}>\n {/* MyBricks.ai */}\n 智能助手\n </span>\n <div className={css['actions']}>\n <div className={css['action']} data-mybricks-tip={\"清空对话记录\"} onClick={clear}>\n <Delete />\n </div>\n <div className={classNames(css['action'], css['export'])} data-mybricks-tip={\"导出对话记录\"} onClick={exportRxai}>\n <Export />\n </div>\n </div>\n </div>\n )\n}\n\nexport { Header }\n\nfunction downloadToFile ({ content, name }: { content: any, name: string }) {\n const eleLink = document.createElement('a')\n eleLink.download = name\n eleLink.style.display = 'none'\n\n const blob = new Blob([JSON.stringify(content)])\n\n eleLink.href = URL.createObjectURL(blob)\n document.body.appendChild(eleLink)\n eleLink.click()\n document.body.removeChild(eleLink)\n}\n"],"names":["Header","params","clear","rxai","exportRxai","_ref","_asyncToGenerator","content","export","downloadToFile","name","concat","Date","getTime","e","console","error","apply","arguments","React","createElement","className","classNames","css","header","title","onClick","Delete","Export","_ref2","eleLink","document","download","style","display","blob","Blob","JSON","stringify","href","URL","createObjectURL","body","appendChild","click","removeChild"],"mappings":";;;;;;AAWA,IAAMA,MAAM,GAAIC,MAAoB,IAAK;EACvC,IAAMC,KAAK,GAAGA,MAAM;AAClBD,IAAAA,MAAM,CAACE,IAAI,CAACD,KAAK,EAAE;EACrB,CAAC;AAED,EAAA,IAAME,UAAU,gBAAA,YAAA;AAAA,IAAA,IAAAC,IAAA,GAAAC,iBAAA,CAAG,aAAY;MAC7B,IAAI;QACF,IAAMC,OAAO,SAASN,MAAM,CAACE,IAAI,CAACK,MAAM,EAAE;AAC1CC,QAAAA,cAAc,CAAC;AACbF,UAAAA,OAAO,EAAEA,OAAO;UAChBG,IAAI,EAAA,OAAA,CAAAC,MAAA,CAAU,IAAIC,IAAI,EAAE,CAACC,OAAO,EAAE,EAAA,OAAA;AACpC,SAAC,CAAC;MACJ,CAAC,CAAC,OAAOC,CAAC,EAAE;AACVC,QAAAA,OAAO,CAACC,KAAK,CAAC,4CAA4C,EAAEF,CAAC,CAAC;AAChE,MAAA;IACF,CAAC,CAAA;AAAA,IAAA,OAAA,SAVKV,UAAUA,GAAA;AAAA,MAAA,OAAAC,IAAA,CAAAY,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,IAAA,CAAA;EAAA,CAAA,EAUf;EAED,oBACEC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAEC,UAAU,CAACC,GAAG,CAACC,MAAM;GAAE,eACrCL,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMC,IAAAA,SAAS,EAAEC,UAAU,CAACC,GAAG,CAACE,KAAK;AAAE,GAAA,EAClB,0BAEf,CAAC,eACPN,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKC,SAAS,EAAEE,GAAG,CAAC,SAAS;GAAE,eAC7BJ,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAEE,GAAG,CAAC,QAAQ,CAAE;AAAC,IAAA,mBAAA,EAAmB,QAAS;AAACG,IAAAA,OAAO,EAAExB;GAAM,eACzEiB,KAAA,CAAAC,aAAA,CAACO,MAAM,EAAA,IAAE,CACN,CAAC,eACNR,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAEC,UAAU,CAACC,GAAG,CAAC,QAAQ,CAAC,EAAEA,GAAG,CAAC,QAAQ,CAAC,CAAE;AAAC,IAAA,mBAAA,EAAmB,QAAS;AAACG,IAAAA,OAAO,EAAEtB;GAAW,eACzGe,KAAA,CAAAC,aAAA,CAACQ,MAAM,EAAA,IAAE,CACN,CACF,CACF,CAAC;AAEV;AAIA,SAASnB,cAAcA,CAAAoB,KAAA,EAAqD;EAAA,IAAnD;IAAEtB,OAAO;AAAEG,IAAAA;AAAqC,GAAC,GAAAmB,KAAA;AACxE,EAAA,IAAMC,OAAO,GAAGC,QAAQ,CAACX,aAAa,CAAC,GAAG,CAAC;EAC3CU,OAAO,CAACE,QAAQ,GAAGtB,IAAI;AACvBoB,EAAAA,OAAO,CAACG,KAAK,CAACC,OAAO,GAAG,MAAM;AAE9B,EAAA,IAAMC,IAAI,GAAG,IAAIC,IAAI,CAAC,CAACC,IAAI,CAACC,SAAS,CAAC/B,OAAO,CAAC,CAAC,CAAC;EAEhDuB,OAAO,CAACS,IAAI,GAAGC,GAAG,CAACC,eAAe,CAACN,IAAI,CAAC;AACxCJ,EAAAA,QAAQ,CAACW,IAAI,CAACC,WAAW,CAACb,OAAO,CAAC;EAClCA,OAAO,CAACc,KAAK,EAAE;AACfb,EAAAA,QAAQ,CAACW,IAAI,CAACG,WAAW,CAACf,OAAO,CAAC;AACpC;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import styleInject from '../../../plugin-ai/node_modules/style-inject/dist/style-inject.es.js';
|
|
2
|
+
|
|
3
|
+
var css_248z = ".header_header__DAigM {\n width: 100%;\n height: 40px;\n min-height: 40px;\n display: flex;\n align-items: center;\n padding: 0 60px 0 13px;\n border-bottom: 1px solid #f3f3f3;\n background: rgba(255, 255, 255, 0.8);\n gap: 6px;\n}\n.header_header__DAigM .header_title__isy-8 {\n font-weight: 700;\n font-size: 12px;\n color: #191919;\n line-height: 18px;\n cursor: default;\n}\n.header_header__DAigM .header_actions__QcafI {\n display: flex;\n align-items: center;\n}\n.header_header__DAigM .header_actions__QcafI .header_action__GwD1M {\n display: flex;\n align-items: center;\n cursor: pointer;\n color: #AAA;\n width: 20px;\n height: 20px;\n justify-content: center;\n}\n.header_header__DAigM .header_actions__QcafI .header_action__GwD1M:hover {\n color: var(--mybricks-color-primary, #FA6400);\n}\n.header_header__DAigM .header_actions__QcafI .header_action__GwD1M svg {\n width: 12px;\n height: 12px;\n}\n.header_header__DAigM .header_actions__QcafI .header_action__GwD1M.header_export__Nf1OZ svg {\n width: 14px;\n height: 14px;\n}\n";
|
|
4
|
+
var css = {"header":"header_header__DAigM","title":"header_title__isy-8","actions":"header_actions__QcafI","action":"header_action__GwD1M","export":"header_export__Nf1OZ"};
|
|
5
|
+
styleInject(css_248z);
|
|
6
|
+
|
|
7
|
+
export { css as default };
|
|
8
|
+
//# sourceMappingURL=header.less.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.less.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { objectWithoutProperties as _objectWithoutProperties } from '../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React, { useRef, useState, useEffect } from 'react';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import { Header } from './components/header/header.js';
|
|
5
|
+
import { Messages } from '../components/messages/index.js';
|
|
6
|
+
import { Sender } from '../components/sender/index.js';
|
|
7
|
+
import { context } from '../context/index.js';
|
|
8
|
+
import { Agents } from '../agents/index.js';
|
|
9
|
+
import { AbstractAgent } from '../agents/utils/config.js';
|
|
10
|
+
import css from './index.less.js';
|
|
11
|
+
|
|
12
|
+
var _excluded = ["onProgress"],
|
|
13
|
+
_excluded2 = ["message", "attachments"],
|
|
14
|
+
_excluded3 = ["message", "attachments", "insertAfter"];
|
|
15
|
+
var View = _ref => {
|
|
16
|
+
var {
|
|
17
|
+
user,
|
|
18
|
+
copilot,
|
|
19
|
+
api
|
|
20
|
+
} = _ref;
|
|
21
|
+
var senderRef = useRef(null);
|
|
22
|
+
var [rxai, setRxai] = useState(context.rxai);
|
|
23
|
+
var [vibeCoding, setVibeCoding] = useState(false);
|
|
24
|
+
var PLACEHOLDER_MAP = {
|
|
25
|
+
normal: "\u60A8\u597D\uFF0C\u6211\u662F".concat(context.name, "\uFF0C\u8BF7\u8BE6\u7EC6\u63CF\u8FF0\u60A8\u7684\u9700\u6C42"),
|
|
26
|
+
disabled: "\u60A8\u597D\uFF0C\u6211\u662F".concat(context.name, "\uFF0C\u8BF7\u5148\u4ECE\u753B\u5E03\u4E2D\u9009\u62E9\u573A\u666F\u6216\u7EC4\u4EF6\uFF0C\u518D\u5F00\u59CB\u5BF9\u8BDD"),
|
|
27
|
+
loading: "处理中,请稍后..."
|
|
28
|
+
};
|
|
29
|
+
var [senderStateProps, setSenderStateProps] = useState(() => {
|
|
30
|
+
return {
|
|
31
|
+
loading: false,
|
|
32
|
+
disabled: true,
|
|
33
|
+
placeholder: PLACEHOLDER_MAP["disabled"]
|
|
34
|
+
};
|
|
35
|
+
});
|
|
36
|
+
var focusID = useRef(null);
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
var statusChange = state => {
|
|
39
|
+
if (state === "disabled") {
|
|
40
|
+
setSenderStateProps({
|
|
41
|
+
disabled: true,
|
|
42
|
+
loading: false,
|
|
43
|
+
placeholder: PLACEHOLDER_MAP["disabled"]
|
|
44
|
+
});
|
|
45
|
+
} else {
|
|
46
|
+
var bool = state === "loading";
|
|
47
|
+
setSenderStateProps({
|
|
48
|
+
disabled: bool,
|
|
49
|
+
loading: bool,
|
|
50
|
+
placeholder: PLACEHOLDER_MAP[state]
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
var disconnectAiViewDisplay = context.events.on("aiViewDisplay", () => {
|
|
55
|
+
setTimeout(() => {
|
|
56
|
+
senderRef.current.focus();
|
|
57
|
+
});
|
|
58
|
+
}, true);
|
|
59
|
+
var disconnectFocus = context.events.on("focus", focus => {
|
|
60
|
+
if (!focus) {
|
|
61
|
+
senderRef.current.setMentions([]);
|
|
62
|
+
focusID.current = null;
|
|
63
|
+
statusChange("disabled");
|
|
64
|
+
setRxai(context.rxai);
|
|
65
|
+
} else {
|
|
66
|
+
var type = focus.type;
|
|
67
|
+
var id = ["page", "section"].includes(type) ? focus.pageId : focus.comId;
|
|
68
|
+
var {
|
|
69
|
+
onProgress
|
|
70
|
+
} = focus,
|
|
71
|
+
other = _objectWithoutProperties(focus, _excluded);
|
|
72
|
+
senderRef.current.setMentions([other]);
|
|
73
|
+
setVibeCoding(other.vibeCoding || false);
|
|
74
|
+
focusID.current = id;
|
|
75
|
+
var status = context.requestStatusTracker.getStatus(id);
|
|
76
|
+
statusChange(status.state === "pending" ? "loading" : "normal");
|
|
77
|
+
// setTimeout(() => {
|
|
78
|
+
// senderRef.current!.focus();
|
|
79
|
+
// })
|
|
80
|
+
if (focus.vibeCoding) {
|
|
81
|
+
setTimeout(() => {
|
|
82
|
+
// TODO: ai组件库里注册agents的时机不对
|
|
83
|
+
var agent = context.agents.find(agent => {
|
|
84
|
+
return agent instanceof AbstractAgent && agent.type === "vibeCoding";
|
|
85
|
+
});
|
|
86
|
+
if (agent) {
|
|
87
|
+
var _rxai = agent.getRxai({
|
|
88
|
+
key: "".concat(context.pluginParams.key, "_").concat(focus.pageId, "_").concat(focus.comId)
|
|
89
|
+
});
|
|
90
|
+
setRxai(_rxai);
|
|
91
|
+
} else {
|
|
92
|
+
setRxai(context.rxai);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
} else {
|
|
96
|
+
setRxai(context.rxai);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}, true);
|
|
100
|
+
var disconnectPromiseStatusTracker = context.requestStatusTracker.events.on("promise", promise => {
|
|
101
|
+
if (promise.id === focusID.current) {
|
|
102
|
+
statusChange(promise.status.state === "pending" ? "loading" : "normal");
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
return () => {
|
|
106
|
+
disconnectAiViewDisplay();
|
|
107
|
+
disconnectFocus();
|
|
108
|
+
disconnectPromiseStatusTracker();
|
|
109
|
+
};
|
|
110
|
+
}, []);
|
|
111
|
+
var onSend = sendMessage => {
|
|
112
|
+
var _context$currentFocus;
|
|
113
|
+
var {
|
|
114
|
+
message,
|
|
115
|
+
attachments
|
|
116
|
+
} = sendMessage,
|
|
117
|
+
extension = _objectWithoutProperties(sendMessage, _excluded2);
|
|
118
|
+
if (!focusID.current) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
context.requestStatusTracker.track(focusID.current, Agents.requestAgent({
|
|
122
|
+
message,
|
|
123
|
+
attachments,
|
|
124
|
+
extension,
|
|
125
|
+
onProgress: (_context$currentFocus = context.currentFocus) === null || _context$currentFocus === void 0 ? void 0 : _context$currentFocus.onProgress
|
|
126
|
+
}));
|
|
127
|
+
};
|
|
128
|
+
var onMentionClick = mention => {
|
|
129
|
+
var {
|
|
130
|
+
id,
|
|
131
|
+
type,
|
|
132
|
+
comId,
|
|
133
|
+
pageId
|
|
134
|
+
} = mention;
|
|
135
|
+
api[type === "page" ? "focusPage" : "focusCom"]((type === "page" ? pageId : comId) || id);
|
|
136
|
+
};
|
|
137
|
+
var onMessagesSend = sendMessage => {
|
|
138
|
+
var _context$currentFocus2;
|
|
139
|
+
var {
|
|
140
|
+
message,
|
|
141
|
+
attachments,
|
|
142
|
+
insertAfter
|
|
143
|
+
} = sendMessage,
|
|
144
|
+
extension = _objectWithoutProperties(sendMessage, _excluded3);
|
|
145
|
+
var {
|
|
146
|
+
mentions
|
|
147
|
+
} = extension;
|
|
148
|
+
var mention = sendMessage.mentions[0];
|
|
149
|
+
context.requestStatusTracker.track(mention.type === "page" ? mention.pageId : mention.comId, Agents.requestAgent({
|
|
150
|
+
message,
|
|
151
|
+
attachments,
|
|
152
|
+
insertAfter,
|
|
153
|
+
extension,
|
|
154
|
+
focus: mentions[0],
|
|
155
|
+
onProgress: (_context$currentFocus2 = context.currentFocus) === null || _context$currentFocus2 === void 0 ? void 0 : _context$currentFocus2.onProgress
|
|
156
|
+
}));
|
|
157
|
+
};
|
|
158
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
159
|
+
className: classNames(css.view),
|
|
160
|
+
style: vibeCoding ? {
|
|
161
|
+
'--mybricks-color-primary': '#16A157'
|
|
162
|
+
} : undefined
|
|
163
|
+
}, /*#__PURE__*/React.createElement(Header, {
|
|
164
|
+
rxai: rxai
|
|
165
|
+
}), /*#__PURE__*/React.createElement(Messages, {
|
|
166
|
+
key: rxai.key,
|
|
167
|
+
user: user,
|
|
168
|
+
copilot: copilot,
|
|
169
|
+
rxai: rxai,
|
|
170
|
+
onSend: onMessagesSend,
|
|
171
|
+
onMentionClick: onMentionClick
|
|
172
|
+
}), /*#__PURE__*/React.createElement(Sender, {
|
|
173
|
+
ref: senderRef,
|
|
174
|
+
loading: senderStateProps.loading,
|
|
175
|
+
placeholder: senderStateProps.placeholder,
|
|
176
|
+
disabled: senderStateProps.disabled,
|
|
177
|
+
mode: "mention",
|
|
178
|
+
onSend: onSend,
|
|
179
|
+
onMentionClick: onMentionClick
|
|
180
|
+
}));
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
export { View };
|
|
184
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/view/index.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\"\nimport classNames from \"classnames\";\nimport { Header } from \"./components\";\nimport { Messages } from \"../components/messages\";\nimport { Sender, SenderRef, SenderProps } from \"../components/sender\";\nimport { context } from \"../context\";\nimport { Agents } from '../agents'\nimport { AbstractAgent } from \"../agents/utils/config\";\nimport css from \"./index.less\";\n\ninterface ViewProps {\n api: AiViewApi;\n user: any;\n copilot: any;\n}\n\nconst View = ({ user, copilot, api }: ViewProps) => {\n const senderRef = useRef<SenderRef>(null);\n const [rxai, setRxai] = useState(context.rxai);\n const [vibeCoding, setVibeCoding] = useState(false);\n\n const PLACEHOLDER_MAP = {\n normal: `您好,我是${context.name},请详细描述您的需求`,\n disabled: `您好,我是${context.name},请先从画布中选择场景或组件,再开始对话`,\n loading: \"处理中,请稍后...\"\n }\n\n const [senderStateProps, setSenderStateProps] = useState(() => {\n return {\n loading: false,\n disabled: true,\n placeholder: PLACEHOLDER_MAP[\"disabled\"]\n }\n })\n const focusID = useRef<string>(null);\n\n useEffect(() => {\n const statusChange = (state: \"loading\" | \"normal\" | \"disabled\") => {\n if (state === \"disabled\") {\n setSenderStateProps({\n disabled: true,\n loading: false,\n placeholder: PLACEHOLDER_MAP[\"disabled\"]\n })\n } else {\n const bool = state === \"loading\";\n setSenderStateProps({\n disabled: bool,\n loading: bool,\n placeholder: PLACEHOLDER_MAP[state]\n })\n }\n }\n\n const disconnectAiViewDisplay = context.events.on(\"aiViewDisplay\", () => {\n setTimeout(() => {\n senderRef.current!.focus();\n })\n }, true)\n const disconnectFocus = context.events.on(\"focus\", (focus) => {\n if (!focus) {\n senderRef.current!.setMentions([]);\n focusID.current = null;\n statusChange(\"disabled\");\n setRxai(context.rxai);\n } else {\n const type = focus.type;\n const id = [\"page\", \"section\"].includes(type) ? focus.pageId : focus.comId;\n const { onProgress, ...other } = focus;\n senderRef.current!.setMentions([other] as any);\n setVibeCoding(other.vibeCoding || false);\n focusID.current = id;\n const status = context.requestStatusTracker.getStatus(id);\n statusChange(status.state === \"pending\" ? \"loading\" : \"normal\");\n // setTimeout(() => {\n // senderRef.current!.focus();\n // })\n if (focus.vibeCoding) {\n setTimeout(() => {\n // TODO: ai组件库里注册agents的时机不对\n const agent = context.agents!.find((agent) => {\n return agent instanceof AbstractAgent && agent.type === \"vibeCoding\"\n });\n if (agent) {\n const rxai = (agent as AbstractAgent).getRxai({\n key: `${context.pluginParams.key}_${focus.pageId}_${focus.comId}`,\n })\n setRxai(rxai);\n } else {\n setRxai(context.rxai);\n }\n })\n } else {\n setRxai(context.rxai);\n }\n }\n }, true)\n const disconnectPromiseStatusTracker = context.requestStatusTracker.events.on(\"promise\", (promise) => {\n if (promise.id === focusID.current) {\n statusChange(promise.status.state === \"pending\" ? \"loading\" : \"normal\");\n }\n })\n return () => {\n disconnectAiViewDisplay()\n disconnectFocus()\n disconnectPromiseStatusTracker()\n }\n }, [])\n\n const onSend = (sendMessage: Parameters<SenderProps[\"onSend\"]>[0]) => {\n const { message, attachments, ...extension } = sendMessage;\n\n if (!focusID.current) {\n return;\n }\n\n context.requestStatusTracker.track(focusID.current, Agents.requestAgent({\n message,\n attachments,\n extension,\n onProgress: context.currentFocus?.onProgress\n }));\n }\n\n const onMentionClick: NonNullable<SenderProps[\"onMentionClick\"]> = (mention) => {\n const { id, type, comId, pageId } = mention;\n api[type === \"page\" ? \"focusPage\" : \"focusCom\"]((type === \"page\" ? pageId : comId) || id as string);\n }\n\n const onMessagesSend = (sendMessage: Parameters<SenderProps[\"onSend\"]>[0]) => {\n const { message, attachments, insertAfter, ...extension } = sendMessage;\n const { mentions } = extension\n const mention = sendMessage.mentions[0];\n context.requestStatusTracker.track(mention.type === \"page\" ? mention.pageId : mention.comId, Agents.requestAgent({\n message,\n attachments,\n insertAfter,\n extension,\n focus: mentions[0],\n onProgress: context.currentFocus?.onProgress\n }));\n }\n\n return (\n <div className={classNames(css.view)} style={vibeCoding ? ({ '--mybricks-color-primary': '#16A157' } as React.CSSProperties) : undefined}>\n <Header rxai={rxai}/>\n <Messages\n key={rxai.key}\n user={user}\n copilot={copilot}\n rxai={rxai}\n onSend={onMessagesSend}\n onMentionClick={onMentionClick}\n />\n <Sender\n ref={senderRef}\n loading={senderStateProps.loading}\n placeholder={senderStateProps.placeholder}\n disabled={senderStateProps.disabled}\n mode=\"mention\"\n onSend={onSend}\n onMentionClick={onMentionClick}\n />\n </div>\n )\n}\n\nexport { View }\n"],"names":["View","_ref","user","copilot","api","senderRef","useRef","rxai","setRxai","useState","context","vibeCoding","setVibeCoding","PLACEHOLDER_MAP","normal","concat","name","disabled","loading","senderStateProps","setSenderStateProps","placeholder","focusID","useEffect","statusChange","state","bool","disconnectAiViewDisplay","events","on","setTimeout","current","focus","disconnectFocus","setMentions","type","id","includes","pageId","comId","onProgress","other","_objectWithoutProperties","_excluded","status","requestStatusTracker","getStatus","agent","agents","find","AbstractAgent","getRxai","key","pluginParams","disconnectPromiseStatusTracker","promise","onSend","sendMessage","_context$currentFocus","message","attachments","extension","_excluded2","track","Agents","requestAgent","currentFocus","onMentionClick","mention","onMessagesSend","_context$currentFocus2","insertAfter","_excluded3","mentions","React","createElement","className","classNames","css","view","style","undefined","Header","Messages","Sender","ref","mode"],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import styleInject from '../plugin-ai/node_modules/style-inject/dist/style-inject.es.js';
|
|
2
|
+
|
|
3
|
+
var css_248z = ".index_view__jBry2 {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n";
|
|
4
|
+
var css = {"view":"index_view__jBry2"};
|
|
5
|
+
styleInject(css_248z);
|
|
6
|
+
|
|
7
|
+
export { css as default };
|
|
8
|
+
//# sourceMappingURL=index.less.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.less.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mybricks/plugin-ai",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"main": "
|
|
3
|
+
"version": "0.0.3",
|
|
4
|
+
"main": "dist/index.js",
|
|
5
|
+
"module": "dist/index.js",
|
|
5
6
|
"files": [
|
|
6
|
-
"
|
|
7
|
+
"dist",
|
|
7
8
|
"package.json"
|
|
8
9
|
],
|
|
9
10
|
"author": "MyBricks Team",
|
|
@@ -16,7 +17,11 @@
|
|
|
16
17
|
"access": "public",
|
|
17
18
|
"registry": "https://registry.npmjs.org/"
|
|
18
19
|
},
|
|
19
|
-
"scripts": {
|
|
20
|
+
"scripts": {
|
|
21
|
+
"build": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && rollup -c",
|
|
22
|
+
"watch": "APP_ENV=development rollup -c -w",
|
|
23
|
+
"publish": "npm run build && npm publish"
|
|
24
|
+
},
|
|
20
25
|
"dependencies": {
|
|
21
26
|
"@ant-design/icons": "^6.1.0",
|
|
22
27
|
"@mybricks/rxai": "0.0.2",
|
|
@@ -27,6 +32,23 @@
|
|
|
27
32
|
"node-forge": "^1.3.2"
|
|
28
33
|
},
|
|
29
34
|
"devDependencies": {
|
|
30
|
-
"@
|
|
35
|
+
"@babel/core": "^7.26.0",
|
|
36
|
+
"@babel/preset-env": "^7.26.0",
|
|
37
|
+
"@babel/preset-react": "^7.26.0",
|
|
38
|
+
"@babel/preset-typescript": "^7.26.0",
|
|
39
|
+
"@rollup/plugin-alias": "^5.0.0",
|
|
40
|
+
"@rollup/plugin-babel": "^6.0.4",
|
|
41
|
+
"@rollup/plugin-commonjs": "^26.0.0",
|
|
42
|
+
"@rollup/plugin-json": "^6.1.0",
|
|
43
|
+
"@rollup/plugin-node-resolve": "^15.2.0",
|
|
44
|
+
"@rollup/plugin-replace": "^6.0.0",
|
|
45
|
+
"@rollup/plugin-terser": "^0.4.4",
|
|
46
|
+
"@types/markdown-it": "^14.1.2",
|
|
47
|
+
"less": "^4.2.0",
|
|
48
|
+
"postcss": "^8.4.0",
|
|
49
|
+
"postcss-less": "^6.0.0",
|
|
50
|
+
"rollup": "^4.28.0",
|
|
51
|
+
"rollup-plugin-postcss": "^4.0.2",
|
|
52
|
+
"typescript": "^5.0.0"
|
|
31
53
|
}
|
|
32
|
-
}
|
|
54
|
+
}
|