From e6bd5ee6d637aaaf45ee18a30ccac4d3b54e22a6 Mon Sep 17 00:00:00 2001 From: "yukun.wyk" Date: Mon, 9 Sep 2024 00:20:02 +0800 Subject: [PATCH] fix: ci --- .prettierignore | 1 + web-packages/magent-core/jest.config.mjs | 2 +- web-packages/magent-flow/.eslintrc.mjs | 22 +++++++-------- web-packages/magent-flow/jest.config.mjs | 2 +- .../plugins/component-picker-block/index.tsx | 28 +++++++++---------- .../Node/NodeWrapper/Status/index.tsx | 4 +-- .../src/components/NodePanel/index.tsx | 2 +- .../src/components/ReferenceSelect/index.tsx | 7 ++--- web-packages/magent-flow/src/index.spec.ts | 8 ++++++ .../magent-flow/src/stores/useFlowStore.ts | 25 ++++++++++++----- .../magent-flow/src/stores/useModelStore.ts | 1 - 11 files changed, 60 insertions(+), 42 deletions(-) create mode 100644 web-packages/magent-flow/src/index.spec.ts diff --git a/.prettierignore b/.prettierignore index 178c092..33c4b68 100644 --- a/.prettierignore +++ b/.prettierignore @@ -8,6 +8,7 @@ pnpm-lock.yaml **/dist **/coverage **/es +packages/**/static # generated code **/.dumi/tmp diff --git a/web-packages/magent-core/jest.config.mjs b/web-packages/magent-core/jest.config.mjs index e698bd5..40829b2 100644 --- a/web-packages/magent-core/jest.config.mjs +++ b/web-packages/magent-core/jest.config.mjs @@ -1,4 +1,4 @@ -import configs from '../../../jest.config.mjs'; +import configs from '../../jest.config.mjs'; export default { ...configs, diff --git a/web-packages/magent-flow/.eslintrc.mjs b/web-packages/magent-flow/.eslintrc.mjs index c319428..111f3a3 100644 --- a/web-packages/magent-flow/.eslintrc.mjs +++ b/web-packages/magent-flow/.eslintrc.mjs @@ -25,17 +25,17 @@ module.exports = { curly: 'error', // stricter type correctness - // 'no-unused-vars': [ - // 'warn', - // { - // vars: 'local', - // args: 'none', - // destructuredArrayIgnorePattern: '^_', - // ignoreRestSiblings: true, - // argsIgnorePattern: '^_', - // caughtErrors: 'none', - // }, - // ], + 'no-unused-vars': [ + 'warn', + { + vars: 'local', + args: 'none', + destructuredArrayIgnorePattern: '^_', + ignoreRestSiblings: true, + argsIgnorePattern: '^_', + caughtErrors: 'none', + }, + ], '@typescript-eslint/no-namespace': 'off', '@typescript-eslint/no-explicit-any': ['warn', { ignoreRestArgs: true }], '@typescript-eslint/no-shadow': [ diff --git a/web-packages/magent-flow/jest.config.mjs b/web-packages/magent-flow/jest.config.mjs index e698bd5..40829b2 100644 --- a/web-packages/magent-flow/jest.config.mjs +++ b/web-packages/magent-flow/jest.config.mjs @@ -1,4 +1,4 @@ -import configs from '../../../jest.config.mjs'; +import configs from '../../jest.config.mjs'; export default { ...configs, diff --git a/web-packages/magent-flow/src/components/AIBasic/PromptEditor/plugins/component-picker-block/index.tsx b/web-packages/magent-flow/src/components/AIBasic/PromptEditor/plugins/component-picker-block/index.tsx index 3d58eea..dc911d4 100644 --- a/web-packages/magent-flow/src/components/AIBasic/PromptEditor/plugins/component-picker-block/index.tsx +++ b/web-packages/magent-flow/src/components/AIBasic/PromptEditor/plugins/component-picker-block/index.tsx @@ -9,7 +9,7 @@ import ReactDOM from 'react-dom'; import { useBasicTypeaheadTriggerMatch } from '../../hooks.js'; import type { ExternalToolBlockType, VariableBlockType } from '../../types.js'; -import { $splitNodeContainingQuery } from '../../utils.js'; +// import { $splitNodeContainingQuery } from '../../utils.js'; import { INSERT_VARIABLE_VALUE_BLOCK_COMMAND } from '../variable-block/index.js'; import { useOptions } from './hooks.js'; @@ -70,19 +70,19 @@ const ComponentPicker = ({ [editor], ); - const handleSelectWorkflowVariable = useCallback( - (variables: string[]) => { - editor.update(() => { - const needRemove = $splitNodeContainingQuery( - checkForTriggerMatch(triggerString, editor)!, - ); - if (needRemove) { - needRemove.remove(); - } - }); - }, - [editor, checkForTriggerMatch, triggerString], - ); + // const handleSelectWorkflowVariable = useCallback( + // (variables: string[]) => { + // editor.update(() => { + // const needRemove = $splitNodeContainingQuery( + // checkForTriggerMatch(triggerString, editor)!, + // ); + // if (needRemove) { + // needRemove.remove(); + // } + // }); + // }, + // [editor, checkForTriggerMatch, triggerString], + // ); const renderMenu = useCallback>( ( diff --git a/web-packages/magent-flow/src/components/Node/NodeWrapper/Status/index.tsx b/web-packages/magent-flow/src/components/Node/NodeWrapper/Status/index.tsx index 8d10ec0..36bd2ba 100644 --- a/web-packages/magent-flow/src/components/Node/NodeWrapper/Status/index.tsx +++ b/web-packages/magent-flow/src/components/Node/NodeWrapper/Status/index.tsx @@ -1,7 +1,7 @@ import { classNames } from '@flow/utils/basic.js'; import { Popover, Tag } from 'antd'; -export type RunStatus = 'success' | 'processing' | 'warning' | 'error'; +export type RunStatusTypes = 'success' | 'processing' | 'warning' | 'error'; export const RunStatusMap = { ['success']: { @@ -27,7 +27,7 @@ export const RunStatusMap = { }; export interface RunResStatus { - status: keyof RunStatus; + status: RunStatusTypes; runDuration: number; runInput?: Record; runOutput?: Record; diff --git a/web-packages/magent-flow/src/components/NodePanel/index.tsx b/web-packages/magent-flow/src/components/NodePanel/index.tsx index fc4ba87..5517d20 100644 --- a/web-packages/magent-flow/src/components/NodePanel/index.tsx +++ b/web-packages/magent-flow/src/components/NodePanel/index.tsx @@ -39,7 +39,7 @@ export const NodesPanel = (props: NodesPanelProps) => { { - nodes.filter((node) => node.name.includes(e.target.value)); + nodes.filter((node) => node.name?.includes(e.target.value)); }} /> )} diff --git a/web-packages/magent-flow/src/components/ReferenceSelect/index.tsx b/web-packages/magent-flow/src/components/ReferenceSelect/index.tsx index efb849b..aaf6e98 100644 --- a/web-packages/magent-flow/src/components/ReferenceSelect/index.tsx +++ b/web-packages/magent-flow/src/components/ReferenceSelect/index.tsx @@ -1,8 +1,7 @@ +import type { SchemaValueType, ValueType } from '@flow/interfaces/flow.js'; import { Input } from 'antd'; import type { DefaultOptionType } from 'antd/es/cascader'; -import type { SchemaValueType, ValueType } from '@flow/interfaces/flow.js'; - import { CascaderInNode } from '../AIBasic/CascaderInNode/index.js'; import { SelectInNode } from '../AIBasic/SelectInNode/index.js'; @@ -43,10 +42,10 @@ export const ReferenceSelect = (props: { + onChange={(val: (string | number | null)[]) => onChange?.({ type: value?.type || 'reference', - content: val, + content: val as [string, string], }) } options={refOptions} diff --git a/web-packages/magent-flow/src/index.spec.ts b/web-packages/magent-flow/src/index.spec.ts new file mode 100644 index 0000000..5de16bc --- /dev/null +++ b/web-packages/magent-flow/src/index.spec.ts @@ -0,0 +1,8 @@ +import 'reflect-metadata'; +import assert from 'assert'; + +describe('magent-core', () => { + it('#import', () => { + assert(true); + }); +}); diff --git a/web-packages/magent-flow/src/stores/useFlowStore.ts b/web-packages/magent-flow/src/stores/useFlowStore.ts index ac87562..b0b79a4 100644 --- a/web-packages/magent-flow/src/stores/useFlowStore.ts +++ b/web-packages/magent-flow/src/stores/useFlowStore.ts @@ -17,9 +17,12 @@ import { cloneDeep } from 'lodash'; import { create } from 'zustand'; interface AdjacencyList { - [key: number]: number[]; + [key: string]: string[]; +} +interface PanePosition extends XYPosition { + paneX: number; + paneY: number; } - interface FlowStoreType { nodes: Node[]; edges: Edge[]; @@ -98,6 +101,10 @@ export const useFlowStore = create((set, get) => { nodes: graph.nodes, edges: graph.edges, }); + return { + nodes: graph.nodes, + edges: graph.edges, + }; }, reactFlowInstance: null, setReactFlowInstance: (newState) => { @@ -262,8 +269,11 @@ export const useFlowStore = create((set, get) => { } }); - const insidePosition = position.paneX - ? { x: position.paneX + position.x, y: position.paneY! + position.y } + const insidePosition = (position as PanePosition).paneX + ? { + x: (position as PanePosition).paneX + position.x, + y: (position as PanePosition).paneY! + position.y, + } : get().reactFlowInstance!.screenToFlowPosition({ x: position.x, y: position.y, @@ -271,14 +281,14 @@ export const useFlowStore = create((set, get) => { selection.nodes.forEach((node: Node) => { // Generate a unique node ID - const newId = getNodeId(node.data.type as string); + const newId = getNodeId(node.data['type'] as string); // idsMap[node.id] = newId; // Create a new node object const newNode: NodeType = { id: newId, - type: node.data.type, + type: node.data['type'] as string, position: { x: insidePosition.x + node.position!.x - minimumX, y: insidePosition.y + node.position!.y - minimumY, @@ -297,7 +307,8 @@ export const useFlowStore = create((set, get) => { // Add the new node to the list of nodes in state newNodes = newNodes - .map((node) => ({ ...node, selected: false })) + // eslint-disable-next-line @typescript-eslint/no-shadow + .map((node) => ({ ...node, selected: false }) as any) .concat({ ...newNode, selected: false }); }); get().setNodes(newNodes); diff --git a/web-packages/magent-flow/src/stores/useModelStore.ts b/web-packages/magent-flow/src/stores/useModelStore.ts index 4415cdc..fb32a07 100644 --- a/web-packages/magent-flow/src/stores/useModelStore.ts +++ b/web-packages/magent-flow/src/stores/useModelStore.ts @@ -1,5 +1,4 @@ import type { BasicSchema } from '@flow/interfaces/flow.js'; -import type React from 'react'; import { create } from 'zustand'; // 注册 模型选择和配置组件 提供onChange事件