MCPcopy
hub / github.com/FlowiseAI/Flowise / constructor

Method constructor

packages/components/nodes/tools/ChainTool/core.ts:13–56  ·  view source on GitHub ↗
({ chain, ...rest }: ChainToolInput)

Source from the content-addressed store, hash-verified

11 chain: BaseChain
12
13 constructor({ chain, ...rest }: ChainToolInput) {
14 super({
15 ...rest,
16 func: async (input, runManager) => {
17 // prevent sending SSE events of the sub-chain
18 const sseStreamer = runManager?.handlers.find((handler) => handler instanceof CustomChainHandler)?.sseStreamer
19 if (runManager) {
20 const callbacks = runManager.handlers
21 for (let i = 0; i < callbacks.length; i += 1) {
22 if (callbacks[i] instanceof CustomChainHandler) {
23 ;(callbacks[i] as any).sseStreamer = undefined
24 }
25 }
26 }
27
28 if ((chain as any).prompt && (chain as any).prompt.promptValues) {
29 const promptValues = handleEscapeCharacters((chain as any).prompt.promptValues, true)
30
31 const values = await chain.call(promptValues, runManager?.getChild())
32 if (runManager && sseStreamer) {
33 const callbacks = runManager.handlers
34 for (let i = 0; i < callbacks.length; i += 1) {
35 if (callbacks[i] instanceof CustomChainHandler) {
36 ;(callbacks[i] as any).sseStreamer = sseStreamer
37 }
38 }
39 }
40 return values?.text
41 }
42
43 const values = chain.run(input, runManager?.getChild())
44 if (runManager && sseStreamer) {
45 const callbacks = runManager.handlers
46 for (let i = 0; i < callbacks.length; i += 1) {
47 if (callbacks[i] instanceof CustomChainHandler) {
48 ;(callbacks[i] as any).sseStreamer = sseStreamer
49 }
50 }
51 }
52 return values
53 }
54 })
55 this.chain = chain
56 }
57}

Callers

nothing calls this directly

Calls 3

handleEscapeCharactersFunction · 0.90
runMethod · 0.65
callMethod · 0.45

Tested by

no test coverage detected