@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,17 @@
1
+ import React from 'react';
2
+ interface BaseJsonEditorProps {
3
+ value: string;
4
+ onChange?: (value: string) => void;
5
+ className?: string;
6
+ dataTestID?: string;
7
+ placeholder?: string | HTMLElement;
8
+ isDarkTheme?: boolean;
9
+ readonly?: boolean;
10
+ minHeight?: string | number;
11
+ maxHeight?: string | number;
12
+ editerHeight?: string | number;
13
+ padding?: string | number;
14
+ borderRadius?: string | number;
15
+ }
16
+ export declare const BaseJsonEditor: React.ForwardRefExoticComponent<BaseJsonEditorProps & React.RefAttributes<unknown>>;
17
+ export {};
@@ -0,0 +1,11 @@
1
+ interface RawTextEditorProps {
2
+ value: string;
3
+ onChange?: (value?: string) => void;
4
+ className?: string;
5
+ readonly?: boolean;
6
+ dataTestID?: string;
7
+ placeholder?: string | HTMLElement;
8
+ minHeight?: string | number;
9
+ }
10
+ export declare const BaseRawTextEditor: import("react").ForwardRefExoticComponent<RawTextEditorProps & import("react").RefAttributes<HTMLDivElement>>;
11
+ export {};
@@ -0,0 +1,23 @@
1
+ export declare const TextEditor: (props: import("@coze-editor/editor/react").InferRendererProps<(import("@coze-editor/editor/react").ExtensionPluginSpec | import("@coze-editor/editor/react").OptionPluginSpec<"fontSize", number> | import("@coze-editor/editor/react").OptionPluginSpec<"placeholder", string | HTMLElement> | import("@coze-editor/editor/react").OptionPluginSpec<"readOnly", boolean> | import("@coze-editor/editor/react").OptionPluginSpec<"editable", boolean> | import("@coze-editor/editor/react").EventPluginSpec<"focus", symbol> | import("@coze-editor/editor/react").EventPluginSpec<"blur", symbol> | import("@coze-editor/editor/react").DOMEventHandlerPluginSpec<"mousedown"> | import("@coze-editor/editor/react").DOMEventHandlerPluginSpec<"mouseup"> | import("@coze-editor/editor/react").APIPluginSpec<"getValue", [], string> | import("@coze-editor/editor/react").APIPluginSpec<"focus", [], void> | import("@coze-editor/editor/react").APIPluginSpec<"blur", [], void> | import("@coze-editor/editor/react").APIPluginSpec<"getCursorPosition", [], number> | import("@coze-editor/editor/react").OptionPluginSpec<"minHeight", string | number> | import("@coze-editor/editor/react").OptionPluginSpec<"maxHeight", string | number> | import("@coze-editor/editor/react").OptionPluginSpec<"height", string | number> | import("@coze-editor/editor/react").APIPluginSpec<"undo", [], void> | import("@coze-editor/editor/react").APIPluginSpec<"redo", [], void> | import("@coze-editor/editor/react").OptionPluginSpec<"lineHeight", string | number | undefined> | import("@coze-editor/editor/react").OptionPluginSpec<"lineWrapping", boolean> | import("@coze-editor/editor/react").APIPluginSpec<"updateASTDecorations", [], void> | import("@coze-editor/editor/react").APIPluginSpec<"setValue", [value: string], void> | import("@coze-editor/editor/react").APIPluginSpec<"replaceText", [options: {
2
+ from: number;
3
+ to: number;
4
+ text: string;
5
+ cursorOffset?: number;
6
+ scrollIntoView?: boolean;
7
+ userEvent?: string;
8
+ }], void> | import("@coze-editor/editor/react").APIPluginSpec<"setCursorPosition", [pos: number], void> | import("@coze-editor/editor/react").APIPluginSpec<"disableKeybindings", [keys: string[]], void> | import("@coze-editor/editor/react").APIPluginSpec<"transformTextInSelection", [transformer: (text: string) => string | undefined], void> | import("@coze-editor/editor/react").APIPluginSpec<"getSelection", [], {
9
+ from: number;
10
+ to: number;
11
+ anchor: number;
12
+ head: number;
13
+ }> | import("@coze-editor/editor/react").APIPluginSpec<"getLineInfoAtPosition", [pos: number], import("@codemirror/state").Line> | import("@coze-editor/editor/react").EventPluginSpec<"selectionChange", {
14
+ selection: {
15
+ from: number;
16
+ to: number;
17
+ head: number;
18
+ anchor: number;
19
+ };
20
+ update: import("@codemirror/view").ViewUpdate;
21
+ }> | import("@coze-editor/editor/react").EventPluginSpec<"change", {
22
+ value: string;
23
+ }>)[]>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const cozeDark: import("@codemirror/state").Extension[];
@@ -0,0 +1 @@
1
+ export declare const cozeLight: import("@codemirror/state").Extension[];
@@ -0,0 +1,3 @@
1
+ export declare const VARIABLE_MAX_LEN = 50;
2
+ export declare const modelConfigLabelMap: Record<string, string>;
3
+ export declare const DEFAULT_MAX_TOKENS = 4096;
@@ -0,0 +1,13 @@
1
+ export declare function DevLayout({
2
+ title,
3
+ actionBtns,
4
+ children,
5
+ className,
6
+ style
7
+ }: {
8
+ title: React.ReactNode;
9
+ actionBtns?: React.ReactNode;
10
+ children?: React.ReactNode;
11
+ className?: string;
12
+ style?: React.CSSProperties;
13
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,19 @@
1
+ export { PromptBasicEditor, type PromptBasicEditorProps, type PromptBasicEditorRef } from './basic-editor';
2
+ export { PromptEditor, type PromptEditorProps } from './prompt-editor';
3
+ export { PromptDiffEditor, type PromptDiffEditorRef } from './basic-editor/diff';
4
+ export { BaseJsonEditor, BaseRawTextEditor, EditorProvider } from './code-editor';
5
+ export { SchemaEditor } from './schema-editor';
6
+ export { ModelSelect } from './model-select';
7
+ export { BasicModelConfigEditor } from './model-config-editor/basic-type';
8
+ export { PopoverModelConfigEdiotr } from './model-config-editor/popover-type';
9
+ export { DevLayout } from './dev-layout';
10
+ export { type EditorAPI } from '@coze-editor/editor/preset-code';
11
+ export { useEditor, useInjector, useLatest } from '@coze-editor/editor/react';
12
+ import regexpDecorator, { updateRegexpDecorations } from '@coze-editor/extension-regexp-decorator';
13
+ export { regexpDecorator, updateRegexpDecorations };
14
+ export { Decoration, EditorView, WidgetType, keymap } from '@codemirror/view';
15
+ export { EditorSelection } from '@codemirror/state';
16
+ export { type Extension, Prec, StateEffect, StateField } from '@codemirror/state';
17
+ export { cunstomFacet } from './basic-editor/custom-facet';
18
+ export { insertFourSpaces, deleteMarkupBackward, insertNewlineContinueMarkup } from './basic-editor/extensions/keymap';
19
+ export { MermaidDiagram, type MermaidDiagramRef } from './mermaid-diagram';
@@ -0,0 +1,12 @@
1
+ export interface MermaidDiagramProps {
2
+ /** mermaid text */
3
+ chart: string;
4
+ className?: string;
5
+ }
6
+ export interface MermaidDiagramRef {
7
+ zoomIn: () => void;
8
+ zoomOut: () => void;
9
+ fit: () => void;
10
+ exportImg: () => Promise<void>;
11
+ }
12
+ export declare const MermaidDiagram: import("react").ForwardRefExoticComponent<MermaidDiagramProps & import("react").RefAttributes<MermaidDiagramRef>>;
@@ -0,0 +1,17 @@
1
+ interface UseSvgPanZoomParams {
2
+ svgSelector: string;
3
+ viewportSelector: string;
4
+ renderedChart: string;
5
+ zoomStepLength?: number;
6
+ }
7
+ export declare const useSvgPanZoom: ({
8
+ svgSelector,
9
+ viewportSelector,
10
+ renderedChart,
11
+ zoomStepLength
12
+ }: UseSvgPanZoomParams) => {
13
+ zoomIn: () => void;
14
+ zoomOut: () => void;
15
+ fit: () => void;
16
+ };
17
+ export {};
@@ -0,0 +1 @@
1
+ export declare const exportImage: (svgSelector: string) => Promise<void>;
@@ -0,0 +1,19 @@
1
+ import { type CSSProperties } from 'react';
2
+ import { type flow_devops_prompt_common } from '@flow-infra/idl/prompt_api';
3
+ import { type ModelSelectProps } from "../model-select";
4
+ export interface BasicModelConfigEditorProps {
5
+ className?: string;
6
+ style?: CSSProperties;
7
+ value?: flow_devops_prompt_common.ModelConfig;
8
+ disabled?: boolean;
9
+ modelSelectProps?: ModelSelectProps;
10
+ onChange?: (value?: flow_devops_prompt_common.ModelConfig) => void;
11
+ }
12
+ export declare function BasicModelConfigEditor({
13
+ className,
14
+ style,
15
+ value,
16
+ onChange,
17
+ disabled,
18
+ modelSelectProps
19
+ }: BasicModelConfigEditorProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,14 @@
1
+ import { type Model, type ModelParam } from '@flow-infra/idl/fornax_ml_flow';
2
+ import { type LabelProps } from '@coze-arch/coze-design';
3
+ export declare const convertInt64ToNumber: (v?: Int64) => number | undefined;
4
+ export declare const getInputSliderConfig: (key: string, modelParams: ModelParam[]) => {
5
+ min?: number;
6
+ max?: number;
7
+ defaultValue?: number;
8
+ label?: React.ReactNode | LabelProps;
9
+ };
10
+ export declare function ModelConfigForm({
11
+ model
12
+ }: {
13
+ model?: Model;
14
+ }): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,25 @@
1
+ import { type CSSProperties } from 'react';
2
+ import { type flow_devops_prompt_common } from '@flow-infra/idl/prompt_api';
3
+ import { type Model } from '@flow-infra/idl/fornax_ml_flow';
4
+ import { type PopoverProps } from '@coze-arch/coze-design';
5
+ import { type ModelSelectProps } from "../model-select";
6
+ interface ModelConfigPopoverProps {
7
+ value?: flow_devops_prompt_common.ModelConfig;
8
+ disabled?: boolean;
9
+ modelSelectProps?: ModelSelectProps;
10
+ popoverProps?: PopoverProps & {
11
+ wrapClassName?: string;
12
+ wrapStyle?: CSSProperties;
13
+ };
14
+ onChange?: (value?: flow_devops_prompt_common.ModelConfig) => void;
15
+ renderDisplayContent?: (model?: Model, isPopoverVisible?: boolean) => React.ReactNode;
16
+ }
17
+ export declare function PopoverModelConfigEdiotr({
18
+ value,
19
+ disabled,
20
+ modelSelectProps,
21
+ popoverProps,
22
+ onChange,
23
+ renderDisplayContent
24
+ }: ModelConfigPopoverProps): import("react/jsx-runtime").JSX.Element;
25
+ export {};
@@ -0,0 +1,38 @@
1
+ import { type CSSProperties } from 'react';
2
+ import { type Model, type Int64 } from '@flow-infra/idl/fornax_ml_flow';
3
+ interface ModelExtra extends Model {
4
+ disabled?: boolean;
5
+ }
6
+ interface ModelListDataProps {
7
+ list: ModelExtra[];
8
+ total?: Int64;
9
+ cursorID?: string;
10
+ hasMore?: boolean;
11
+ }
12
+ export interface ModelSelectProps {
13
+ className?: string;
14
+ style?: CSSProperties;
15
+ value?: Model;
16
+ disabled?: boolean;
17
+ defaultSelectFirstModel?: boolean;
18
+ modelListData?: ModelListDataProps;
19
+ loading?: boolean;
20
+ optionCustomRender?: (item: ModelExtra) => React.ReactNode;
21
+ onChange?: (v?: Model) => void;
22
+ loadMore?: () => void;
23
+ valueKey?: string;
24
+ }
25
+ export declare function ModelSelect({
26
+ className,
27
+ style,
28
+ value,
29
+ disabled,
30
+ defaultSelectFirstModel,
31
+ loading,
32
+ modelListData,
33
+ onChange,
34
+ loadMore,
35
+ optionCustomRender,
36
+ valueKey
37
+ }: ModelSelectProps): import("react/jsx-runtime").JSX.Element;
38
+ export {};
@@ -0,0 +1,30 @@
1
+ import { type Model } from '@flow-infra/idl/fornax_ml_flow';
2
+ export type ModelOptionProps = {
3
+ model: Model;
4
+ selected?: boolean;
5
+ disabled?: boolean;
6
+ /** 返回是否切换成功 */
7
+ onClick?: () => boolean;
8
+ } & ({
9
+ enableConfig?: false;
10
+ } | {
11
+ enableConfig: true;
12
+ onConfigClick: () => void;
13
+ }) & ({
14
+ enableJumpDetail?: false;
15
+ } | {
16
+ enableJumpDetail: true;
17
+ /**
18
+ * 点击跳转模型管理页面
19
+ *
20
+ * 因为该组件定位是纯 UI 组件,且不同模块 space id 获取的方式不尽相同,因此跳转行为和 url 的拼接就不内置了
21
+ */
22
+ onDetailClick: (modelId: string) => void;
23
+ });
24
+ export declare function ModelOption({
25
+ model,
26
+ selected,
27
+ disabled,
28
+ onClick,
29
+ ...props
30
+ }: ModelOptionProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,15 @@
1
+ import { type PropsWithChildren } from 'react';
2
+ export type ModelOptionGroupProps = {
3
+ /** 新模型专区 */
4
+ type: 'new';
5
+ seriesName?: string;
6
+ tooltip?: string;
7
+ } | {
8
+ /** 普通系列模型 */
9
+ type?: 'normal';
10
+ icon: string;
11
+ desc: string;
12
+ seriesName?: string;
13
+ tooltip?: string;
14
+ };
15
+ export declare function ModelOptionGroup(props: PropsWithChildren<ModelOptionGroupProps>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,30 @@
1
+ import { type ReactNode } from 'react';
2
+ import { flow_devops_prompt_common } from '@flow-infra/idl/prompt_api';
3
+ import { type PromptBasicEditorRef, type PromptBasicEditorProps } from '../basic-editor';
4
+ type PromptMessage = flow_devops_prompt_common.Message & {
5
+ key?: string;
6
+ optimize_key?: string;
7
+ };
8
+ type BasicEditorProps = Pick<PromptBasicEditorProps, 'variables' | 'height' | 'minHeight' | 'maxHeight' | 'forbidJinjaHighlight' | 'forbidVariables' | 'linePlaceholder' | 'isGoTemplate' | 'customExtensions' | 'canSearch' | 'isJinja2Template'>;
9
+ export interface PromptEditorProps extends BasicEditorProps {
10
+ className?: string;
11
+ message?: PromptMessage;
12
+ dragBtnHidden?: boolean;
13
+ messageTypeDisabled?: boolean;
14
+ disabled?: boolean;
15
+ isDrag?: boolean;
16
+ placeholder?: string;
17
+ messageTypeList?: Array<{
18
+ label: string;
19
+ value: number;
20
+ }>;
21
+ leftActionBtns?: ReactNode;
22
+ rightActionBtns?: ReactNode;
23
+ hideActionWrap?: boolean;
24
+ onMessageChange?: (v: PromptMessage) => void;
25
+ onMessageTypeChange?: (v: number) => void;
26
+ children?: ReactNode;
27
+ isFullscreen?: boolean;
28
+ }
29
+ export declare const PromptEditor: import("react").ForwardRefExoticComponent<PromptEditorProps & import("react").RefAttributes<PromptBasicEditorRef>>;
30
+ export {};
@@ -0,0 +1,16 @@
1
+ interface MessageTypeSelectProps {
2
+ value: number;
3
+ onChange?: (v: number) => void;
4
+ disabled?: boolean;
5
+ messageTypeList?: Array<{
6
+ label: string;
7
+ value: number;
8
+ }>;
9
+ }
10
+ export declare function MessageTypeSelect({
11
+ value,
12
+ onChange,
13
+ disabled,
14
+ messageTypeList
15
+ }: MessageTypeSelectProps): import("react/jsx-runtime").JSX.Element;
16
+ export {};
@@ -0,0 +1,18 @@
1
+ interface SchemaEditorProps {
2
+ value?: string;
3
+ readOnly?: boolean;
4
+ onChange?: (value?: string) => void;
5
+ language?: string;
6
+ placeholder?: string;
7
+ showLineNumbs?: boolean;
8
+ className?: string;
9
+ }
10
+ export declare const SchemaEditor: ({
11
+ value,
12
+ onChange,
13
+ placeholder,
14
+ readOnly,
15
+ language,
16
+ className
17
+ }: SchemaEditorProps) => import("react/jsx-runtime").JSX.Element;
18
+ export {};
@@ -0,0 +1,10 @@
1
+ import { type UIEventHandler } from 'react';
2
+ export declare const safeParseJson: <T>(jsonString?: string, fallback?: T) => T | undefined;
3
+ export declare const handleScrollToBottom: (e: Parameters<UIEventHandler>[0], callback: () => void) => void;
4
+ export declare function sleep(timer?: number): Promise<void>;
5
+ export declare const messageId: () => string;
6
+ export declare const convertNumberToThousands: (num?: Int64) => string | number;
7
+ export declare function recordToArray(record: Record<string, string>): {
8
+ label: string;
9
+ value?: string;
10
+ }[];
@@ -0,0 +1,4 @@
1
+ import { type flow_devops_prompt_common } from '@flow-infra/idl/prompt_api';
2
+ import { type Model } from '@flow-infra/idl/fornax_ml_flow';
3
+ export declare const convertModelToModelConfig: (model?: Model) => flow_devops_prompt_common.ModelConfig;
4
+ export declare const renderModelOfflineTag: (model?: Model) => import("react/jsx-runtime").JSX.Element | null;
package/package.json ADDED
@@ -0,0 +1,75 @@
1
+ {
2
+ "name": "@cozeloop/prompt-components",
3
+ "version": "0.0.1",
4
+ "description": "Prompt common components for cozeloop",
5
+ "author": "cozeloop",
6
+ "main": "./dist/lib/index.js",
7
+ "scripts": {
8
+ "build": "exit 0",
9
+ "lint": "eslint ./ --cache",
10
+ "pub": "node publish.js",
11
+ "test": "exit 0",
12
+ "test:cov": "exit 0"
13
+ },
14
+ "dependencies": {
15
+ "@codemirror/commands": "^6.3.3",
16
+ "@codemirror/language": "^6.10.1",
17
+ "@codemirror/merge": "^6.10.0",
18
+ "@codemirror/search": "^6.5.5",
19
+ "@codemirror/state": "^6.4.1",
20
+ "@codemirror/view": "^6.34.1",
21
+ "@coze-arch/coze-design": "0.0.6-alpha.101d0c",
22
+ "@coze-editor/editor": "0.1.0-alpha.dac011",
23
+ "@coze-editor/extension-regexp-decorator": "0.1.0-alpha.0fd19e",
24
+ "@cozeloop/components": "^0.0.1",
25
+ "@flow-web/md-box": "2.4.2",
26
+ "@lezer/common": "^1.2.2",
27
+ "@shikijs/themes": "^3.2.2",
28
+ "ahooks": "^3.7.8",
29
+ "classnames": "^2.3.2",
30
+ "codemirror-shiki": "^0.2.2",
31
+ "crelt": "^1.0.5",
32
+ "eventsource-parser": "^1.0.0",
33
+ "immer": "^10.0.3",
34
+ "js-base64": "^3.7.7",
35
+ "lodash-es": "^4.17.21",
36
+ "lucide-react": "^0.438.0",
37
+ "mermaid": "^11.4.1",
38
+ "mitt": "^3.0.1",
39
+ "nanoid": "^4.0.2",
40
+ "react": "~18.2.0",
41
+ "shiki": "^3.2.2",
42
+ "sortablejs": "~1.15.2",
43
+ "svg-pan-zoom": "^3.6.2",
44
+ "tippy.js": "^6.3.7"
45
+ },
46
+ "devDependencies": {
47
+ "@cozeloop/tailwind-config": "workspace:*",
48
+ "@cozeloop/tailwind-plugin": "workspace:*",
49
+ "@edenx/module-tools": "1.39.2",
50
+ "@edenx/plugin-tailwind": "1.51.0",
51
+ "@flow-infra/bot-typings": "workspace:*",
52
+ "@flow-infra/eslint-config": "workspace:*",
53
+ "@flow-infra/idl": "workspace:*",
54
+ "@flow-infra/tailwind-config": "workspace:*",
55
+ "@flow-infra/ts-config": "workspace:*",
56
+ "@types/lodash-es": "^4.17.10",
57
+ "@types/react": "18.2.37",
58
+ "@types/react-dom": "18.2.15",
59
+ "@vitest/coverage-v8": "~3.0.5",
60
+ "happy-dom": "^12.10.3",
61
+ "react-dom": "~18.2.0",
62
+ "storybook": "^7.6.7",
63
+ "tsconfig-paths": "4.1.0",
64
+ "vite": "^4.3.9",
65
+ "vite-plugin-svgr": "~3.3.0",
66
+ "vitest": "~3.0.5"
67
+ },
68
+ "module": "./dist/es/index.js",
69
+ "types": "./dist/types/index.d.ts",
70
+ "files": [
71
+ "dist",
72
+ "package.json",
73
+ "README.md"
74
+ ]
75
+ }