@cozeloop/prompt-components 0.0.1 → 0.0.2

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.
Files changed (186) hide show
  1. package/dist/edenx.config.d.ts +2 -0
  2. package/dist/{es/basic-editor/extensions/go-syntax.js → go-syntax-067c4f5d.mjs} +16 -9
  3. package/dist/go-syntax-4deb0289.js +8 -0
  4. package/dist/{es/basic-editor/extensions/go-theme.js → go-theme-062a6df6.mjs} +3 -4
  5. package/dist/go-theme-fbd8a4fa.js +1 -0
  6. package/dist/index.cjs +61 -0
  7. package/dist/index.d.ts +1 -0
  8. package/dist/index.js +2788 -0
  9. package/dist/{types → src}/basic-editor/custom-facet.d.ts +2 -1
  10. package/dist/src/basic-editor/diff.d.ts +16 -0
  11. package/dist/src/basic-editor/extensions/go-syntax.d.ts +71 -0
  12. package/dist/src/basic-editor/extensions/go-template.d.ts +1 -0
  13. package/dist/{types → src}/basic-editor/extensions/go-theme.d.ts +1 -1
  14. package/dist/src/basic-editor/extensions/jinja.d.ts +4 -0
  15. package/dist/{types → src}/basic-editor/extensions/keymap.d.ts +3 -2
  16. package/dist/src/basic-editor/extensions/language-support.d.ts +2 -0
  17. package/dist/src/basic-editor/extensions/markdown.d.ts +2 -0
  18. package/dist/src/basic-editor/extensions/search/dom/icon.d.ts +59 -0
  19. package/dist/src/basic-editor/extensions/search/dom/match-count.d.ts +14 -0
  20. package/dist/src/basic-editor/extensions/search/index.d.ts +1 -0
  21. package/dist/src/basic-editor/extensions/search/panel.d.ts +33 -0
  22. package/dist/src/basic-editor/extensions/search/theme.d.ts +1 -0
  23. package/dist/src/basic-editor/extensions/validation.d.ts +8 -0
  24. package/dist/src/basic-editor/extensions/variable.d.ts +11 -0
  25. package/dist/src/basic-editor/index.d.ts +29 -0
  26. package/dist/{types → src}/code-editor/index.d.ts +1 -1
  27. package/dist/src/code-editor/json-editor.d.ts +18 -0
  28. package/dist/src/code-editor/raw-text-editor.d.ts +11 -0
  29. package/dist/{types → src}/consts/index.d.ts +1 -1
  30. package/dist/src/dev-layout/index.d.ts +7 -0
  31. package/dist/{types → src}/index.d.ts +7 -7
  32. package/dist/src/mermaid-diagram/index.d.ts +12 -0
  33. package/dist/src/mermaid-diagram/use-svg-pan-zoom.d.ts +12 -0
  34. package/dist/{types → src}/mermaid-diagram/utils.d.ts +1 -1
  35. package/dist/src/model-config-editor/basic-type.d.ts +13 -0
  36. package/dist/src/model-config-editor/model-config-form.d.ts +13 -0
  37. package/dist/src/model-config-editor/popover-type.d.ts +19 -0
  38. package/dist/src/model-select/index.d.ts +27 -0
  39. package/dist/src/model-select/model-option/index.d.ts +25 -0
  40. package/dist/src/model-select/model-option-group/index.d.ts +16 -0
  41. package/dist/src/prompt-editor/index.d.ts +31 -0
  42. package/dist/src/prompt-editor/message-type-select.d.ts +11 -0
  43. package/dist/src/schema-editor/index.d.ts +11 -0
  44. package/dist/{types → src}/utils/base.d.ts +5 -4
  45. package/dist/src/utils/model-config.d.ts +5 -0
  46. package/dist/style.css +1 -0
  47. package/dist/test-build.d.ts +7 -0
  48. package/dist/vite.config.d.ts +2 -0
  49. package/package.json +15 -5
  50. package/dist/es/basic-editor/custom-facet.js +0 -9
  51. package/dist/es/basic-editor/diff.js +0 -138
  52. package/dist/es/basic-editor/extensions/go-template.js +0 -16
  53. package/dist/es/basic-editor/extensions/jinja.js +0 -80
  54. package/dist/es/basic-editor/extensions/keymap.js +0 -442
  55. package/dist/es/basic-editor/extensions/language-support.js +0 -12
  56. package/dist/es/basic-editor/extensions/markdown.js +0 -58
  57. package/dist/es/basic-editor/extensions/search/dom/icon.js +0 -250
  58. package/dist/es/basic-editor/extensions/search/dom/match-count.js +0 -33
  59. package/dist/es/basic-editor/extensions/search/index.js +0 -18
  60. package/dist/es/basic-editor/extensions/search/panel.js +0 -418
  61. package/dist/es/basic-editor/extensions/search/theme.js +0 -184
  62. package/dist/es/basic-editor/extensions/validation.js +0 -84
  63. package/dist/es/basic-editor/extensions/validation.module.js +0 -5
  64. package/dist/es/basic-editor/extensions/validation_module.css +0 -7
  65. package/dist/es/basic-editor/extensions/variable.js +0 -178
  66. package/dist/es/basic-editor/index.js +0 -171
  67. package/dist/es/code-editor/code-editor.js +0 -83
  68. package/dist/es/code-editor/index.js +0 -12
  69. package/dist/es/code-editor/json-editor.js +0 -157
  70. package/dist/es/code-editor/raw-text-editor.js +0 -46
  71. package/dist/es/code-editor/text-editor.js +0 -41
  72. package/dist/es/code-editor/themes/coze-dark.js +0 -112
  73. package/dist/es/code-editor/themes/coze-light.js +0 -118
  74. package/dist/es/consts/index.js +0 -12
  75. package/dist/es/dev-layout/index.js +0 -35
  76. package/dist/es/index.js +0 -66
  77. package/dist/es/mermaid-diagram/index.js +0 -148
  78. package/dist/es/mermaid-diagram/index.module.js +0 -5
  79. package/dist/es/mermaid-diagram/index_module.css +0 -4
  80. package/dist/es/mermaid-diagram/use-svg-pan-zoom.js +0 -49
  81. package/dist/es/mermaid-diagram/utils.js +0 -74
  82. package/dist/es/model-config-editor/basic-type.js +0 -73
  83. package/dist/es/model-config-editor/index.module.js +0 -5
  84. package/dist/es/model-config-editor/index_module.css +0 -8
  85. package/dist/es/model-config-editor/model-config-form.js +0 -130
  86. package/dist/es/model-config-editor/popover-type.js +0 -118
  87. package/dist/es/model-select/index.js +0 -136
  88. package/dist/es/model-select/index.module.js +0 -5
  89. package/dist/es/model-select/index_module.css +0 -14
  90. package/dist/es/model-select/model-option/index.js +0 -161
  91. package/dist/es/model-select/model-option/index.module.js +0 -5
  92. package/dist/es/model-select/model-option/index_module.css +0 -23
  93. package/dist/es/model-select/model-option-group/index.js +0 -44
  94. package/dist/es/prompt-editor/index.js +0 -188
  95. package/dist/es/prompt-editor/index.module.js +0 -5
  96. package/dist/es/prompt-editor/index_module.css +0 -71
  97. package/dist/es/prompt-editor/message-type-select.js +0 -74
  98. package/dist/es/schema-editor/index.js +0 -43
  99. package/dist/es/utils/base.js +0 -53
  100. package/dist/es/utils/model-config.js +0 -32
  101. package/dist/lib/basic-editor/custom-facet.js +0 -33
  102. package/dist/lib/basic-editor/diff.js +0 -167
  103. package/dist/lib/basic-editor/extensions/go-syntax.js +0 -146
  104. package/dist/lib/basic-editor/extensions/go-template.js +0 -50
  105. package/dist/lib/basic-editor/extensions/go-theme.js +0 -1091
  106. package/dist/lib/basic-editor/extensions/jinja.js +0 -100
  107. package/dist/lib/basic-editor/extensions/keymap.js +0 -465
  108. package/dist/lib/basic-editor/extensions/language-support.js +0 -32
  109. package/dist/lib/basic-editor/extensions/markdown.js +0 -78
  110. package/dist/lib/basic-editor/extensions/search/dom/icon.js +0 -291
  111. package/dist/lib/basic-editor/extensions/search/dom/match-count.js +0 -67
  112. package/dist/lib/basic-editor/extensions/search/index.js +0 -38
  113. package/dist/lib/basic-editor/extensions/search/panel.js +0 -429
  114. package/dist/lib/basic-editor/extensions/search/theme.js +0 -208
  115. package/dist/lib/basic-editor/extensions/validation.js +0 -118
  116. package/dist/lib/basic-editor/extensions/validation.module.js +0 -25
  117. package/dist/lib/basic-editor/extensions/validation_module.css +0 -7
  118. package/dist/lib/basic-editor/extensions/variable.js +0 -190
  119. package/dist/lib/basic-editor/index.js +0 -193
  120. package/dist/lib/code-editor/code-editor.js +0 -117
  121. package/dist/lib/code-editor/index.js +0 -40
  122. package/dist/lib/code-editor/json-editor.js +0 -184
  123. package/dist/lib/code-editor/raw-text-editor.js +0 -70
  124. package/dist/lib/code-editor/text-editor.js +0 -75
  125. package/dist/lib/code-editor/themes/coze-dark.js +0 -136
  126. package/dist/lib/code-editor/themes/coze-light.js +0 -142
  127. package/dist/lib/consts/index.js +0 -38
  128. package/dist/lib/dev-layout/index.js +0 -69
  129. package/dist/lib/index.js +0 -110
  130. package/dist/lib/mermaid-diagram/index.js +0 -174
  131. package/dist/lib/mermaid-diagram/index.module.js +0 -25
  132. package/dist/lib/mermaid-diagram/index_module.css +0 -4
  133. package/dist/lib/mermaid-diagram/use-svg-pan-zoom.js +0 -83
  134. package/dist/lib/mermaid-diagram/utils.js +0 -98
  135. package/dist/lib/model-config-editor/basic-type.js +0 -105
  136. package/dist/lib/model-config-editor/index.module.js +0 -25
  137. package/dist/lib/model-config-editor/index_module.css +0 -8
  138. package/dist/lib/model-config-editor/model-config-form.js +0 -149
  139. package/dist/lib/model-config-editor/popover-type.js +0 -145
  140. package/dist/lib/model-select/index.js +0 -170
  141. package/dist/lib/model-select/index.module.js +0 -25
  142. package/dist/lib/model-select/index_module.css +0 -14
  143. package/dist/lib/model-select/model-option/index.js +0 -188
  144. package/dist/lib/model-select/model-option/index.module.js +0 -25
  145. package/dist/lib/model-select/model-option/index_module.css +0 -23
  146. package/dist/lib/model-select/model-option-group/index.js +0 -75
  147. package/dist/lib/prompt-editor/index.js +0 -218
  148. package/dist/lib/prompt-editor/index.module.js +0 -25
  149. package/dist/lib/prompt-editor/index_module.css +0 -71
  150. package/dist/lib/prompt-editor/message-type-select.js +0 -108
  151. package/dist/lib/schema-editor/index.js +0 -77
  152. package/dist/lib/utils/base.js +0 -82
  153. package/dist/lib/utils/model-config.js +0 -57
  154. package/dist/types/basic-editor/diff.d.ts +0 -15
  155. package/dist/types/basic-editor/extensions/go-syntax.d.ts +0 -71
  156. package/dist/types/basic-editor/extensions/go-template.d.ts +0 -1
  157. package/dist/types/basic-editor/extensions/jinja.d.ts +0 -6
  158. package/dist/types/basic-editor/extensions/language-support.d.ts +0 -2
  159. package/dist/types/basic-editor/extensions/markdown.d.ts +0 -2
  160. package/dist/types/basic-editor/extensions/search/dom/icon.d.ts +0 -59
  161. package/dist/types/basic-editor/extensions/search/dom/match-count.d.ts +0 -14
  162. package/dist/types/basic-editor/extensions/search/index.d.ts +0 -1
  163. package/dist/types/basic-editor/extensions/search/panel.d.ts +0 -32
  164. package/dist/types/basic-editor/extensions/search/theme.d.ts +0 -1
  165. package/dist/types/basic-editor/extensions/validation.d.ts +0 -10
  166. package/dist/types/basic-editor/extensions/variable.d.ts +0 -14
  167. package/dist/types/basic-editor/index.d.ts +0 -28
  168. package/dist/types/code-editor/code-editor.d.ts +0 -23
  169. package/dist/types/code-editor/json-editor.d.ts +0 -17
  170. package/dist/types/code-editor/raw-text-editor.d.ts +0 -11
  171. package/dist/types/code-editor/text-editor.d.ts +0 -23
  172. package/dist/types/code-editor/themes/coze-dark.d.ts +0 -1
  173. package/dist/types/code-editor/themes/coze-light.d.ts +0 -1
  174. package/dist/types/dev-layout/index.d.ts +0 -13
  175. package/dist/types/mermaid-diagram/index.d.ts +0 -12
  176. package/dist/types/mermaid-diagram/use-svg-pan-zoom.d.ts +0 -17
  177. package/dist/types/model-config-editor/basic-type.d.ts +0 -19
  178. package/dist/types/model-config-editor/model-config-form.d.ts +0 -14
  179. package/dist/types/model-config-editor/popover-type.d.ts +0 -25
  180. package/dist/types/model-select/index.d.ts +0 -38
  181. package/dist/types/model-select/model-option/index.d.ts +0 -30
  182. package/dist/types/model-select/model-option-group/index.d.ts +0 -15
  183. package/dist/types/prompt-editor/index.d.ts +0 -30
  184. package/dist/types/prompt-editor/message-type-select.d.ts +0 -16
  185. package/dist/types/schema-editor/index.d.ts +0 -18
  186. package/dist/types/utils/model-config.d.ts +0 -4
@@ -1,73 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- import { jsx, jsxs } from "react/jsx-runtime";
21
- import { useEffect, useRef, useState } from "react";
22
- import classNames from "classnames";
23
- import { Form } from "@coze-arch/coze-design";
24
- import { convertModelToModelConfig } from "../utils/model-config";
25
- import { ModelSelect } from "../model-select";
26
- import { ModelConfigForm } from "./model-config-form";
27
- import styles from "./index.module";
28
- function BasicModelConfigEditor({
29
- className,
30
- style,
31
- value,
32
- onChange,
33
- disabled,
34
- modelSelectProps
35
- }) {
36
- const formApi = useRef();
37
- const [selectModel, setSelectModel] = useState(
38
- modelSelectProps == null ? void 0 : modelSelectProps.value
39
- );
40
- useEffect(() => {
41
- var _a, _b;
42
- if ((selectModel == null ? void 0 : selectModel.id) !== (value == null ? void 0 : value.id)) {
43
- const modelConfig = convertModelToModelConfig(selectModel);
44
- (_b = (_a = formApi.current) == null ? void 0 : _a.setValues) == null ? void 0 : _b.call(_a, modelConfig, { isOverride: true });
45
- }
46
- }, [selectModel, value]);
47
- return /* @__PURE__ */ jsxs(
48
- Form,
49
- {
50
- className: classNames(styles["model-config-form"], className),
51
- style,
52
- labelWidth: 120,
53
- initValues: value,
54
- onValueChange: onChange,
55
- getFormApi: (api) => formApi.current = api,
56
- disabled,
57
- children: [
58
- /* @__PURE__ */ jsx(
59
- ModelSelect,
60
- __spreadProps(__spreadValues({}, modelSelectProps), {
61
- value: selectModel,
62
- disabled,
63
- onChange: setSelectModel
64
- })
65
- ),
66
- /* @__PURE__ */ jsx(ModelConfigForm, { model: selectModel })
67
- ]
68
- }
69
- );
70
- }
71
- export {
72
- BasicModelConfigEditor
73
- };
@@ -1,5 +0,0 @@
1
- import "./index_module.css";
2
- var index_module_default = { "model-config-form": "model-config-form_d28fd" };
3
- export {
4
- index_module_default as default
5
- };
@@ -1,8 +0,0 @@
1
- /* stylelint-disable declaration-no-important */
2
- .model-config-form_d28fd {
3
- display: flex;
4
- flex-direction: column;
5
- }
6
- .model-config-form_d28fd .semi-form-field {
7
- padding: 4px 0 !important;
8
- }
@@ -1,130 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
21
- import { isUndefined } from "lodash-es";
22
- import { MdBoxLazy } from "@flow-web/md-box/lazy";
23
- import { InputSlider } from "@cozeloop/components";
24
- import { IconCozQuestionMarkCircle } from "@coze-arch/coze-design/icons";
25
- import {
26
- Form,
27
- Tooltip,
28
- Typography,
29
- withField
30
- } from "@coze-arch/coze-design";
31
- import { DEFAULT_MAX_TOKENS, modelConfigLabelMap } from "../consts";
32
- const convertInt64ToNumber = (v) => {
33
- if (v !== void 0) {
34
- return Number(v);
35
- } else {
36
- return void 0;
37
- }
38
- };
39
- const getInputSliderConfig = (key, modelParams) => {
40
- const param = modelParams.find((item) => item.name === key);
41
- const max = key === "max_tokens" ? DEFAULT_MAX_TOKENS : 0;
42
- return {
43
- min: Number((param == null ? void 0 : param.min) || 0),
44
- max: Math.max(Number((param == null ? void 0 : param.max) || 1), max),
45
- defaultValue: Number((param == null ? void 0 : param.defaultVal) || max),
46
- label: {
47
- text: /* @__PURE__ */ jsx(Typography.Text, { children: (param == null ? void 0 : param.name) ? modelConfigLabelMap[param.name] || "" : "" }),
48
- extra: /* @__PURE__ */ jsx(
49
- Tooltip,
50
- {
51
- content: /* @__PURE__ */ jsx(MdBoxLazy, { className: "!text-white", markDown: (param == null ? void 0 : param.desc) || "" }),
52
- theme: "dark",
53
- children: /* @__PURE__ */ jsx(IconCozQuestionMarkCircle, {})
54
- }
55
- )
56
- }
57
- };
58
- };
59
- const FormInputSlider = withField(InputSlider);
60
- function ModelConfigForm({ model }) {
61
- if (!model) {
62
- return null;
63
- }
64
- const modelAbility = model == null ? void 0 : model.ability;
65
- const modelParams = (modelAbility == null ? void 0 : modelAbility.modelParams) || [];
66
- const defaultRuntimeParam = model == null ? void 0 : model.defaultRuntimeParam;
67
- return /* @__PURE__ */ jsxs(Fragment, { children: [
68
- /* @__PURE__ */ jsx(
69
- FormInputSlider,
70
- __spreadProps(__spreadValues({
71
- field: "max_tokens",
72
- labelPosition: "left"
73
- }, getInputSliderConfig("max_tokens", modelParams)), {
74
- label: {
75
- text: /* @__PURE__ */ jsx(Typography.Text, { children: "最大回复长度" }),
76
- extra: /* @__PURE__ */ jsx(
77
- Tooltip,
78
- {
79
- content: /* @__PURE__ */ jsx(
80
- MdBoxLazy,
81
- {
82
- className: "!text-white",
83
- markDown: "- **max_tokens**: 控制模型输出的 Tokens 长度上限。通常 100 Tokens 约等于 150 个中文汉字。"
84
- }
85
- ),
86
- theme: "dark",
87
- children: /* @__PURE__ */ jsx(IconCozQuestionMarkCircle, {})
88
- }
89
- )
90
- }
91
- })
92
- ),
93
- isUndefined(defaultRuntimeParam == null ? void 0 : defaultRuntimeParam.temperature) ? null : /* @__PURE__ */ jsx(
94
- FormInputSlider,
95
- __spreadProps(__spreadValues({
96
- field: "temperature",
97
- labelPosition: "left"
98
- }, getInputSliderConfig("temperature", modelParams)), {
99
- step: 0.01
100
- })
101
- ),
102
- isUndefined(defaultRuntimeParam == null ? void 0 : defaultRuntimeParam.topP) ? null : /* @__PURE__ */ jsx(
103
- FormInputSlider,
104
- __spreadProps(__spreadValues({
105
- field: "top_p",
106
- labelPosition: "left",
107
- label: {
108
- text: /* @__PURE__ */ jsx(Typography.Text, { children: "Top P" })
109
- }
110
- }, getInputSliderConfig("top_p", modelParams)), {
111
- step: 0.01
112
- })
113
- ),
114
- (modelAbility == null ? void 0 : modelAbility.jsonModeEnabled) ? /* @__PURE__ */ jsx(
115
- Form.Switch,
116
- {
117
- labelPosition: "left",
118
- label: {
119
- text: /* @__PURE__ */ jsx(Typography.Text, { children: "JSON Mode" })
120
- },
121
- field: "json_mode"
122
- }
123
- ) : null
124
- ] });
125
- }
126
- export {
127
- ModelConfigForm,
128
- convertInt64ToNumber,
129
- getInputSliderConfig
130
- };
@@ -1,118 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- var __objRest = (source, exclude) => {
21
- var target = {};
22
- for (var prop in source)
23
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
- target[prop] = source[prop];
25
- if (source != null && __getOwnPropSymbols)
26
- for (var prop of __getOwnPropSymbols(source)) {
27
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
- target[prop] = source[prop];
29
- }
30
- return target;
31
- };
32
- import { jsx, jsxs } from "react/jsx-runtime";
33
- import { useEffect, useRef, useState } from "react";
34
- import {
35
- Form,
36
- Popover,
37
- Space,
38
- Typography
39
- } from "@coze-arch/coze-design";
40
- import { convertModelToModelConfig } from "../utils/model-config";
41
- import { ModelSelect } from "../model-select";
42
- import { ModelConfigForm } from "./model-config-form";
43
- import styles from "./index.module";
44
- function PopoverModelConfigEdiotr({
45
- value,
46
- disabled,
47
- modelSelectProps,
48
- popoverProps,
49
- onChange,
50
- renderDisplayContent
51
- }) {
52
- const formApi = useRef();
53
- const _a = popoverProps || {}, { wrapClassName, wrapStyle } = _a, restPopoverProps = __objRest(_a, ["wrapClassName", "wrapStyle"]);
54
- const [selectModel, setSelectModel] = useState();
55
- const [isPopoverVisible, setPopoverVisible] = useState(false);
56
- useEffect(() => {
57
- var _a2, _b;
58
- if ((selectModel == null ? void 0 : selectModel.id) !== (value == null ? void 0 : value.id)) {
59
- const modelConfig = convertModelToModelConfig(selectModel);
60
- (_b = (_a2 = formApi.current) == null ? void 0 : _a2.setValues) == null ? void 0 : _b.call(_a2, modelConfig, { isOverride: true });
61
- }
62
- }, [selectModel, value]);
63
- return /* @__PURE__ */ jsx(
64
- Popover,
65
- __spreadProps(__spreadValues({
66
- content: /* @__PURE__ */ jsx("div", { className: "pt-1 px-4 pb-4", style: { width: 496 }, children: /* @__PURE__ */ jsxs(
67
- Form,
68
- {
69
- className: styles["model-config-form"],
70
- labelWidth: 120,
71
- initValues: value,
72
- onValueChange: onChange,
73
- getFormApi: (api) => formApi.current = api,
74
- disabled,
75
- children: [
76
- /* @__PURE__ */ jsxs(Space, { className: "py-0", children: [
77
- /* @__PURE__ */ jsx(Typography.Title, { heading: 6, style: { minWidth: 120 }, children: "模型选择" }),
78
- /* @__PURE__ */ jsx(
79
- ModelSelect,
80
- __spreadProps(__spreadValues({}, modelSelectProps), {
81
- value: selectModel,
82
- disabled,
83
- onChange: setSelectModel
84
- })
85
- )
86
- ] }),
87
- /* @__PURE__ */ jsx(
88
- Typography.Title,
89
- {
90
- heading: 6,
91
- style: { marginTop: 12, marginBottom: 12 },
92
- children: "参数配置"
93
- }
94
- ),
95
- /* @__PURE__ */ jsx(ModelConfigForm, { model: selectModel })
96
- ]
97
- }
98
- ) }),
99
- keepDOM: true,
100
- trigger: "custom",
101
- visible: isPopoverVisible,
102
- onClickOutSide: () => setPopoverVisible(false)
103
- }, restPopoverProps), {
104
- children: /* @__PURE__ */ jsx(
105
- "div",
106
- {
107
- className: wrapClassName,
108
- style: wrapStyle,
109
- onClick: () => setPopoverVisible(true),
110
- children: renderDisplayContent == null ? void 0 : renderDisplayContent(selectModel, isPopoverVisible)
111
- }
112
- )
113
- })
114
- );
115
- }
116
- export {
117
- PopoverModelConfigEdiotr
118
- };
@@ -1,136 +0,0 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { useEffect, useMemo, useRef } from "react";
3
- import { groupBy } from "lodash-es";
4
- import classNames from "classnames";
5
- import { IconCozUpdate } from "@coze-arch/coze-design/icons";
6
- import { Avatar, Select, Typography } from "@coze-arch/coze-design";
7
- import { renderModelOfflineTag } from "../utils/model-config";
8
- import { ModelOption } from "./model-option";
9
- import styles from "./index.module";
10
- function ModelSelectItem({ item }) {
11
- return /* @__PURE__ */ jsxs("div", { className: "flex items-center w-full gap-1", children: [
12
- /* @__PURE__ */ jsx("div", { className: "overflow-hidden flex-shrink-0 mr-[8px]", children: /* @__PURE__ */ jsx(Avatar, { src: item == null ? void 0 : item.modelIcon, shape: "square", size: "extra-extra-small" }) }),
13
- /* @__PURE__ */ jsx(
14
- Typography.Text,
15
- {
16
- style: {
17
- maxWidth: "400px",
18
- fontSize: "13px"
19
- },
20
- ellipsis: { showTooltip: { opts: { theme: "dark" } } },
21
- children: item == null ? void 0 : item.displayName
22
- }
23
- ),
24
- renderModelOfflineTag(item)
25
- ] });
26
- }
27
- function ModelSelect({
28
- className,
29
- style,
30
- value,
31
- disabled,
32
- defaultSelectFirstModel,
33
- loading,
34
- modelListData,
35
- onChange,
36
- loadMore,
37
- optionCustomRender,
38
- valueKey = "identification"
39
- }) {
40
- const handleModelChange = (v) => {
41
- var _a;
42
- const model = (_a = modelListData == null ? void 0 : modelListData.list) == null ? void 0 : _a.find((item) => (item == null ? void 0 : item[valueKey]) === v);
43
- onChange == null ? void 0 : onChange(model);
44
- };
45
- const ref = useRef();
46
- const { modelGroups } = useMemo(() => {
47
- const modelSeriesGroups = groupBy(
48
- modelListData == null ? void 0 : modelListData.list,
49
- (model) => {
50
- var _a;
51
- return (_a = model.commercialModelSeries) == null ? void 0 : _a.seriesName;
52
- }
53
- );
54
- const groupedModels = Object.values(modelSeriesGroups).filter(
55
- (group) => !!(group == null ? void 0 : group.length)
56
- );
57
- return {
58
- modelGroups: groupedModels
59
- };
60
- }, [modelListData == null ? void 0 : modelListData.list]);
61
- useEffect(() => {
62
- var _a, _b;
63
- if (!value && defaultSelectFirstModel && ((_a = modelListData == null ? void 0 : modelListData.list) == null ? void 0 : _a.length)) {
64
- onChange == null ? void 0 : onChange((_b = modelListData == null ? void 0 : modelListData.list) == null ? void 0 : _b[0]);
65
- }
66
- }, [modelListData == null ? void 0 : modelListData.list, defaultSelectFirstModel, value]);
67
- return /* @__PURE__ */ jsx(
68
- Select,
69
- {
70
- ref,
71
- className: classNames("w-full", styles["model-select"], className),
72
- style,
73
- showArrow: false,
74
- suffix: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1 flex-shrink-0 text-[13px]", children: [
75
- /* @__PURE__ */ jsx(IconCozUpdate, {}),
76
- "选择模型"
77
- ] }),
78
- loading,
79
- disabled,
80
- value: value == null ? void 0 : value[valueKey],
81
- onChange: (v) => handleModelChange == null ? void 0 : handleModelChange(v),
82
- onListScroll: (e) => {
83
- const target = e.currentTarget;
84
- const isAtBottom = target.scrollHeight - target.scrollTop === target.clientHeight;
85
- if (!(modelListData == null ? void 0 : modelListData.hasMore) || !isAtBottom) {
86
- return;
87
- }
88
- loadMore == null ? void 0 : loadMore();
89
- },
90
- placeholder: "请选择模型",
91
- renderSelectedItem: (item) => /* @__PURE__ */ jsx(ModelSelectItem, { item: item["data-item"] || value }),
92
- dropdownClassName: styles["model-select-dropdown"],
93
- showTick: false,
94
- filter: (input, option) => {
95
- var _a;
96
- if (input && (option == null ? void 0 : option["data-item"])) {
97
- const item = option["data-item"];
98
- return (_a = item == null ? void 0 : item.displayName) == null ? void 0 : _a.includes(input);
99
- }
100
- return true;
101
- },
102
- children: modelGroups.map((group) => {
103
- var _a, _b, _c, _d, _e, _f;
104
- return /* @__PURE__ */ jsx(
105
- Select.OptGroup,
106
- {
107
- label: `${(_b = (_a = group[0]) == null ? void 0 : _a.commercialModelSeries) == null ? void 0 : _b.seriesName} | ${((_d = (_c = group[0]) == null ? void 0 : _c.commercialModelSeries) == null ? void 0 : _d.modelVendor) ? `由${(_f = (_e = group[0]) == null ? void 0 : _e.commercialModelSeries) == null ? void 0 : _f.modelVendor}提供` : ""}`,
108
- children: group.map(
109
- (item) => optionCustomRender ? optionCustomRender(item) : /* @__PURE__ */ jsx(
110
- Select.Option,
111
- {
112
- value: item == null ? void 0 : item[valueKey],
113
- "data-item": item,
114
- disabled: item.disabled,
115
- children: /* @__PURE__ */ jsx(
116
- ModelOption,
117
- {
118
- model: item,
119
- selected: (value == null ? void 0 : value[valueKey]) === (item == null ? void 0 : item[valueKey]),
120
- disabled: item.disabled
121
- },
122
- item == null ? void 0 : item[valueKey]
123
- )
124
- },
125
- item == null ? void 0 : item[valueKey]
126
- )
127
- )
128
- }
129
- );
130
- })
131
- }
132
- );
133
- }
134
- export {
135
- ModelSelect
136
- };
@@ -1,5 +0,0 @@
1
- import "./index_module.css";
2
- var index_module_default = { "model-select-dropdown": "model-select-dropdown_98ab9", "model-select": "model-select_98ab9" };
3
- export {
4
- index_module_default as default
5
- };
@@ -1,14 +0,0 @@
1
- /* stylelint-disable declaration-no-important */
2
- .model-select-dropdown_98ab9 .semi-select-option-list {
3
- max-height: 390px !important;
4
- }
5
- .model-select-dropdown_98ab9 .semi-select-group {
6
- padding-left: 16px !important;
7
- }
8
- .model-select-dropdown_98ab9 .coz-select-option-item {
9
- background: transparent !important;
10
- }
11
- .model-select_98ab9 .semi-select-suffix {
12
- flex-shrink: 0;
13
- padding-left: 4px;
14
- }
@@ -1,161 +0,0 @@
1
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
2
- var __hasOwnProp = Object.prototype.hasOwnProperty;
3
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
4
- var __objRest = (source, exclude) => {
5
- var target = {};
6
- for (var prop in source)
7
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
8
- target[prop] = source[prop];
9
- if (source != null && __getOwnPropSymbols)
10
- for (var prop of __getOwnPropSymbols(source)) {
11
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
12
- target[prop] = source[prop];
13
- }
14
- return target;
15
- };
16
- import { jsx, jsxs } from "react/jsx-runtime";
17
- import { useRef } from "react";
18
- import cls from "classnames";
19
- import { useHover } from "ahooks";
20
- import { IconCozDiamondFill } from "@coze-arch/coze-design/icons";
21
- import {
22
- Avatar,
23
- Space,
24
- Tag,
25
- Tooltip,
26
- Typography
27
- } from "@coze-arch/coze-design";
28
- import { renderModelOfflineTag } from "../../utils/model-config";
29
- import styles from "./index.module";
30
- function ModelOption(_a) {
31
- var _b = _a, {
32
- model,
33
- selected,
34
- disabled,
35
- onClick
36
- } = _b, props = __objRest(_b, [
37
- "model",
38
- "selected",
39
- "disabled",
40
- "onClick"
41
- ]);
42
- var _a2, _b2;
43
- const ref = useRef(null);
44
- const isHovering = useHover(ref);
45
- const modelTags = model.modelTags || [];
46
- const renderOverflow = (items) => (items == null ? void 0 : items.length) ? /* @__PURE__ */ jsx(
47
- Tooltip,
48
- {
49
- content: /* @__PURE__ */ jsx(Space, { wrap: true, spacing: 3, children: items == null ? void 0 : items.map((item) => /* @__PURE__ */ jsx(Tag, { children: item })) }),
50
- children: /* @__PURE__ */ jsxs(
51
- Tag,
52
- {
53
- style: { flex: "0 0 auto" },
54
- size: "mini",
55
- color: "primary",
56
- className: "!bg-transparent !border border-solid",
57
- children: [
58
- "+",
59
- items.length
60
- ]
61
- }
62
- )
63
- }
64
- ) : null;
65
- return /* @__PURE__ */ jsxs(
66
- "article",
67
- {
68
- ref,
69
- className: cls(
70
- "pl-[16px] pr-[12px] w-full relative",
71
- "flex gap-[16px] items-center rounded-[12px]",
72
- disabled ? "cursor-not-allowed" : "cursor-pointer",
73
- styles["model-option"],
74
- { [styles["model-option_selected"]]: selected }
75
- ),
76
- style: { minWidth: 480, maxWidth: 570 },
77
- onClick: () => {
78
- onClick == null ? void 0 : onClick();
79
- },
80
- children: [
81
- /* @__PURE__ */ jsx(
82
- Avatar,
83
- {
84
- className: "shrink-0 rounded-[6px] border border-solid coz-stroke-primary",
85
- shape: "square",
86
- src: model.modelIcon,
87
- size: "default"
88
- }
89
- ),
90
- /* @__PURE__ */ jsxs(
91
- "div",
92
- {
93
- className: cls(
94
- "h-[70px] py-[14px] w-full",
95
- "flex flex-col overflow-hidden",
96
- "border-0 border-b border-solid coz-stroke-primary",
97
- styles["model-info-border"]
98
- ),
99
- style: isHovering ? {
100
- mask: calcMaskStyle([
101
- props.enableConfig,
102
- props.enableJumpDetail
103
- ])
104
- } : void 0,
105
- children: [
106
- /* @__PURE__ */ jsxs("div", { className: "w-full flex items-center gap-[6px] overflow-hidden", children: [
107
- /* @__PURE__ */ jsx(Typography.Title, { fontSize: "14px", ellipsis: { showTooltip: true }, children: model.displayName }),
108
- /* @__PURE__ */ jsxs("div", { className: "shrink-0 flex gap-[6px]", children: [
109
- disabled ? /* @__PURE__ */ jsx("div", { className: "h-[16px] leading-[16px]", children: /* @__PURE__ */ jsx(IconCozDiamondFill, { className: "coz-fg-hglt text-[12px]" }) }) : null,
110
- ((_a2 = model.commercialModelStatusDetail) == null ? void 0 : _a2.isNewModel) ? /* @__PURE__ */ jsx(Tooltip, { content: "Pro 版用户专享", theme: "dark", children: /* @__PURE__ */ jsx(Tag, { size: "mini", color: "brand", children: "新模型" }) }) : null,
111
- ((_b2 = model.commercialModelStatusDetail) == null ? void 0 : _b2.isAdvancedModel) ? /* @__PURE__ */ jsx(Tooltip, { content: "专业版用户专享", theme: "dark", children: /* @__PURE__ */ jsx(Tag, { size: "mini", color: "blue", children: "高级" }) }) : null,
112
- renderModelOfflineTag(model),
113
- (modelTags == null ? void 0 : modelTags.length) ? /* @__PURE__ */ jsxs(Space, { spacing: 4, children: [
114
- modelTags.slice(0, 3).map((item) => /* @__PURE__ */ jsx(
115
- Tag,
116
- {
117
- size: "mini",
118
- color: "primary",
119
- className: "!bg-transparent !border border-solid coz-stroke-plus !rounded-[4px]",
120
- children: item
121
- },
122
- item
123
- )),
124
- renderOverflow(modelTags.slice(3))
125
- ] }) : null
126
- ] })
127
- ] }),
128
- /* @__PURE__ */ jsx(
129
- Typography.Text,
130
- {
131
- className: "mt-[4px] text-[12px] leading-[16px] coz-fg-secondary",
132
- ellipsis: { showTooltip: { opts: { theme: "dark" } } },
133
- children: model.description
134
- }
135
- )
136
- ]
137
- }
138
- )
139
- ]
140
- }
141
- );
142
- }
143
- function calcMaskStyle(buttonVisible) {
144
- const btnNum = buttonVisible.reduce(
145
- (prevNum, showBtn) => prevNum + (showBtn ? 1 : 0),
146
- 0
147
- );
148
- if (btnNum === 0) {
149
- return "none";
150
- }
151
- const BTN_WIDTH = 32;
152
- const BTN_GAP = 3;
153
- const PRESET_PADDING = 16;
154
- const MASK_WIDTH = 24;
155
- const gradientStart = btnNum * BTN_WIDTH + (btnNum - 1) * BTN_GAP + PRESET_PADDING;
156
- const gradientEnd = gradientStart + MASK_WIDTH;
157
- return `linear-gradient(to left, rgba(0,0,0,0), rgba(0,0,0,0) ${gradientStart}px, #fff ${gradientEnd}px)`;
158
- }
159
- export {
160
- ModelOption
161
- };
@@ -1,5 +0,0 @@
1
- import "./index_module.css";
2
- var index_module_default = { "model-option": "model-option_88e78", "model-info-border": "model-info-border_88e78", "model-option_selected": "model-option_selected_88e78" };
3
- export {
4
- index_module_default as default
5
- };
@@ -1,23 +0,0 @@
1
- /* stylelint-disable declaration-no-important */
2
- .model-option_88e78:hover {
3
- background-color: rgba(var(--coze-bg-5), var(--coze-bg-5-alpha));
4
- }
5
- .model-option_88e78:last-of-type .model-info-border_88e78,
6
- .model-option_88e78.model-option_selected_88e78 .model-info-border_88e78,
7
- .model-option_88e78:hover .model-info-border_88e78,
8
- .model-option_88e78:has( + .model-option_88e78.model-option_selected_88e78) .model-info-border_88e78,
9
- .model-option_88e78:has( + .model-option_88e78:hover) .model-info-border_88e78 {
10
- border-color: transparent;
11
- }
12
- .model-option_88e78 .coz-tag.coz-tag-mini {
13
- padding-right: 3px;
14
- padding-left: 3px;
15
- font-weight: 500;
16
- }
17
- .model-option_selected_88e78 {
18
- background-color: rgba(var(--coze-brand-1), var(--coze-brand-1-alpha));
19
- border: 0;
20
- }
21
- .model-option_selected_88e78:hover {
22
- background-color: rgba(var(--coze-brand-2), var(--coze-brand-2-alpha)) !important;
23
- }