87 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
| /*
 | |
|  * Copyright 2025 coze-dev Authors
 | |
|  *
 | |
|  * Licensed under the Apache License, Version 2.0 (the "License");
 | |
|  * you may not use this file except in compliance with the License.
 | |
|  * You may obtain a copy of the License at
 | |
|  *
 | |
|  *     http://www.apache.org/licenses/LICENSE-2.0
 | |
|  *
 | |
|  * Unless required by applicable law or agreed to in writing, software
 | |
|  * distributed under the License is distributed on an "AS IS" BASIS,
 | |
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
|  * See the License for the specific language governing permissions and
 | |
|  * limitations under the License.
 | |
|  */
 | |
| 
 | |
| import React from 'react';
 | |
| 
 | |
| import { createEffectFromVariableProvider } from 'src/utils/variable-provider';
 | |
| import { provideNodeOutputVariables } from 'src/form-extensions/variable-providers/provide-node-output-variables';
 | |
| import { provideLoopOutputsVariables } from 'src/form-extensions/variable-providers/provide-loop-output-variables';
 | |
| import { provideLoopInputsVariables } from 'src/form-extensions/variable-providers/provide-loop-input-variables';
 | |
| import { provideMergeGroupVariablesEffect } from 'src';
 | |
| import { injectable } from 'inversify';
 | |
| import {
 | |
|   type WorkflowDocument,
 | |
|   type FlowDocumentContribution,
 | |
| } from '@flowgram-adapter/free-layout-editor';
 | |
| import { StandardNodeType } from '@coze-workflow/base/types';
 | |
| 
 | |
| @injectable()
 | |
| export class MockNodeRegistry implements FlowDocumentContribution {
 | |
|   registerDocument(document: WorkflowDocument): void {
 | |
|     // Register Nodes
 | |
|     document.registerFlowNodes({
 | |
|       type: StandardNodeType.LLM,
 | |
|       formMeta: {
 | |
|         render: () => <div></div>,
 | |
|         effect: {
 | |
|           outputs: createEffectFromVariableProvider(provideNodeOutputVariables),
 | |
|         },
 | |
|       },
 | |
|     });
 | |
| 
 | |
|     document.registerFlowNodes({
 | |
|       type: StandardNodeType.Start,
 | |
|       formMeta: {
 | |
|         render: () => <div></div>,
 | |
|         effect: {
 | |
|           outputs: createEffectFromVariableProvider(provideNodeOutputVariables),
 | |
|         },
 | |
|       },
 | |
|     });
 | |
| 
 | |
|     document.registerFlowNodes({
 | |
|       type: StandardNodeType.End,
 | |
|       // getNodeInputParameters: () => [...allEndRefInputs, ...allConstantInputs],
 | |
|       formMeta: {
 | |
|         render: () => <div></div>,
 | |
|       },
 | |
|     });
 | |
| 
 | |
|     document.registerFlowNodes({
 | |
|       type: StandardNodeType.Loop,
 | |
|       formMeta: {
 | |
|         render: () => <div></div>,
 | |
|         effect: {
 | |
|           inputs: createEffectFromVariableProvider(provideLoopInputsVariables),
 | |
|           outputs: createEffectFromVariableProvider(
 | |
|             provideLoopOutputsVariables,
 | |
|           ),
 | |
|         },
 | |
|       },
 | |
|     });
 | |
| 
 | |
|     document.registerFlowNodes({
 | |
|       type: StandardNodeType.VariableMerge,
 | |
|       formMeta: {
 | |
|         render: () => <div></div>,
 | |
|         effect: {
 | |
|           groups: provideMergeGroupVariablesEffect,
 | |
|         },
 | |
|       },
 | |
|     });
 | |
|   }
 | |
| }
 |