@cozeloop/prompt-components 0.0.1

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 (149) hide show
  1. package/README.md +1 -0
  2. package/dist/es/basic-editor/custom-facet.js +9 -0
  3. package/dist/es/basic-editor/diff.js +138 -0
  4. package/dist/es/basic-editor/extensions/go-syntax.js +122 -0
  5. package/dist/es/basic-editor/extensions/go-template.js +16 -0
  6. package/dist/es/basic-editor/extensions/go-theme.js +1071 -0
  7. package/dist/es/basic-editor/extensions/jinja.js +80 -0
  8. package/dist/es/basic-editor/extensions/keymap.js +442 -0
  9. package/dist/es/basic-editor/extensions/language-support.js +12 -0
  10. package/dist/es/basic-editor/extensions/markdown.js +58 -0
  11. package/dist/es/basic-editor/extensions/search/dom/icon.js +250 -0
  12. package/dist/es/basic-editor/extensions/search/dom/match-count.js +33 -0
  13. package/dist/es/basic-editor/extensions/search/index.js +18 -0
  14. package/dist/es/basic-editor/extensions/search/panel.js +418 -0
  15. package/dist/es/basic-editor/extensions/search/theme.js +184 -0
  16. package/dist/es/basic-editor/extensions/validation.js +84 -0
  17. package/dist/es/basic-editor/extensions/validation.module.js +5 -0
  18. package/dist/es/basic-editor/extensions/validation_module.css +7 -0
  19. package/dist/es/basic-editor/extensions/variable.js +178 -0
  20. package/dist/es/basic-editor/index.js +171 -0
  21. package/dist/es/code-editor/code-editor.js +83 -0
  22. package/dist/es/code-editor/index.js +12 -0
  23. package/dist/es/code-editor/json-editor.js +157 -0
  24. package/dist/es/code-editor/raw-text-editor.js +46 -0
  25. package/dist/es/code-editor/text-editor.js +41 -0
  26. package/dist/es/code-editor/themes/coze-dark.js +112 -0
  27. package/dist/es/code-editor/themes/coze-light.js +118 -0
  28. package/dist/es/consts/index.js +12 -0
  29. package/dist/es/dev-layout/index.js +35 -0
  30. package/dist/es/index.js +66 -0
  31. package/dist/es/mermaid-diagram/index.js +148 -0
  32. package/dist/es/mermaid-diagram/index.module.js +5 -0
  33. package/dist/es/mermaid-diagram/index_module.css +4 -0
  34. package/dist/es/mermaid-diagram/use-svg-pan-zoom.js +49 -0
  35. package/dist/es/mermaid-diagram/utils.js +74 -0
  36. package/dist/es/model-config-editor/basic-type.js +73 -0
  37. package/dist/es/model-config-editor/index.module.js +5 -0
  38. package/dist/es/model-config-editor/index_module.css +8 -0
  39. package/dist/es/model-config-editor/model-config-form.js +130 -0
  40. package/dist/es/model-config-editor/popover-type.js +118 -0
  41. package/dist/es/model-select/index.js +136 -0
  42. package/dist/es/model-select/index.module.js +5 -0
  43. package/dist/es/model-select/index_module.css +14 -0
  44. package/dist/es/model-select/model-option/index.js +161 -0
  45. package/dist/es/model-select/model-option/index.module.js +5 -0
  46. package/dist/es/model-select/model-option/index_module.css +23 -0
  47. package/dist/es/model-select/model-option-group/index.js +44 -0
  48. package/dist/es/prompt-editor/index.js +188 -0
  49. package/dist/es/prompt-editor/index.module.js +5 -0
  50. package/dist/es/prompt-editor/index_module.css +71 -0
  51. package/dist/es/prompt-editor/message-type-select.js +74 -0
  52. package/dist/es/schema-editor/index.js +43 -0
  53. package/dist/es/utils/base.js +53 -0
  54. package/dist/es/utils/model-config.js +32 -0
  55. package/dist/lib/basic-editor/custom-facet.js +33 -0
  56. package/dist/lib/basic-editor/diff.js +167 -0
  57. package/dist/lib/basic-editor/extensions/go-syntax.js +146 -0
  58. package/dist/lib/basic-editor/extensions/go-template.js +50 -0
  59. package/dist/lib/basic-editor/extensions/go-theme.js +1091 -0
  60. package/dist/lib/basic-editor/extensions/jinja.js +100 -0
  61. package/dist/lib/basic-editor/extensions/keymap.js +465 -0
  62. package/dist/lib/basic-editor/extensions/language-support.js +32 -0
  63. package/dist/lib/basic-editor/extensions/markdown.js +78 -0
  64. package/dist/lib/basic-editor/extensions/search/dom/icon.js +291 -0
  65. package/dist/lib/basic-editor/extensions/search/dom/match-count.js +67 -0
  66. package/dist/lib/basic-editor/extensions/search/index.js +38 -0
  67. package/dist/lib/basic-editor/extensions/search/panel.js +429 -0
  68. package/dist/lib/basic-editor/extensions/search/theme.js +208 -0
  69. package/dist/lib/basic-editor/extensions/validation.js +118 -0
  70. package/dist/lib/basic-editor/extensions/validation.module.js +25 -0
  71. package/dist/lib/basic-editor/extensions/validation_module.css +7 -0
  72. package/dist/lib/basic-editor/extensions/variable.js +190 -0
  73. package/dist/lib/basic-editor/index.js +193 -0
  74. package/dist/lib/code-editor/code-editor.js +117 -0
  75. package/dist/lib/code-editor/index.js +40 -0
  76. package/dist/lib/code-editor/json-editor.js +184 -0
  77. package/dist/lib/code-editor/raw-text-editor.js +70 -0
  78. package/dist/lib/code-editor/text-editor.js +75 -0
  79. package/dist/lib/code-editor/themes/coze-dark.js +136 -0
  80. package/dist/lib/code-editor/themes/coze-light.js +142 -0
  81. package/dist/lib/consts/index.js +38 -0
  82. package/dist/lib/dev-layout/index.js +69 -0
  83. package/dist/lib/index.js +110 -0
  84. package/dist/lib/mermaid-diagram/index.js +174 -0
  85. package/dist/lib/mermaid-diagram/index.module.js +25 -0
  86. package/dist/lib/mermaid-diagram/index_module.css +4 -0
  87. package/dist/lib/mermaid-diagram/use-svg-pan-zoom.js +83 -0
  88. package/dist/lib/mermaid-diagram/utils.js +98 -0
  89. package/dist/lib/model-config-editor/basic-type.js +105 -0
  90. package/dist/lib/model-config-editor/index.module.js +25 -0
  91. package/dist/lib/model-config-editor/index_module.css +8 -0
  92. package/dist/lib/model-config-editor/model-config-form.js +149 -0
  93. package/dist/lib/model-config-editor/popover-type.js +145 -0
  94. package/dist/lib/model-select/index.js +170 -0
  95. package/dist/lib/model-select/index.module.js +25 -0
  96. package/dist/lib/model-select/index_module.css +14 -0
  97. package/dist/lib/model-select/model-option/index.js +188 -0
  98. package/dist/lib/model-select/model-option/index.module.js +25 -0
  99. package/dist/lib/model-select/model-option/index_module.css +23 -0
  100. package/dist/lib/model-select/model-option-group/index.js +75 -0
  101. package/dist/lib/prompt-editor/index.js +218 -0
  102. package/dist/lib/prompt-editor/index.module.js +25 -0
  103. package/dist/lib/prompt-editor/index_module.css +71 -0
  104. package/dist/lib/prompt-editor/message-type-select.js +108 -0
  105. package/dist/lib/schema-editor/index.js +77 -0
  106. package/dist/lib/utils/base.js +82 -0
  107. package/dist/lib/utils/model-config.js +57 -0
  108. package/dist/types/basic-editor/custom-facet.d.ts +2 -0
  109. package/dist/types/basic-editor/diff.d.ts +15 -0
  110. package/dist/types/basic-editor/extensions/go-syntax.d.ts +71 -0
  111. package/dist/types/basic-editor/extensions/go-template.d.ts +1 -0
  112. package/dist/types/basic-editor/extensions/go-theme.d.ts +2 -0
  113. package/dist/types/basic-editor/extensions/jinja.d.ts +6 -0
  114. package/dist/types/basic-editor/extensions/keymap.d.ts +4 -0
  115. package/dist/types/basic-editor/extensions/language-support.d.ts +2 -0
  116. package/dist/types/basic-editor/extensions/markdown.d.ts +2 -0
  117. package/dist/types/basic-editor/extensions/search/dom/icon.d.ts +59 -0
  118. package/dist/types/basic-editor/extensions/search/dom/match-count.d.ts +14 -0
  119. package/dist/types/basic-editor/extensions/search/index.d.ts +1 -0
  120. package/dist/types/basic-editor/extensions/search/panel.d.ts +32 -0
  121. package/dist/types/basic-editor/extensions/search/theme.d.ts +1 -0
  122. package/dist/types/basic-editor/extensions/validation.d.ts +10 -0
  123. package/dist/types/basic-editor/extensions/variable.d.ts +14 -0
  124. package/dist/types/basic-editor/index.d.ts +28 -0
  125. package/dist/types/code-editor/code-editor.d.ts +23 -0
  126. package/dist/types/code-editor/index.d.ts +5 -0
  127. package/dist/types/code-editor/json-editor.d.ts +17 -0
  128. package/dist/types/code-editor/raw-text-editor.d.ts +11 -0
  129. package/dist/types/code-editor/text-editor.d.ts +23 -0
  130. package/dist/types/code-editor/themes/coze-dark.d.ts +1 -0
  131. package/dist/types/code-editor/themes/coze-light.d.ts +1 -0
  132. package/dist/types/consts/index.d.ts +3 -0
  133. package/dist/types/dev-layout/index.d.ts +13 -0
  134. package/dist/types/index.d.ts +19 -0
  135. package/dist/types/mermaid-diagram/index.d.ts +12 -0
  136. package/dist/types/mermaid-diagram/use-svg-pan-zoom.d.ts +17 -0
  137. package/dist/types/mermaid-diagram/utils.d.ts +1 -0
  138. package/dist/types/model-config-editor/basic-type.d.ts +19 -0
  139. package/dist/types/model-config-editor/model-config-form.d.ts +14 -0
  140. package/dist/types/model-config-editor/popover-type.d.ts +25 -0
  141. package/dist/types/model-select/index.d.ts +38 -0
  142. package/dist/types/model-select/model-option/index.d.ts +30 -0
  143. package/dist/types/model-select/model-option-group/index.d.ts +15 -0
  144. package/dist/types/prompt-editor/index.d.ts +30 -0
  145. package/dist/types/prompt-editor/message-type-select.d.ts +16 -0
  146. package/dist/types/schema-editor/index.d.ts +18 -0
  147. package/dist/types/utils/base.d.ts +10 -0
  148. package/dist/types/utils/model-config.d.ts +4 -0
  149. package/package.json +75 -0
@@ -0,0 +1,44 @@
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import cls from "classnames";
3
+ import {
4
+ IconCozQuestionMarkCircle,
5
+ IconCozStarFill
6
+ } from "@coze-arch/coze-design/icons";
7
+ import { Avatar, Divider, Tooltip } from "@coze-arch/coze-design";
8
+ function ModelOptionGroup(props) {
9
+ const questionMark = (props == null ? void 0 : props.tooltip) ? /* @__PURE__ */ jsx(Tooltip, { content: props == null ? void 0 : props.tooltip, theme: "dark", children: /* @__PURE__ */ jsx(IconCozQuestionMarkCircle, { className: "cursor-pointer coz-fg-secondary" }) }) : null;
10
+ return /* @__PURE__ */ jsx("div", { className: "pb-[2px]", children: props.type === "new" ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-[4px] coz-fg-hglt", children: [
11
+ /* @__PURE__ */ jsx(IconCozStarFill, {}),
12
+ /* @__PURE__ */ jsx("span", { className: "text-[12px] leading-[16px]", children: props.seriesName }),
13
+ questionMark
14
+ ] }) : /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-[6px]", children: [
15
+ /* @__PURE__ */ jsx(
16
+ Avatar,
17
+ {
18
+ shape: "square",
19
+ className: "w-[14px] h-[14px] rounded-[3px] !cursor-default border border-solid coz-stroke-primary",
20
+ src: props.icon
21
+ }
22
+ ),
23
+ /* @__PURE__ */ jsxs(
24
+ "div",
25
+ {
26
+ className: cls(
27
+ "flex items-center gap-[4px]",
28
+ "text-[12px] leading-[16px]"
29
+ ),
30
+ children: [
31
+ /* @__PURE__ */ jsx("span", { className: "coz-fg-secondary", children: props.seriesName }),
32
+ questionMark,
33
+ props.desc ? /* @__PURE__ */ jsxs(Fragment, { children: [
34
+ /* @__PURE__ */ jsx(Divider, { layout: "vertical" }),
35
+ /* @__PURE__ */ jsx("span", { className: "coz-fg-dim", children: props.desc })
36
+ ] }) : null
37
+ ]
38
+ }
39
+ )
40
+ ] }) });
41
+ }
42
+ export {
43
+ ModelOptionGroup
44
+ };
@@ -0,0 +1,188 @@
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 { forwardRef, useState } from "react";
34
+ import cn from "classnames";
35
+ import { flow_devops_prompt_common } from "@flow-infra/idl/prompt_api";
36
+ import { IconCozHandle } from "@coze-arch/coze-design/icons";
37
+ import { IconButton, Input, Space } from "@coze-arch/coze-design";
38
+ import { VARIABLE_MAX_LEN } from "../consts";
39
+ import {
40
+ PromptBasicEditor
41
+ } from "../basic-editor";
42
+ import { MessageTypeSelect } from "./message-type-select";
43
+ import styles from "./index.module";
44
+ const PromptEditor = forwardRef(
45
+ (_a, ref) => {
46
+ var _b = _a, {
47
+ className,
48
+ message,
49
+ dragBtnHidden,
50
+ messageTypeDisabled,
51
+ variables,
52
+ disabled,
53
+ isDrag,
54
+ onMessageChange,
55
+ onMessageTypeChange,
56
+ placeholder,
57
+ messageTypeList,
58
+ leftActionBtns,
59
+ rightActionBtns,
60
+ children,
61
+ hideActionWrap,
62
+ isFullscreen
63
+ } = _b, rest = __objRest(_b, [
64
+ "className",
65
+ "message",
66
+ "dragBtnHidden",
67
+ "messageTypeDisabled",
68
+ "variables",
69
+ "disabled",
70
+ "isDrag",
71
+ "onMessageChange",
72
+ "onMessageTypeChange",
73
+ "placeholder",
74
+ "messageTypeList",
75
+ "leftActionBtns",
76
+ "rightActionBtns",
77
+ "children",
78
+ "hideActionWrap",
79
+ "isFullscreen"
80
+ ]);
81
+ const [editorActive, setEditorActive] = useState(false);
82
+ const handleMessageContentChange = (v) => {
83
+ onMessageChange == null ? void 0 : onMessageChange(__spreadProps(__spreadValues({}, message), { content: v }));
84
+ };
85
+ const readonly = disabled || isDrag;
86
+ return /* @__PURE__ */ jsxs(
87
+ "div",
88
+ {
89
+ className: cn(
90
+ styles["prompt-editor-container"],
91
+ {
92
+ [styles["prompt-editor-container-active"]]: editorActive,
93
+ [styles["prompt-editor-container-disabled"]]: disabled,
94
+ [styles["full-screen"]]: isFullscreen
95
+ },
96
+ className
97
+ ),
98
+ children: [
99
+ hideActionWrap ? null : /* @__PURE__ */ jsxs("div", { className: styles.header, children: [
100
+ /* @__PURE__ */ jsxs(Space, { spacing: 2, children: [
101
+ dragBtnHidden ? null : /* @__PURE__ */ jsx(
102
+ IconButton,
103
+ {
104
+ color: "secondary",
105
+ size: "mini",
106
+ icon: /* @__PURE__ */ jsx(IconCozHandle, { fontSize: 14 }),
107
+ className: cn("drag !w-[14px]", styles["drag-btn"])
108
+ }
109
+ ),
110
+ (message == null ? void 0 : message.message_type) ? /* @__PURE__ */ jsx(
111
+ MessageTypeSelect,
112
+ {
113
+ value: message.message_type,
114
+ onChange: onMessageTypeChange,
115
+ disabled: messageTypeDisabled || readonly,
116
+ messageTypeList
117
+ }
118
+ ) : null,
119
+ leftActionBtns
120
+ ] }),
121
+ rightActionBtns
122
+ ] }),
123
+ /* @__PURE__ */ jsx(
124
+ "div",
125
+ {
126
+ className: cn("w-full overflow-y-auto styled-scrollbar", {
127
+ "py-1": (message == null ? void 0 : message.message_type) !== flow_devops_prompt_common.MessageType.Placeholder
128
+ }),
129
+ children: (message == null ? void 0 : message.message_type) === flow_devops_prompt_common.MessageType.Placeholder ? /* @__PURE__ */ jsx(
130
+ Input,
131
+ {
132
+ value: message.content,
133
+ onChange: handleMessageContentChange,
134
+ borderless: true,
135
+ disabled: readonly,
136
+ style: { border: 0, borderRadius: 0 },
137
+ onInput: (event) => {
138
+ const target = event.target;
139
+ if (target) {
140
+ let { value } = target;
141
+ if (value === "") {
142
+ return;
143
+ }
144
+ if (!/^[A-Za-z]/.test(value)) {
145
+ value = value.slice(1);
146
+ }
147
+ value = value.replace(/[^A-Za-z0-9_]/g, "");
148
+ target.value = value;
149
+ }
150
+ },
151
+ maxLength: VARIABLE_MAX_LEN,
152
+ max: 50,
153
+ className: "!pl-3 font-sm",
154
+ inputStyle: {
155
+ fontSize: 13,
156
+ color: "var(--Green-COZColorGreen7, #00A136)",
157
+ fontFamily: "JetBrainsMonoRegular"
158
+ },
159
+ onFocus: () => setEditorActive(true),
160
+ onBlur: () => setEditorActive(false),
161
+ placeholder: "支持输入英文字母和下划线,且首字母必须是字母"
162
+ },
163
+ message.key || message.id
164
+ ) : /* @__PURE__ */ jsx(
165
+ PromptBasicEditor,
166
+ __spreadProps(__spreadValues({}, rest), {
167
+ defaultValue: message == null ? void 0 : message.content,
168
+ onChange: handleMessageContentChange,
169
+ variables,
170
+ readOnly: readonly,
171
+ linePlaceholder: placeholder,
172
+ onFocus: () => setEditorActive(true),
173
+ onBlur: () => setEditorActive(false),
174
+ ref,
175
+ children
176
+ }),
177
+ (message == null ? void 0 : message.key) || (message == null ? void 0 : message.id)
178
+ )
179
+ }
180
+ )
181
+ ]
182
+ }
183
+ );
184
+ }
185
+ );
186
+ export {
187
+ PromptEditor
188
+ };
@@ -0,0 +1,5 @@
1
+ import "./index_module.css";
2
+ var index_module_default = { "prompt-editor-container": "prompt-editor-container_8d7ff", "header": "header_8d7ff", "drag-btn": "drag-btn_8d7ff", "prompt-editor-container-error": "prompt-editor-container-error_8d7ff", "prompt-editor-btn-group": "prompt-editor-btn-group_8d7ff", "prompt-editor-container-active": "prompt-editor-container-active_8d7ff", "prompt-editor-container-disabled": "prompt-editor-container-disabled_8d7ff", "role-display": "role-display_8d7ff", "full-screen": "full-screen_8d7ff" };
3
+ export {
4
+ index_module_default as default
5
+ };
@@ -0,0 +1,71 @@
1
+ /* stylelint-disable font-family-no-missing-generic-family-keyword */
2
+ /* stylelint-disable declaration-no-important */
3
+ .prompt-editor-container_8d7ff {
4
+ position: relative;
5
+ display: flex;
6
+ flex-direction: column;
7
+ align-items: flex-start;
8
+ align-self: stretch;
9
+ background: var(--Bg-COZ-bg-max, #FFF);
10
+ border: 1px solid var(--Stroke-COZ-stroke-plus, rgba(68, 83, 130, 0.25));
11
+ border-radius: var(--Radius-Default, 6px);
12
+ }
13
+ .prompt-editor-container_8d7ff .header_8d7ff {
14
+ display: flex;
15
+ align-items: center;
16
+ justify-content: space-between;
17
+ box-sizing: border-box;
18
+ width: 100%;
19
+ height: 36px;
20
+ padding: 12px 8px;
21
+ border-bottom: 1px solid var(--Stroke-COZ-stroke-primary, rgba(82, 100, 154, 0.13));
22
+ }
23
+ .prompt-editor-container_8d7ff .header_8d7ff .drag-btn_8d7ff {
24
+ color: var(--coz-fg-dim);
25
+ }
26
+ .prompt-editor-container_8d7ff .header_8d7ff .drag-btn_8d7ff:hover {
27
+ color: var(--coz-fg-secondary);
28
+ }
29
+ .prompt-editor-container-error_8d7ff {
30
+ border: 1px solid var(--Red-COZ-red-500, #F54A45);
31
+ }
32
+ .prompt-editor-container_8d7ff .prompt-editor-btn-group_8d7ff {
33
+ display: none;
34
+ transition: all 0.2s ease-in-out;
35
+ }
36
+ .prompt-editor-container_8d7ff input::placeholder {
37
+ font-family: JetBrainsMonoBold !important;
38
+ font-size: 13px !important;
39
+ }
40
+ .prompt-editor-container_8d7ff .cm-scroller {
41
+ scrollbar-gutter: stable;
42
+ }
43
+ .prompt-editor-container_8d7ff .cm-scroller::-webkit-scrollbar-thumb {
44
+ visibility: hidden;
45
+ }
46
+ .prompt-editor-container-active_8d7ff {
47
+ border: 1px solid rgba(var(--coze-up-brand-9), 1);
48
+ }
49
+ .prompt-editor-container-active_8d7ff .cm-scroller::-webkit-scrollbar-thumb {
50
+ visibility: visible;
51
+ }
52
+ .prompt-editor-container-disabled_8d7ff {
53
+ background: var(--coz-bg-primary, #F7F7FC);
54
+ }
55
+ .prompt-editor-container_8d7ff:hover .prompt-editor-btn-group_8d7ff {
56
+ display: flex;
57
+ }
58
+ .prompt-editor-container_8d7ff:hover .cm-scroller::-webkit-scrollbar-thumb {
59
+ visibility: visible;
60
+ }
61
+ .role-display_8d7ff {
62
+ color: var(--Fg-COZ-fg-dim, rgba(55, 67, 106, 0.38)) !important;
63
+ }
64
+ .full-screen_8d7ff {
65
+ position: fixed !important;
66
+ z-index: 1000;
67
+ inset: 0 !important;
68
+ width: 100% !important;
69
+ height: 100% !important;
70
+ background-color: var(--semi-color-bg-0);
71
+ }
@@ -0,0 +1,74 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import cn from "classnames";
4
+ import { IconCozNodeExpand } from "@coze-arch/coze-design/icons";
5
+ import { Button, Menu, Typography } from "@coze-arch/coze-design";
6
+ import styles from "./index.module";
7
+ function MessageTypeSelect({
8
+ value,
9
+ onChange,
10
+ disabled,
11
+ messageTypeList = []
12
+ }) {
13
+ var _a, _b, _c, _d;
14
+ const [visible, setVisible] = useState(false);
15
+ if (disabled) {
16
+ return /* @__PURE__ */ jsx(
17
+ Typography.Text,
18
+ {
19
+ size: "small",
20
+ type: "tertiary",
21
+ className: cn("px-2", styles["role-display"], "variable-text"),
22
+ children: (_b = ((_a = messageTypeList.find((it) => it.value === value)) == null ? void 0 : _a.label) || value) != null ? _b : "-"
23
+ }
24
+ );
25
+ }
26
+ return /* @__PURE__ */ jsx(
27
+ Menu,
28
+ {
29
+ visible,
30
+ trigger: "custom",
31
+ position: "bottomLeft",
32
+ showTick: false,
33
+ render: /* @__PURE__ */ jsx(
34
+ Menu.SubMenu,
35
+ {
36
+ mode: "selection",
37
+ selectedKeys: [`${value}`],
38
+ onSelectionChange: (v) => {
39
+ onChange == null ? void 0 : onChange(Number(v));
40
+ setVisible(false);
41
+ },
42
+ children: messageTypeList == null ? void 0 : messageTypeList.map((it) => /* @__PURE__ */ jsx(
43
+ Menu.Item,
44
+ {
45
+ itemKey: `${it.value}`,
46
+ className: cn("!px-2", {
47
+ "coz-mg-primary": `${it}` === `${value}`
48
+ }),
49
+ children: /* @__PURE__ */ jsx(Typography.Text, { className: "variable-text", children: it.label })
50
+ },
51
+ it.value
52
+ ))
53
+ }
54
+ ),
55
+ onClickOutSide: () => setVisible(false),
56
+ children: /* @__PURE__ */ jsxs(
57
+ Button,
58
+ {
59
+ size: "mini",
60
+ color: "secondary",
61
+ onClick: () => setVisible(true),
62
+ className: cn(styles["role-display"], "variable-text"),
63
+ children: [
64
+ (_d = ((_c = messageTypeList.find((it) => it.value === value)) == null ? void 0 : _c.label) || value) != null ? _d : "-",
65
+ /* @__PURE__ */ jsx(IconCozNodeExpand, { className: "ml-0.5" })
66
+ ]
67
+ }
68
+ )
69
+ }
70
+ );
71
+ }
72
+ export {
73
+ MessageTypeSelect
74
+ };
@@ -0,0 +1,43 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import classNames from "classnames";
3
+ import { BaseJsonEditor, BaseRawTextEditor } from "../code-editor";
4
+ const SchemaEditor = ({
5
+ value,
6
+ onChange,
7
+ placeholder,
8
+ readOnly,
9
+ language,
10
+ className
11
+ }) => /* @__PURE__ */ jsx(
12
+ "div",
13
+ {
14
+ className: classNames(
15
+ "w-full h-[500px] border border-solid coz-stroke-primary rounded-[4px] overflow-hidden relative bg-white",
16
+ { "opacity-70": readOnly },
17
+ className
18
+ ),
19
+ children: language === "json" ? /* @__PURE__ */ jsx(
20
+ BaseJsonEditor,
21
+ {
22
+ className: "w-full h-full overflow-y-auto",
23
+ onChange,
24
+ value: value || "",
25
+ placeholder,
26
+ readonly: readOnly,
27
+ borderRadius: 4
28
+ }
29
+ ) : /* @__PURE__ */ jsx(
30
+ BaseRawTextEditor,
31
+ {
32
+ className: "w-full h-full overflow-y-auto",
33
+ onChange,
34
+ value: value || "",
35
+ placeholder,
36
+ readonly: readOnly
37
+ }
38
+ )
39
+ }
40
+ );
41
+ export {
42
+ SchemaEditor
43
+ };
@@ -0,0 +1,53 @@
1
+ import { uniqueId } from "lodash-es";
2
+ const safeParseJson = (jsonString, fallback) => {
3
+ try {
4
+ if (jsonString) {
5
+ return JSON.parse(jsonString);
6
+ }
7
+ } catch (e) {
8
+ return fallback;
9
+ }
10
+ };
11
+ const HEIGHT_BUFFER = 20;
12
+ const handleScrollToBottom = (e, callback) => {
13
+ const { scrollTop, clientHeight, scrollHeight } = e.currentTarget;
14
+ if (scrollTop + clientHeight + HEIGHT_BUFFER >= scrollHeight) {
15
+ callback();
16
+ }
17
+ };
18
+ function sleep(timer = 600) {
19
+ return new Promise((resolve) => {
20
+ setTimeout(() => resolve(), timer);
21
+ });
22
+ }
23
+ const messageId = () => {
24
+ const date = /* @__PURE__ */ new Date();
25
+ return date.getTime() + uniqueId();
26
+ };
27
+ const thousand = 1e3;
28
+ const convertNumberToThousands = (num) => {
29
+ if (!num) {
30
+ return 0;
31
+ }
32
+ const number = Number(num);
33
+ if (number < thousand) {
34
+ return number;
35
+ } else {
36
+ return `${(number / thousand).toFixed(1)} K`;
37
+ }
38
+ };
39
+ function recordToArray(record) {
40
+ return Object.entries(record).map(([key, value]) => ({
41
+ label: key,
42
+ value
43
+ // 将值转换为字符串,如果值为 undefined 则不设置
44
+ }));
45
+ }
46
+ export {
47
+ convertNumberToThousands,
48
+ handleScrollToBottom,
49
+ messageId,
50
+ recordToArray,
51
+ safeParseJson,
52
+ sleep
53
+ };
@@ -0,0 +1,32 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { ModelStatus } from "@flow-infra/idl/fornax_ml_flow";
3
+ import { Tag } from "@coze-arch/coze-design";
4
+ import { convertInt64ToNumber } from "../model-config-editor/model-config-form";
5
+ import { DEFAULT_MAX_TOKENS } from "../consts";
6
+ const convertModelToModelConfig = (model) => {
7
+ var _a, _b, _c, _d;
8
+ return {
9
+ id: model == null ? void 0 : model.id,
10
+ name: model == null ? void 0 : model.displayName,
11
+ provider: model == null ? void 0 : model.provider,
12
+ provider_model_id: model == null ? void 0 : model.identification,
13
+ temperature: convertInt64ToNumber((_a = model == null ? void 0 : model.defaultRuntimeParam) == null ? void 0 : _a.temperature),
14
+ max_tokens: convertInt64ToNumber(
15
+ ((_b = model == null ? void 0 : model.defaultRuntimeParam) == null ? void 0 : _b.maxTokens) || DEFAULT_MAX_TOKENS
16
+ ),
17
+ top_p: convertInt64ToNumber((_c = model == null ? void 0 : model.defaultRuntimeParam) == null ? void 0 : _c.topP),
18
+ function_call_mode: (_d = model == null ? void 0 : model.ability) == null ? void 0 : _d.functionCallEnabled
19
+ };
20
+ };
21
+ const renderModelOfflineTag = (model) => {
22
+ if ((model == null ? void 0 : model.modelStatus) === ModelStatus.Offlining) {
23
+ return /* @__PURE__ */ jsx(Tag, { color: "yellow", className: "flex-shrink-0", size: "mini", children: "下线中" });
24
+ } else if ((model == null ? void 0 : model.modelStatus) === ModelStatus.Unavailable) {
25
+ return /* @__PURE__ */ jsx(Tag, { color: "red", className: "flex-shrink-0", size: "mini", children: "已下线" });
26
+ }
27
+ return null;
28
+ };
29
+ export {
30
+ convertModelToModelConfig,
31
+ renderModelOfflineTag
32
+ };
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var custom_facet_exports = {};
20
+ __export(custom_facet_exports, {
21
+ cunstomFacet: () => cunstomFacet
22
+ });
23
+ module.exports = __toCommonJS(custom_facet_exports);
24
+ var import_state = require("@codemirror/state");
25
+ const cunstomFacet = import_state.Facet.define({
26
+ combine(values) {
27
+ return values[values.length - 1];
28
+ }
29
+ });
30
+ // Annotate the CommonJS export names for ESM import in node:
31
+ 0 && (module.exports = {
32
+ cunstomFacet
33
+ });