Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

pirms 2 mēnešiem
Introduce Plugins (#13836) Signed-off-by: yihong0618 <zouzou0208@gmail.com> Signed-off-by: -LAN- <laipz8200@outlook.com> Signed-off-by: xhe <xw897002528@gmail.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: takatost <takatost@gmail.com> Co-authored-by: kurokobo <kuro664@gmail.com> Co-authored-by: Novice Lee <novicelee@NoviPro.local> Co-authored-by: zxhlyh <jasonapring2015@outlook.com> Co-authored-by: AkaraChen <akarachen@outlook.com> Co-authored-by: Yi <yxiaoisme@gmail.com> Co-authored-by: Joel <iamjoel007@gmail.com> Co-authored-by: JzoNg <jzongcode@gmail.com> Co-authored-by: twwu <twwu@dify.ai> Co-authored-by: Hiroshi Fujita <fujita-h@users.noreply.github.com> Co-authored-by: AkaraChen <85140972+AkaraChen@users.noreply.github.com> Co-authored-by: NFish <douxc512@gmail.com> Co-authored-by: Wu Tianwei <30284043+WTW0313@users.noreply.github.com> Co-authored-by: 非法操作 <hjlarry@163.com> Co-authored-by: Novice <857526207@qq.com> Co-authored-by: Hiroki Nagai <82458324+nagaihiroki-git@users.noreply.github.com> Co-authored-by: Gen Sato <52241300+halogen22@users.noreply.github.com> Co-authored-by: eux <euxuuu@gmail.com> Co-authored-by: huangzhuo1949 <167434202+huangzhuo1949@users.noreply.github.com> Co-authored-by: huangzhuo <huangzhuo1@xiaomi.com> Co-authored-by: lotsik <lotsik@mail.ru> Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com> Co-authored-by: nite-knite <nkCoding@gmail.com> Co-authored-by: Jyong <76649700+JohnJyong@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: gakkiyomi <gakkiyomi@aliyun.com> Co-authored-by: CN-P5 <heibai2006@gmail.com> Co-authored-by: CN-P5 <heibai2006@qq.com> Co-authored-by: Chuehnone <1897025+chuehnone@users.noreply.github.com> Co-authored-by: yihong <zouzou0208@gmail.com> Co-authored-by: Kevin9703 <51311316+Kevin9703@users.noreply.github.com> Co-authored-by: -LAN- <laipz8200@outlook.com> Co-authored-by: Boris Feld <lothiraldan@gmail.com> Co-authored-by: mbo <himabo@gmail.com> Co-authored-by: mabo <mabo@aeyes.ai> Co-authored-by: Warren Chen <warren.chen830@gmail.com> Co-authored-by: JzoNgKVO <27049666+JzoNgKVO@users.noreply.github.com> Co-authored-by: jiandanfeng <chenjh3@wangsu.com> Co-authored-by: zhu-an <70234959+xhdd123321@users.noreply.github.com> Co-authored-by: zhaoqingyu.1075 <zhaoqingyu.1075@bytedance.com> Co-authored-by: 海狸大師 <86974027+yenslife@users.noreply.github.com> Co-authored-by: Xu Song <xusong.vip@gmail.com> Co-authored-by: rayshaw001 <396301947@163.com> Co-authored-by: Ding Jiatong <dingjiatong@gmail.com> Co-authored-by: Bowen Liang <liangbowen@gf.com.cn> Co-authored-by: JasonVV <jasonwangiii@outlook.com> Co-authored-by: le0zh <newlight@qq.com> Co-authored-by: zhuxinliang <zhuxinliang@didiglobal.com> Co-authored-by: k-zaku <zaku99@outlook.jp> Co-authored-by: luckylhb90 <luckylhb90@gmail.com> Co-authored-by: hobo.l <hobo.l@binance.com> Co-authored-by: jiangbo721 <365065261@qq.com> Co-authored-by: 刘江波 <jiangbo721@163.com> Co-authored-by: Shun Miyazawa <34241526+miya@users.noreply.github.com> Co-authored-by: EricPan <30651140+Egfly@users.noreply.github.com> Co-authored-by: crazywoola <427733928@qq.com> Co-authored-by: sino <sino2322@gmail.com> Co-authored-by: Jhvcc <37662342+Jhvcc@users.noreply.github.com> Co-authored-by: lowell <lowell.hu@zkteco.in> Co-authored-by: Boris Polonsky <BorisPolonsky@users.noreply.github.com> Co-authored-by: Ademílson Tonato <ademilsonft@outlook.com> Co-authored-by: Ademílson Tonato <ademilson.tonato@refurbed.com> Co-authored-by: IWAI, Masaharu <iwaim.sub@gmail.com> Co-authored-by: Yueh-Po Peng (Yabi) <94939112+y10ab1@users.noreply.github.com> Co-authored-by: Jason <ggbbddjm@gmail.com> Co-authored-by: Xin Zhang <sjhpzx@gmail.com> Co-authored-by: yjc980121 <3898524+yjc980121@users.noreply.github.com> Co-authored-by: heyszt <36215648+hieheihei@users.noreply.github.com> Co-authored-by: Abdullah AlOsaimi <osaimiacc@gmail.com> Co-authored-by: Abdullah AlOsaimi <189027247+osaimi@users.noreply.github.com> Co-authored-by: Yingchun Lai <laiyingchun@apache.org> Co-authored-by: Hash Brown <hi@xzd.me> Co-authored-by: zuodongxu <192560071+zuodongxu@users.noreply.github.com> Co-authored-by: Masashi Tomooka <tmokmss@users.noreply.github.com> Co-authored-by: aplio <ryo.091219@gmail.com> Co-authored-by: Obada Khalili <54270856+obadakhalili@users.noreply.github.com> Co-authored-by: Nam Vu <zuzoovn@gmail.com> Co-authored-by: Kei YAMAZAKI <1715090+kei-yamazaki@users.noreply.github.com> Co-authored-by: TechnoHouse <13776377+deephbz@users.noreply.github.com> Co-authored-by: Riddhimaan-Senapati <114703025+Riddhimaan-Senapati@users.noreply.github.com> Co-authored-by: MaFee921 <31881301+2284730142@users.noreply.github.com> Co-authored-by: te-chan <t-nakanome@sakura-is.co.jp> Co-authored-by: HQidea <HQidea@users.noreply.github.com> Co-authored-by: Joshbly <36315710+Joshbly@users.noreply.github.com> Co-authored-by: xhe <xw897002528@gmail.com> Co-authored-by: weiwenyan-dev <154779315+weiwenyan-dev@users.noreply.github.com> Co-authored-by: ex_wenyan.wei <ex_wenyan.wei@tcl.com> Co-authored-by: engchina <12236799+engchina@users.noreply.github.com> Co-authored-by: engchina <atjapan2015@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: 呆萌闷油瓶 <253605712@qq.com> Co-authored-by: Kemal <kemalmeler@outlook.com> Co-authored-by: Lazy_Frog <4590648+lazyFrogLOL@users.noreply.github.com> Co-authored-by: Yi Xiao <54782454+YIXIAO0@users.noreply.github.com> Co-authored-by: Steven sun <98230804+Tuyohai@users.noreply.github.com> Co-authored-by: steven <sunzwj@digitalchina.com> Co-authored-by: Kalo Chin <91766386+fdb02983rhy@users.noreply.github.com> Co-authored-by: Katy Tao <34019945+KatyTao@users.noreply.github.com> Co-authored-by: depy <42985524+h4ckdepy@users.noreply.github.com> Co-authored-by: 胡春东 <gycm520@gmail.com> Co-authored-by: Junjie.M <118170653@qq.com> Co-authored-by: MuYu <mr.muzea@gmail.com> Co-authored-by: Naoki Takashima <39912547+takatea@users.noreply.github.com> Co-authored-by: Summer-Gu <37869445+gubinjie@users.noreply.github.com> Co-authored-by: Fei He <droxer.he@gmail.com> Co-authored-by: ybalbert001 <120714773+ybalbert001@users.noreply.github.com> Co-authored-by: Yuanbo Li <ybalbert@amazon.com> Co-authored-by: douxc <7553076+douxc@users.noreply.github.com> Co-authored-by: liuzhenghua <1090179900@qq.com> Co-authored-by: Wu Jiayang <62842862+Wu-Jiayang@users.noreply.github.com> Co-authored-by: Your Name <you@example.com> Co-authored-by: kimjion <45935338+kimjion@users.noreply.github.com> Co-authored-by: AugNSo <song.tiankai@icloud.com> Co-authored-by: llinvokerl <38915183+llinvokerl@users.noreply.github.com> Co-authored-by: liusurong.lsr <liusurong.lsr@alibaba-inc.com> Co-authored-by: Vasu Negi <vasu-negi@users.noreply.github.com> Co-authored-by: Hundredwz <1808096180@qq.com> Co-authored-by: Xiyuan Chen <52963600+GareArc@users.noreply.github.com>
pirms 8 mēnešiem
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. import type { FC } from 'react'
  2. import React from 'react'
  3. import { useTranslation } from 'react-i18next'
  4. import Split from '../_base/components/split'
  5. import type { ToolNodeType } from './types'
  6. import useConfig from './use-config'
  7. import ToolForm from './components/tool-form'
  8. import Field from '@/app/components/workflow/nodes/_base/components/field'
  9. import type { NodePanelProps } from '@/app/components/workflow/types'
  10. import Loading from '@/app/components/base/loading'
  11. import OutputVars, { VarItem } from '@/app/components/workflow/nodes/_base/components/output-vars'
  12. import StructureOutputItem from '@/app/components/workflow/nodes/_base/components/variable/object-child-tree-panel/show'
  13. import { useStore } from '@/app/components/workflow/store'
  14. import { wrapStructuredVarItem } from '@/app/components/workflow/utils/tool'
  15. import useMatchSchemaType, { getMatchedSchemaType } from '../_base/components/variable/use-match-schema-type'
  16. const i18nPrefix = 'workflow.nodes.tool'
  17. const Panel: FC<NodePanelProps<ToolNodeType>> = ({
  18. id,
  19. data,
  20. }) => {
  21. const { t } = useTranslation()
  22. const {
  23. readOnly,
  24. inputs,
  25. toolInputVarSchema,
  26. setInputVar,
  27. toolSettingSchema,
  28. toolSettingValue,
  29. setToolSettingValue,
  30. currCollection,
  31. isShowAuthBtn,
  32. isLoading,
  33. outputSchema,
  34. hasObjectOutput,
  35. currTool,
  36. } = useConfig(id, data)
  37. const [collapsed, setCollapsed] = React.useState(false)
  38. const pipelineId = useStore(s => s.pipelineId)
  39. const setShowInputFieldPanel = useStore(s => s.setShowInputFieldPanel)
  40. const { schemaTypeDefinitions } = useMatchSchemaType()
  41. if (isLoading) {
  42. return <div className='flex h-[200px] items-center justify-center'>
  43. <Loading />
  44. </div>
  45. }
  46. return (
  47. <div className='pt-2'>
  48. {!isShowAuthBtn && (
  49. <div className='relative'>
  50. {toolInputVarSchema.length > 0 && (
  51. <Field
  52. className='px-4'
  53. title={t(`${i18nPrefix}.inputVars`)}
  54. >
  55. <ToolForm
  56. readOnly={readOnly}
  57. nodeId={id}
  58. schema={toolInputVarSchema as any}
  59. value={inputs.tool_parameters}
  60. onChange={setInputVar}
  61. currentProvider={currCollection}
  62. currentTool={currTool}
  63. showManageInputField={!!pipelineId}
  64. onManageInputField={() => setShowInputFieldPanel?.(true)}
  65. />
  66. </Field>
  67. )}
  68. {toolInputVarSchema.length > 0 && toolSettingSchema.length > 0 && (
  69. <Split className='mt-1' />
  70. )}
  71. {toolSettingSchema.length > 0 && (
  72. <>
  73. <OutputVars
  74. title={t(`${i18nPrefix}.settings`)}
  75. collapsed={collapsed}
  76. onCollapse={setCollapsed}
  77. >
  78. <ToolForm
  79. readOnly={readOnly}
  80. nodeId={id}
  81. schema={toolSettingSchema as any}
  82. value={toolSettingValue}
  83. onChange={setToolSettingValue}
  84. />
  85. </OutputVars>
  86. <Split />
  87. </>
  88. )}
  89. </div>
  90. )}
  91. <div>
  92. <OutputVars>
  93. <>
  94. <VarItem
  95. name='text'
  96. type='string'
  97. description={t(`${i18nPrefix}.outputVars.text`)}
  98. isIndent={hasObjectOutput}
  99. />
  100. <VarItem
  101. name='files'
  102. type='array[file]'
  103. description={t(`${i18nPrefix}.outputVars.files.title`)}
  104. isIndent={hasObjectOutput}
  105. />
  106. <VarItem
  107. name='json'
  108. type='array[object]'
  109. description={t(`${i18nPrefix}.outputVars.json`)}
  110. isIndent={hasObjectOutput}
  111. />
  112. {outputSchema.map((outputItem) => {
  113. const schemaType = getMatchedSchemaType(outputItem.value, schemaTypeDefinitions)
  114. return (
  115. <div key={outputItem.name}>
  116. {outputItem.value?.type === 'object' ? (
  117. <StructureOutputItem
  118. rootClassName='code-sm-semibold text-text-secondary'
  119. payload={wrapStructuredVarItem(outputItem, schemaType)}
  120. />
  121. ) : (
  122. <VarItem
  123. name={outputItem.name}
  124. // eslint-disable-next-line sonarjs/no-nested-template-literals
  125. type={`${outputItem.type.toLocaleLowerCase()}${schemaType ? ` (${schemaType})` : ''}`}
  126. description={outputItem.description}
  127. isIndent={hasObjectOutput}
  128. />
  129. )}
  130. </div>
  131. )
  132. })}
  133. </>
  134. </OutputVars>
  135. </div>
  136. </div>
  137. )
  138. }
  139. export default React.memo(Panel)