@cozeloop/config-provider 0.0.1-beta.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.
- package/dist/evaluate/evaluate-target.js +20 -0
- package/dist/evaluate/evaluate-target.js.map +1 -0
- package/dist/evaluate/index.jsx +33 -0
- package/dist/evaluate/index.jsx.map +1 -0
- package/dist/index.jsx +130 -0
- package/dist/index.jsx.map +1 -0
- package/dist/index.mjs +147 -0
- package/dist/observation/index.js +3 -0
- package/dist/observation/index.js.map +1 -0
- package/dist/types/evaluate/evaluate-target.d.ts +174 -0
- package/dist/types/evaluate/index.d.ts +90 -0
- package/dist/types/index.d.ts +56 -0
- package/dist/types/observation/index.d.ts +17 -0
- package/package.json +112 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExtCreateStep = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* 实验创建步骤枚举
|
|
6
|
+
*/
|
|
7
|
+
var ExtCreateStep;
|
|
8
|
+
(function (ExtCreateStep) {
|
|
9
|
+
/** 基础信息 */
|
|
10
|
+
ExtCreateStep[ExtCreateStep["BASE_INFO"] = 0] = "BASE_INFO";
|
|
11
|
+
/** 评测集 */
|
|
12
|
+
ExtCreateStep[ExtCreateStep["EVAL_SET"] = 1] = "EVAL_SET";
|
|
13
|
+
/** 评测对象 */
|
|
14
|
+
ExtCreateStep[ExtCreateStep["EVAL_TARGET"] = 2] = "EVAL_TARGET";
|
|
15
|
+
/** 评估器 */
|
|
16
|
+
ExtCreateStep[ExtCreateStep["EVALUATOR"] = 3] = "EVALUATOR";
|
|
17
|
+
/** 实验创建 */
|
|
18
|
+
ExtCreateStep[ExtCreateStep["CREATE_EXPERIMENT"] = 4] = "CREATE_EXPERIMENT";
|
|
19
|
+
})(ExtCreateStep || (exports.ExtCreateStep = ExtCreateStep = {}));
|
|
20
|
+
//# sourceMappingURL=evaluate-target.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate-target.js","sourceRoot":"","sources":["../../src/evaluate/evaluate-target.ts"],"names":[],"mappings":";;;AAuHA;;GAEG;AACH,IAAY,aAWX;AAXD,WAAY,aAAa;IACvB,WAAW;IACX,2DAAa,CAAA;IACb,UAAU;IACV,yDAAY,CAAA;IACZ,WAAW;IACX,+DAAe,CAAA;IACf,UAAU;IACV,2DAAa,CAAA;IACb,WAAW;IACX,2EAAqB,CAAA;AACvB,CAAC,EAXW,aAAa,6BAAb,aAAa,QAWxB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.EvaluatePageKey = void 0;
|
|
18
|
+
// eslint-disable-next-line @coze-arch/no-batch-import-or-export
|
|
19
|
+
__exportStar(require("./evaluate-target"), exports);
|
|
20
|
+
var EvaluatePageKey;
|
|
21
|
+
(function (EvaluatePageKey) {
|
|
22
|
+
EvaluatePageKey["ExperimentList"] = "experiment-list";
|
|
23
|
+
EvaluatePageKey["ExperimentCreate"] = "experiment-create";
|
|
24
|
+
EvaluatePageKey["ExperimentDetail"] = "experiment-detail";
|
|
25
|
+
EvaluatePageKey["ExperimentContrast"] = "experiment-contrast";
|
|
26
|
+
EvaluatePageKey["EvaluatorList"] = "evaluator-list";
|
|
27
|
+
EvaluatePageKey["EvaluatorCreate"] = "evaluator-create";
|
|
28
|
+
EvaluatePageKey["EvaluatorDetail"] = "evaluator-detail";
|
|
29
|
+
EvaluatePageKey["EvaluationSetList"] = "evaluation-set-list";
|
|
30
|
+
EvaluatePageKey["EvaluationSetCreate"] = "evaluation-set-create";
|
|
31
|
+
EvaluatePageKey["EvaluationSetDetail"] = "evaluation-set-detail";
|
|
32
|
+
})(EvaluatePageKey || (exports.EvaluatePageKey = EvaluatePageKey = {}));
|
|
33
|
+
//# sourceMappingURL=index.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../src/evaluate/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,gEAAgE;AAChE,oDAAkC;AAalC,IAAY,eAWX;AAXD,WAAY,eAAe;IACzB,qDAAkC,CAAA;IAClC,yDAAsC,CAAA;IACtC,yDAAsC,CAAA;IACtC,6DAA0C,CAAA;IAC1C,mDAAgC,CAAA;IAChC,uDAAoC,CAAA;IACpC,uDAAoC,CAAA;IACpC,4DAAyC,CAAA;IACzC,gEAA6C,CAAA;IAC7C,gEAA6C,CAAA;AAC/C,CAAC,EAXW,eAAe,+BAAf,eAAe,QAW1B"}
|
package/dist/index.jsx
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.CozeLoopProvider = void 0;
|
|
18
|
+
exports.useConfig = useConfig;
|
|
19
|
+
exports.useReportEvent = useReportEvent;
|
|
20
|
+
/* eslint-disable @coze-arch/no-batch-import-or-export */
|
|
21
|
+
const react_1 = require("react");
|
|
22
|
+
const i18n_1 = require("@cozeloop/i18n");
|
|
23
|
+
const locales_1 = require("@coze-arch/coze-design/locales");
|
|
24
|
+
const coze_design_1 = require("@coze-arch/coze-design");
|
|
25
|
+
const localeMap = {
|
|
26
|
+
'zh-CN': coze_design_1.zhCN,
|
|
27
|
+
'en-US': coze_design_1.enUS,
|
|
28
|
+
};
|
|
29
|
+
const cdLocaleMap = {
|
|
30
|
+
'zh-CN': locales_1.zh_CN,
|
|
31
|
+
'en-US': locales_1.en_US,
|
|
32
|
+
};
|
|
33
|
+
__exportStar(require("./evaluate"), exports);
|
|
34
|
+
__exportStar(require("./observation"), exports);
|
|
35
|
+
const CozeLoopContext = (0, react_1.createContext)({});
|
|
36
|
+
function useConfig() {
|
|
37
|
+
return (0, react_1.useContext)(CozeLoopContext);
|
|
38
|
+
}
|
|
39
|
+
// function PageLoading() {
|
|
40
|
+
// return (
|
|
41
|
+
// <div className="w-full h-full flex items-center justify-center bg-semi-bg-1 z-10">
|
|
42
|
+
// <Spin wrapperClassName="w-full h-full" spinning />
|
|
43
|
+
// </div>
|
|
44
|
+
// );
|
|
45
|
+
// }
|
|
46
|
+
function CozeLoopProviderImpl(props) {
|
|
47
|
+
const { children, defaultLanguage, locale: resources, sendEvent, bizId, region, language, isDev, theme, trace, evaluateConfig, getPopupContainer, providerWrapStyle, } = props;
|
|
48
|
+
const isInitialized = (0, react_1.useRef)(false);
|
|
49
|
+
const [initialized, setInitialized] = (0, react_1.useState)(false);
|
|
50
|
+
(0, react_1.useLayoutEffect)(() => {
|
|
51
|
+
if (!theme) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
// 插入用户自定义的样式变量
|
|
55
|
+
const style = document.createElement('style');
|
|
56
|
+
const cssVars = Object.entries(theme)
|
|
57
|
+
.map(([k, v]) => ` --${k}:${v};`)
|
|
58
|
+
.join('\n');
|
|
59
|
+
style.innerHTML = `:root { ${cssVars} }`;
|
|
60
|
+
document.head.appendChild(style);
|
|
61
|
+
}, [theme]);
|
|
62
|
+
(0, react_1.useEffect)(() => {
|
|
63
|
+
if (resources && !isInitialized.current) {
|
|
64
|
+
(0, i18n_1.initIntl)({
|
|
65
|
+
lng: defaultLanguage,
|
|
66
|
+
resources: resources,
|
|
67
|
+
})
|
|
68
|
+
.then(() => {
|
|
69
|
+
isInitialized.current = true;
|
|
70
|
+
setInitialized(true);
|
|
71
|
+
})
|
|
72
|
+
.catch(error => {
|
|
73
|
+
console.error('Error initializing intl:', error);
|
|
74
|
+
isInitialized.current = true;
|
|
75
|
+
setInitialized(true);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}, [resources, defaultLanguage]);
|
|
79
|
+
(0, react_1.useEffect)(() => {
|
|
80
|
+
const portalDom = document.getElementById('cozeloop-semi-portal');
|
|
81
|
+
if (!portalDom) {
|
|
82
|
+
const newPortalDom = document.createElement('div');
|
|
83
|
+
newPortalDom.className = 'cozeloop-semi-prefix';
|
|
84
|
+
newPortalDom.id = 'cozeloop-semi-portal';
|
|
85
|
+
newPortalDom.style.position = 'absolute';
|
|
86
|
+
document.body.appendChild(newPortalDom);
|
|
87
|
+
}
|
|
88
|
+
return () => {
|
|
89
|
+
const dom = document.getElementById('cozeloop-semi-portal');
|
|
90
|
+
if (dom) {
|
|
91
|
+
document.body.removeChild(dom);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
}, []);
|
|
95
|
+
if (!initialized) {
|
|
96
|
+
// return <PageLoading />;
|
|
97
|
+
}
|
|
98
|
+
const contextValue = {
|
|
99
|
+
defaultLanguage,
|
|
100
|
+
sendEvent,
|
|
101
|
+
bizId,
|
|
102
|
+
region,
|
|
103
|
+
language,
|
|
104
|
+
locale: resources,
|
|
105
|
+
isDev,
|
|
106
|
+
theme,
|
|
107
|
+
trace,
|
|
108
|
+
evaluateConfig,
|
|
109
|
+
};
|
|
110
|
+
const defaultGetPopupContainer = () => document.getElementById('cozeloop-semi-portal') || document.body;
|
|
111
|
+
return (<CozeLoopContext.Provider value={contextValue}>
|
|
112
|
+
<locales_1.CDLocaleProvider i18n={i18n_1.I18n} locale={cdLocaleMap[i18n_1.I18n.language]}>
|
|
113
|
+
<coze_design_1.ConfigProvider locale={localeMap[i18n_1.I18n.language]} getPopupContainer={getPopupContainer !== null && getPopupContainer !== void 0 ? getPopupContainer : defaultGetPopupContainer}>
|
|
114
|
+
<div className="cozeloop-semi-prefix" style={{ width: '100%', height: '100%', ...providerWrapStyle }}>
|
|
115
|
+
{children}
|
|
116
|
+
</div>
|
|
117
|
+
</coze_design_1.ConfigProvider>
|
|
118
|
+
</locales_1.CDLocaleProvider>
|
|
119
|
+
</CozeLoopContext.Provider>);
|
|
120
|
+
}
|
|
121
|
+
exports.CozeLoopProvider = CozeLoopProviderImpl;
|
|
122
|
+
exports.CozeLoopProvider.useConfig = useConfig;
|
|
123
|
+
function useReportEvent() {
|
|
124
|
+
var _a;
|
|
125
|
+
const context = (0, react_1.useContext)(CozeLoopContext);
|
|
126
|
+
return ((_a = context.sendEvent) !== null && _a !== void 0 ? _a : ((name, params) => {
|
|
127
|
+
console.info(name, params);
|
|
128
|
+
}));
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=index.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.jsx","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useContext, useEffect, useLayoutEffect, useRef, useState } from "react";
|
|
3
|
+
import { I18n, initIntl } from "@cozeloop/i18n";
|
|
4
|
+
import { CDLocaleProvider, en_US, zh_CN } from "@coze-arch/coze-design/locales";
|
|
5
|
+
import { ConfigProvider, enUS, zhCN } from "@coze-arch/coze-design";
|
|
6
|
+
var evaluate_target_ExtCreateStep = /*#__PURE__*/ function(ExtCreateStep) {
|
|
7
|
+
ExtCreateStep[ExtCreateStep["BASE_INFO"] = 0] = "BASE_INFO";
|
|
8
|
+
ExtCreateStep[ExtCreateStep["EVAL_SET"] = 1] = "EVAL_SET";
|
|
9
|
+
ExtCreateStep[ExtCreateStep["EVAL_TARGET"] = 2] = "EVAL_TARGET";
|
|
10
|
+
ExtCreateStep[ExtCreateStep["EVALUATOR"] = 3] = "EVALUATOR";
|
|
11
|
+
ExtCreateStep[ExtCreateStep["CREATE_EXPERIMENT"] = 4] = "CREATE_EXPERIMENT";
|
|
12
|
+
return ExtCreateStep;
|
|
13
|
+
}({});
|
|
14
|
+
var evaluate_EvaluatePageKey = /*#__PURE__*/ function(EvaluatePageKey) {
|
|
15
|
+
EvaluatePageKey["ExperimentList"] = "experiment-list";
|
|
16
|
+
EvaluatePageKey["ExperimentCreate"] = "experiment-create";
|
|
17
|
+
EvaluatePageKey["ExperimentDetail"] = "experiment-detail";
|
|
18
|
+
EvaluatePageKey["ExperimentContrast"] = "experiment-contrast";
|
|
19
|
+
EvaluatePageKey["EvaluatorList"] = "evaluator-list";
|
|
20
|
+
EvaluatePageKey["EvaluatorCreate"] = "evaluator-create";
|
|
21
|
+
EvaluatePageKey["EvaluatorDetail"] = "evaluator-detail";
|
|
22
|
+
EvaluatePageKey["EvaluationSetList"] = "evaluation-set-list";
|
|
23
|
+
EvaluatePageKey["EvaluationSetCreate"] = "evaluation-set-create";
|
|
24
|
+
EvaluatePageKey["EvaluationSetDetail"] = "evaluation-set-detail";
|
|
25
|
+
return EvaluatePageKey;
|
|
26
|
+
}({});
|
|
27
|
+
function _define_property(obj, key, value) {
|
|
28
|
+
if (key in obj) Object.defineProperty(obj, key, {
|
|
29
|
+
value: value,
|
|
30
|
+
enumerable: true,
|
|
31
|
+
configurable: true,
|
|
32
|
+
writable: true
|
|
33
|
+
});
|
|
34
|
+
else obj[key] = value;
|
|
35
|
+
return obj;
|
|
36
|
+
}
|
|
37
|
+
function _object_spread(target) {
|
|
38
|
+
for(var i = 1; i < arguments.length; i++){
|
|
39
|
+
var source = null != arguments[i] ? arguments[i] : {};
|
|
40
|
+
var ownKeys = Object.keys(source);
|
|
41
|
+
if ("function" == typeof Object.getOwnPropertySymbols) ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
42
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
43
|
+
}));
|
|
44
|
+
ownKeys.forEach(function(key) {
|
|
45
|
+
_define_property(target, key, source[key]);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return target;
|
|
49
|
+
}
|
|
50
|
+
const localeMap = {
|
|
51
|
+
'zh-CN': zhCN,
|
|
52
|
+
'en-US': enUS
|
|
53
|
+
};
|
|
54
|
+
const cdLocaleMap = {
|
|
55
|
+
'zh-CN': zh_CN,
|
|
56
|
+
'en-US': en_US
|
|
57
|
+
};
|
|
58
|
+
const CozeLoopContext = /*#__PURE__*/ createContext({});
|
|
59
|
+
function useConfig() {
|
|
60
|
+
return useContext(CozeLoopContext);
|
|
61
|
+
}
|
|
62
|
+
function CozeLoopProviderImpl(props) {
|
|
63
|
+
const { children, defaultLanguage, locale: resources, sendEvent, bizId, region, language, isDev, theme, trace, evaluateConfig, getPopupContainer, providerWrapStyle } = props;
|
|
64
|
+
const isInitialized = useRef(false);
|
|
65
|
+
const [initialized, setInitialized] = useState(false);
|
|
66
|
+
useLayoutEffect(()=>{
|
|
67
|
+
if (!theme) return;
|
|
68
|
+
const style = document.createElement('style');
|
|
69
|
+
const cssVars = Object.entries(theme).map(([k, v])=>` --${k}:${v};`).join('\n');
|
|
70
|
+
style.innerHTML = `:root { ${cssVars} }`;
|
|
71
|
+
document.head.appendChild(style);
|
|
72
|
+
}, [
|
|
73
|
+
theme
|
|
74
|
+
]);
|
|
75
|
+
useEffect(()=>{
|
|
76
|
+
if (resources && !isInitialized.current) initIntl({
|
|
77
|
+
lng: defaultLanguage,
|
|
78
|
+
resources: resources
|
|
79
|
+
}).then(()=>{
|
|
80
|
+
isInitialized.current = true;
|
|
81
|
+
setInitialized(true);
|
|
82
|
+
}).catch((error)=>{
|
|
83
|
+
console.error('Error initializing intl:', error);
|
|
84
|
+
isInitialized.current = true;
|
|
85
|
+
setInitialized(true);
|
|
86
|
+
});
|
|
87
|
+
}, [
|
|
88
|
+
resources,
|
|
89
|
+
defaultLanguage
|
|
90
|
+
]);
|
|
91
|
+
useEffect(()=>{
|
|
92
|
+
const portalDom = document.getElementById('cozeloop-semi-portal');
|
|
93
|
+
if (!portalDom) {
|
|
94
|
+
const newPortalDom = document.createElement('div');
|
|
95
|
+
newPortalDom.className = 'cozeloop-semi-prefix';
|
|
96
|
+
newPortalDom.id = 'cozeloop-semi-portal';
|
|
97
|
+
newPortalDom.style.position = 'absolute';
|
|
98
|
+
document.body.appendChild(newPortalDom);
|
|
99
|
+
}
|
|
100
|
+
return ()=>{
|
|
101
|
+
const dom = document.getElementById('cozeloop-semi-portal');
|
|
102
|
+
if (dom) document.body.removeChild(dom);
|
|
103
|
+
};
|
|
104
|
+
}, []);
|
|
105
|
+
const contextValue = {
|
|
106
|
+
defaultLanguage,
|
|
107
|
+
sendEvent,
|
|
108
|
+
bizId,
|
|
109
|
+
region,
|
|
110
|
+
language,
|
|
111
|
+
locale: resources,
|
|
112
|
+
isDev,
|
|
113
|
+
theme,
|
|
114
|
+
trace,
|
|
115
|
+
evaluateConfig
|
|
116
|
+
};
|
|
117
|
+
const defaultGetPopupContainer = ()=>document.getElementById('cozeloop-semi-portal') || document.body;
|
|
118
|
+
return /*#__PURE__*/ jsx(CozeLoopContext.Provider, {
|
|
119
|
+
value: contextValue,
|
|
120
|
+
children: /*#__PURE__*/ jsx(CDLocaleProvider, {
|
|
121
|
+
i18n: I18n,
|
|
122
|
+
locale: cdLocaleMap[I18n.language],
|
|
123
|
+
children: /*#__PURE__*/ jsx(ConfigProvider, {
|
|
124
|
+
locale: localeMap[I18n.language],
|
|
125
|
+
getPopupContainer: null != getPopupContainer ? getPopupContainer : defaultGetPopupContainer,
|
|
126
|
+
children: /*#__PURE__*/ jsx("div", {
|
|
127
|
+
className: "cozeloop-semi-prefix",
|
|
128
|
+
style: _object_spread({
|
|
129
|
+
width: '100%',
|
|
130
|
+
height: '100%'
|
|
131
|
+
}, providerWrapStyle),
|
|
132
|
+
children: children
|
|
133
|
+
})
|
|
134
|
+
})
|
|
135
|
+
})
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
const CozeLoopProvider = CozeLoopProviderImpl;
|
|
139
|
+
CozeLoopProvider.useConfig = useConfig;
|
|
140
|
+
function useReportEvent() {
|
|
141
|
+
var _context_sendEvent;
|
|
142
|
+
const context = useContext(CozeLoopContext);
|
|
143
|
+
return null != (_context_sendEvent = context.sendEvent) ? _context_sendEvent : (name, params)=>{
|
|
144
|
+
console.info(name, params);
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
export { CozeLoopProvider, evaluate_EvaluatePageKey as EvaluatePageKey, evaluate_target_ExtCreateStep as ExtCreateStep, useConfig, useReportEvent };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/observation/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { type ComponentType } from 'react';
|
|
2
|
+
import { type prompt } from '@cozeloop/api-schema/prompt';
|
|
3
|
+
import { type EvaluationSetVersion, type EvaluationSet, type SubmitExperimentRequest, type EvalTarget, type EvalTargetVersion, type Evaluator, type EvaluatorVersion, type EvalTargetType, type FieldSchema, type Experiment, type EvaluatorRunConfig, type RuntimeParam } from '@cozeloop/api-schema/evaluation';
|
|
4
|
+
import { type RuleItem, type SelectProps } from '@coze-arch/coze-design';
|
|
5
|
+
export type CozeTagColor = 'brand' | 'primary' | 'green' | 'yellow' | 'red' | 'cyan' | 'blue' | 'purple' | 'magenta';
|
|
6
|
+
export type SchemaSourceType = 'set' | 'target';
|
|
7
|
+
export type OptionSchema = FieldSchema & {
|
|
8
|
+
schemaSourceType: SchemaSourceType;
|
|
9
|
+
};
|
|
10
|
+
export interface EvaluatorPro {
|
|
11
|
+
evaluator?: Evaluator;
|
|
12
|
+
evaluatorVersion?: EvaluatorVersion;
|
|
13
|
+
evaluatorVersionDetail?: EvaluatorVersion;
|
|
14
|
+
evaluatorMapping?: Record<string, OptionSchema>;
|
|
15
|
+
evaluatorRunConfig?: EvaluatorRunConfig;
|
|
16
|
+
}
|
|
17
|
+
export interface CreateExperimentValues extends SubmitExperimentRequest {
|
|
18
|
+
evalTargetVersionDetail?: EvalTargetVersion & {
|
|
19
|
+
inputs?: unknown;
|
|
20
|
+
outputs?: unknown;
|
|
21
|
+
end_type?: number;
|
|
22
|
+
};
|
|
23
|
+
evaluationSet?: string;
|
|
24
|
+
evaluationSetDetail?: EvaluationSet;
|
|
25
|
+
evaluationSetVersion?: string;
|
|
26
|
+
evaluationSetVersionDetail?: EvaluationSetVersion;
|
|
27
|
+
evalTargetType?: EvalTargetType | string | number;
|
|
28
|
+
evalTarget?: string;
|
|
29
|
+
evalTargetVersion?: string;
|
|
30
|
+
promptDetail?: prompt.Prompt;
|
|
31
|
+
evalTargetMapping?: Record<string, OptionSchema>;
|
|
32
|
+
evaluatorProList?: EvaluatorPro[];
|
|
33
|
+
}
|
|
34
|
+
export type BaseInfoValues = Pick<CreateExperimentValues, 'name' | 'desc'>;
|
|
35
|
+
export type EvaluateSetValues = Pick<CreateExperimentValues, 'eval_set_id' | 'eval_set_version_id' | 'evaluationSet' | 'evaluationSetVersion' | 'evaluationSetVersionDetail'>;
|
|
36
|
+
export type EvaluatorValues = Pick<CreateExperimentValues, 'evaluator_version_ids' | 'evaluator_field_mapping' | 'evaluatorProList'>;
|
|
37
|
+
export type CommonFormRef = {
|
|
38
|
+
validate?: () => Promise<BaseInfoValues | EvaluateSetValues | EvaluateTargetValues | EvaluatorValues>;
|
|
39
|
+
getFormApi?: () => {
|
|
40
|
+
getValues: () => CreateExperimentValues;
|
|
41
|
+
};
|
|
42
|
+
} | null;
|
|
43
|
+
export type EvaluateTargetValues = Pick<CreateExperimentValues, 'create_eval_target_param' | 'target_field_mapping' | 'evalTargetType' | 'evalTarget' | 'evalTargetVersion' | 'promptDetail' | 'evalTargetMapping'>;
|
|
44
|
+
export interface PluginEvalTargetFormProps {
|
|
45
|
+
/**表单数据 */
|
|
46
|
+
formValues: CreateExperimentValues;
|
|
47
|
+
/** 表单数据变化 */
|
|
48
|
+
onChange: (key: keyof CreateExperimentValues, value: unknown) => void;
|
|
49
|
+
/** 创建实验数据, 用于渲染 */
|
|
50
|
+
createExperimentValues: CreateExperimentValues;
|
|
51
|
+
/** 设置创建实验数据 */
|
|
52
|
+
setCreateExperimentValues?: React.Dispatch<React.SetStateAction<CreateExperimentValues>>;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* 实验创建步骤枚举
|
|
56
|
+
*/
|
|
57
|
+
export declare enum ExtCreateStep {
|
|
58
|
+
/** 基础信息 */
|
|
59
|
+
BASE_INFO = 0,
|
|
60
|
+
/** 评测集 */
|
|
61
|
+
EVAL_SET = 1,
|
|
62
|
+
/** 评测对象 */
|
|
63
|
+
EVAL_TARGET = 2,
|
|
64
|
+
/** 评估器 */
|
|
65
|
+
EVALUATOR = 3,
|
|
66
|
+
/** 实验创建 */
|
|
67
|
+
CREATE_EXPERIMENT = 4
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* 评测对象信息
|
|
71
|
+
*/
|
|
72
|
+
export interface EvalTargetInfo {
|
|
73
|
+
name?: string;
|
|
74
|
+
type?: EvalTargetType;
|
|
75
|
+
color?: string;
|
|
76
|
+
tagColor?: CozeTagColor;
|
|
77
|
+
icon?: React.ReactNode;
|
|
78
|
+
}
|
|
79
|
+
/** 步骤校验字段, 用于校验表单数据 */
|
|
80
|
+
export type ExtraValidFields = {
|
|
81
|
+
[key in ExtCreateStep]?: string[] | ((values: CreateExperimentValues) => string[]);
|
|
82
|
+
};
|
|
83
|
+
export interface IKeySchema {
|
|
84
|
+
name: string;
|
|
85
|
+
type: string;
|
|
86
|
+
required?: boolean;
|
|
87
|
+
schema?: IKeySchema[];
|
|
88
|
+
input?: unknown;
|
|
89
|
+
}
|
|
90
|
+
export interface EvalTargetDefinition {
|
|
91
|
+
type: EvalTargetType;
|
|
92
|
+
name: string;
|
|
93
|
+
/** 评测对象描述 */
|
|
94
|
+
description?: string;
|
|
95
|
+
disableListFilter?: boolean;
|
|
96
|
+
/** 评测对象来源 */
|
|
97
|
+
evalTargetSource?: string;
|
|
98
|
+
/** 评测对象信息 */
|
|
99
|
+
targetInfo?: EvalTargetInfo;
|
|
100
|
+
/** 评测对象下拉框选择器 */
|
|
101
|
+
selector?: ComponentType<SelectProps & {
|
|
102
|
+
/** 选项仅显示名称,不显示头像、描述等复杂信息 */
|
|
103
|
+
onlyShowOptionName?: boolean;
|
|
104
|
+
}>;
|
|
105
|
+
/** 评测对象预览器 */
|
|
106
|
+
preview?: ComponentType<{
|
|
107
|
+
/** 评测对象 */
|
|
108
|
+
evalTarget: EvalTarget;
|
|
109
|
+
/** spaceID */
|
|
110
|
+
spaceID: string | number;
|
|
111
|
+
/** 评测集 */
|
|
112
|
+
evalSet?: EvaluationSet;
|
|
113
|
+
/** 是否显示打开详情链接 */
|
|
114
|
+
enableLinkJump?: boolean;
|
|
115
|
+
/** 尺寸 */
|
|
116
|
+
size?: 'small' | 'medium';
|
|
117
|
+
/** 跳转按钮类名 */
|
|
118
|
+
jumpBtnClassName?: string;
|
|
119
|
+
/** 是否显示图标, 目前 prompt 类型评测对象预览器在实验列表需要显示图标 */
|
|
120
|
+
showIcon?: boolean;
|
|
121
|
+
}>;
|
|
122
|
+
/** View Submit 预览器中字段映射部分 */
|
|
123
|
+
viewSubmitFieldMappingPreview?: ComponentType<{
|
|
124
|
+
/** 渲染数据 */
|
|
125
|
+
createExperimentValues: CreateExperimentValues;
|
|
126
|
+
}>;
|
|
127
|
+
/**
|
|
128
|
+
* 评测对象表单插槽内容
|
|
129
|
+
*/
|
|
130
|
+
evalTargetFormSlotContent?: (props: PluginEvalTargetFormProps) => React.JSX.Element | React.ReactNode;
|
|
131
|
+
getEvalTargetVersionOption?: (item: EvalTargetVersion) => {
|
|
132
|
+
value?: string;
|
|
133
|
+
label?: React.ReactNode;
|
|
134
|
+
};
|
|
135
|
+
/**
|
|
136
|
+
* 评测对象预览
|
|
137
|
+
*/
|
|
138
|
+
evalTargetView?: (props: {
|
|
139
|
+
/** 渲染数据 */
|
|
140
|
+
values: CreateExperimentValues;
|
|
141
|
+
/** 表单数据 */
|
|
142
|
+
formValues: CreateExperimentValues;
|
|
143
|
+
}) => React.JSX.Element;
|
|
144
|
+
/**
|
|
145
|
+
* 对应表单步骤, 需要额外校验的字段
|
|
146
|
+
*/
|
|
147
|
+
extraValidFields?: ExtraValidFields;
|
|
148
|
+
/**
|
|
149
|
+
* 转换创建实验数据
|
|
150
|
+
*/
|
|
151
|
+
transformCreateValues?: (values: CreateExperimentValues) => CreateExperimentValues;
|
|
152
|
+
/**
|
|
153
|
+
* 获取评测对象的输出字段定义
|
|
154
|
+
*/
|
|
155
|
+
transformEvaluatorEvalTargetSchemas?: (evalTargetVersionDetail: CreateExperimentValues['evalTargetVersionDetail']) => FieldSchema[];
|
|
156
|
+
evaluator?: {
|
|
157
|
+
getEvaluatorMappingFieldRules?: (k: FieldSchema) => RuleItem[];
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* 自定义复制实验初始化数据转换, 可能需要拉取额外的数据
|
|
161
|
+
*/
|
|
162
|
+
transformCopyExperimentValues?: (values: CreateExperimentValues, experiment?: Experiment) => Promise<CreateExperimentValues>;
|
|
163
|
+
/**
|
|
164
|
+
* 获取初始化数据
|
|
165
|
+
*/
|
|
166
|
+
getInitData?: (spaceID: string) => Promise<CreateExperimentValues>;
|
|
167
|
+
/** 是否在code评估器中使用 */
|
|
168
|
+
disabledInCodeEvaluator?: boolean;
|
|
169
|
+
/** 动态参数预览组件 */
|
|
170
|
+
dynamicParamsPreview?: ComponentType<{
|
|
171
|
+
data: RuntimeParam;
|
|
172
|
+
evalTarget?: EvalTarget;
|
|
173
|
+
}>;
|
|
174
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { type EvaluatorType } from '@cozeloop/api-schema/evaluation';
|
|
2
|
+
export * from './evaluate-target';
|
|
3
|
+
import { type EvalTargetDefinition } from './evaluate-target';
|
|
4
|
+
import { type TraceConfig } from '../observation';
|
|
5
|
+
/** 导航配置选项 */
|
|
6
|
+
export interface NavigateConfigOptions {
|
|
7
|
+
/** 是否在新标签页打开 */
|
|
8
|
+
isBlank?: boolean;
|
|
9
|
+
/** 是否替换当前页面 */
|
|
10
|
+
replace?: boolean;
|
|
11
|
+
state?: any;
|
|
12
|
+
}
|
|
13
|
+
export declare enum EvaluatePageKey {
|
|
14
|
+
ExperimentList = "experiment-list",
|
|
15
|
+
ExperimentCreate = "experiment-create",
|
|
16
|
+
ExperimentDetail = "experiment-detail",
|
|
17
|
+
ExperimentContrast = "experiment-contrast",
|
|
18
|
+
EvaluatorList = "evaluator-list",
|
|
19
|
+
EvaluatorCreate = "evaluator-create",
|
|
20
|
+
EvaluatorDetail = "evaluator-detail",
|
|
21
|
+
EvaluationSetList = "evaluation-set-list",
|
|
22
|
+
EvaluationSetCreate = "evaluation-set-create",
|
|
23
|
+
EvaluationSetDetail = "evaluation-set-detail"
|
|
24
|
+
}
|
|
25
|
+
export interface NavigateEvaluatePage {
|
|
26
|
+
[EvaluatePageKey.ExperimentList]: {};
|
|
27
|
+
[EvaluatePageKey.ExperimentCreate]: {
|
|
28
|
+
/** 从哪个实验创建 */
|
|
29
|
+
fromExperimentID?: string;
|
|
30
|
+
/** 评估集ID */
|
|
31
|
+
evaluationSetID?: string;
|
|
32
|
+
/** 评估集版本ID */
|
|
33
|
+
versionID?: string;
|
|
34
|
+
};
|
|
35
|
+
[EvaluatePageKey.ExperimentDetail]: {
|
|
36
|
+
experimentID: string;
|
|
37
|
+
};
|
|
38
|
+
[EvaluatePageKey.ExperimentContrast]: {
|
|
39
|
+
/** 对比实验ID */
|
|
40
|
+
experimentIDs: string[];
|
|
41
|
+
};
|
|
42
|
+
[EvaluatePageKey.EvaluatorList]: {
|
|
43
|
+
activeTab?: 'builtin' | 'custom';
|
|
44
|
+
};
|
|
45
|
+
[EvaluatePageKey.EvaluatorCreate]: {
|
|
46
|
+
/** 评估器ID */
|
|
47
|
+
evaluatorID?: string;
|
|
48
|
+
/** 评估器类型 */
|
|
49
|
+
evaluatorType?: EvaluatorType;
|
|
50
|
+
/** 模板语言 */
|
|
51
|
+
templateLang?: 'Python' | 'JS';
|
|
52
|
+
/** 模板Key */
|
|
53
|
+
templateKey?: string;
|
|
54
|
+
};
|
|
55
|
+
[EvaluatePageKey.EvaluatorDetail]: {
|
|
56
|
+
/** 评估器ID */
|
|
57
|
+
evaluatorID: string;
|
|
58
|
+
/** 是否为预置评估器 */
|
|
59
|
+
isPreEvaluator?: boolean;
|
|
60
|
+
/** 评估器版本ID */
|
|
61
|
+
versionID?: string;
|
|
62
|
+
/** 评估器类型 */
|
|
63
|
+
evaluatorType?: EvaluatorType;
|
|
64
|
+
};
|
|
65
|
+
[EvaluatePageKey.EvaluationSetList]: {};
|
|
66
|
+
[EvaluatePageKey.EvaluationSetCreate]: {};
|
|
67
|
+
[EvaluatePageKey.EvaluationSetDetail]: {
|
|
68
|
+
/** 评估集ID */
|
|
69
|
+
evaluationSetID: string;
|
|
70
|
+
/** 评估集版本ID */
|
|
71
|
+
versionID?: string;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/** 导航函数类型 */
|
|
75
|
+
export type NavigateFunction<P extends EvaluatePageKey = EvaluatePageKey> = (pageKey: P, params?: NavigateEvaluatePage[P], options?: NavigateConfigOptions) => void;
|
|
76
|
+
export interface EvaluateBackParams<P extends EvaluatePageKey = EvaluatePageKey> {
|
|
77
|
+
defaultBackPage?: {
|
|
78
|
+
pageKey: P;
|
|
79
|
+
params?: NavigateEvaluatePage[P];
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
export interface EvaluateConfig<P extends EvaluatePageKey = EvaluatePageKey> {
|
|
83
|
+
navigateConfig: {
|
|
84
|
+
pageJump: NavigateFunction<P>;
|
|
85
|
+
pageBack: (params?: EvaluateBackParams<P>) => void;
|
|
86
|
+
};
|
|
87
|
+
evalTargetDefinitions?: EvalTargetDefinition[];
|
|
88
|
+
evalExperimentConcurCountMax?: number;
|
|
89
|
+
traceConfig?: TraceConfig;
|
|
90
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type EvaluateConfig } from './evaluate';
|
|
3
|
+
type Region = 'boe' | 'cn' | 'i18n' | 'i18n-tt' | 'sg' | 'va' | 'not-tt';
|
|
4
|
+
export type Language = 'zh-CN' | 'en-US';
|
|
5
|
+
type Locale = Record<Language, {
|
|
6
|
+
translation: Record<string, string>;
|
|
7
|
+
}>;
|
|
8
|
+
export * from './evaluate';
|
|
9
|
+
export * from './observation';
|
|
10
|
+
export interface WorkspaceConfig {
|
|
11
|
+
workspaceId: string | number;
|
|
12
|
+
domain: string;
|
|
13
|
+
token: string;
|
|
14
|
+
}
|
|
15
|
+
export interface EnvConfig {
|
|
16
|
+
isOverSea: boolean;
|
|
17
|
+
isDev: boolean;
|
|
18
|
+
}
|
|
19
|
+
interface TraceContext {
|
|
20
|
+
workspaceConfig?: WorkspaceConfig;
|
|
21
|
+
envConfig?: EnvConfig;
|
|
22
|
+
timeZone?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface TraceDetailPanelProps {
|
|
25
|
+
platformType?: string;
|
|
26
|
+
traceID: string;
|
|
27
|
+
defaultSelectedSpanID?: string;
|
|
28
|
+
startTime?: string;
|
|
29
|
+
endTime?: string;
|
|
30
|
+
defaultActiveTabKey?: string;
|
|
31
|
+
visible: boolean;
|
|
32
|
+
onClose: () => void;
|
|
33
|
+
}
|
|
34
|
+
export interface CozeLoopContextValue {
|
|
35
|
+
defaultLanguage?: Language;
|
|
36
|
+
sendEvent?: (name: string, params: Record<string, unknown>, target?: HTMLElement | string | null) => void;
|
|
37
|
+
bizId?: string;
|
|
38
|
+
region?: Region;
|
|
39
|
+
language?: Language;
|
|
40
|
+
locale?: Locale;
|
|
41
|
+
isDev?: boolean;
|
|
42
|
+
theme?: Record<string, unknown>;
|
|
43
|
+
trace?: TraceContext;
|
|
44
|
+
evaluateConfig?: EvaluateConfig;
|
|
45
|
+
getPopupContainer?: () => HTMLElement;
|
|
46
|
+
providerWrapStyle?: React.CSSProperties;
|
|
47
|
+
}
|
|
48
|
+
export interface CozeLoopProviderProps extends CozeLoopContextValue {
|
|
49
|
+
children?: ReactNode;
|
|
50
|
+
}
|
|
51
|
+
export declare function useConfig(): CozeLoopContextValue;
|
|
52
|
+
declare function CozeLoopProviderImpl(props: CozeLoopProviderProps): import("react").JSX.Element;
|
|
53
|
+
export declare const CozeLoopProvider: typeof CozeLoopProviderImpl & {
|
|
54
|
+
useConfig: typeof useConfig;
|
|
55
|
+
};
|
|
56
|
+
export declare function useReportEvent(): (name: string, params: Record<string, unknown>, target?: HTMLElement | string | null) => void;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type ComponentType } from 'react';
|
|
2
|
+
export interface TraceDetailPanelProps {
|
|
3
|
+
platformType?: string;
|
|
4
|
+
traceID: string;
|
|
5
|
+
defaultSelectedSpanID?: string;
|
|
6
|
+
startTime?: string;
|
|
7
|
+
endTime?: string;
|
|
8
|
+
defaultActiveTabKey?: string;
|
|
9
|
+
visible: boolean;
|
|
10
|
+
onClose: () => void;
|
|
11
|
+
}
|
|
12
|
+
export interface TraceConfig {
|
|
13
|
+
enableTraceFeature: boolean;
|
|
14
|
+
enableTrajectory: boolean;
|
|
15
|
+
onTrajectoryHelpClick: () => void;
|
|
16
|
+
traceDetailPanel: ComponentType<TraceDetailPanelProps>;
|
|
17
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@cozeloop/config-provider",
|
|
3
|
+
"version": "0.0.1-beta.1",
|
|
4
|
+
"description": "Config Provider for CozeLoop",
|
|
5
|
+
"author": "qihai@bytedance.com",
|
|
6
|
+
"main": "./dist/index.mjs",
|
|
7
|
+
"types": "./dist/types/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist",
|
|
10
|
+
"README.md",
|
|
11
|
+
"CHANGELOG.md"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "tsc -b tsconfig.build.json",
|
|
15
|
+
"build:sdk": "rush package-sdk-build --package @cozeloop/config-provider --config ./rslib.config.js",
|
|
16
|
+
"lint": "eslint ./ --cache",
|
|
17
|
+
"test": "NODE_OPTIONS='--max_old_space_size=2048' NODE_ENV=test vitest --run --passWithNoTests",
|
|
18
|
+
"test:cov": "npm run test -- --coverage"
|
|
19
|
+
},
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@coze-arch/coze-design": "0.0.7-alpha.985c0d",
|
|
22
|
+
"@cozeloop/api-schema": "*",
|
|
23
|
+
"@cozeloop/i18n": "*",
|
|
24
|
+
"intl-messageformat": "^10.7.16"
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@babel/eslint-parser": "~7.25.8",
|
|
28
|
+
"@babel/eslint-plugin": "~7.25.7",
|
|
29
|
+
"@babel/plugin-proposal-async-generator-functions": "~7.20.7",
|
|
30
|
+
"@babel/plugin-proposal-class-properties": "~7.18.6",
|
|
31
|
+
"@babel/plugin-proposal-decorators": "~7.23.6",
|
|
32
|
+
"@babel/plugin-proposal-do-expressions": "~7.23.3",
|
|
33
|
+
"@babel/plugin-proposal-export-default-from": "~7.23.3",
|
|
34
|
+
"@babel/plugin-proposal-export-namespace-from": "~7.18.9",
|
|
35
|
+
"@babel/plugin-proposal-function-bind": "~7.23.3",
|
|
36
|
+
"@babel/plugin-proposal-nullish-coalescing-operator": "~7.18.6",
|
|
37
|
+
"@babel/plugin-proposal-object-rest-spread": "~7.20.7",
|
|
38
|
+
"@babel/plugin-proposal-optional-catch-binding": "~7.18.6",
|
|
39
|
+
"@babel/plugin-proposal-optional-chaining": "~7.21.0",
|
|
40
|
+
"@babel/plugin-proposal-pipeline-operator": "~7.23.3",
|
|
41
|
+
"@babel/plugin-syntax-dynamic-import": "~7.8.3",
|
|
42
|
+
"@babel/plugin-syntax-jsx": "~7.23.3",
|
|
43
|
+
"@babel/preset-env": "~7.20.2",
|
|
44
|
+
"@babel/preset-react": "~7.13.13",
|
|
45
|
+
"@eslint/compat": "~1.2.0",
|
|
46
|
+
"@eslint/eslintrc": "~3.1.0",
|
|
47
|
+
"@eslint/js": "~9.12.0",
|
|
48
|
+
"@rushstack/eslint-config": "~3.1.1",
|
|
49
|
+
"@rushstack/rush-sdk": "5.100.2",
|
|
50
|
+
"@stylistic/eslint-plugin-ts": "^2.8.0",
|
|
51
|
+
"@types/eslint": "~9.6.1",
|
|
52
|
+
"@types/estree": "^1.0.1",
|
|
53
|
+
"@types/node": "^18",
|
|
54
|
+
"@types/react": "18.2.37",
|
|
55
|
+
"@types/semver": "^7.3.4",
|
|
56
|
+
"@typescript-eslint/eslint-plugin": "^8.5.0",
|
|
57
|
+
"@typescript-eslint/parser": "~8.43.0",
|
|
58
|
+
"@typescript-eslint/rule-tester": "~8.10.0",
|
|
59
|
+
"@typescript-eslint/utils": "~8.10.0",
|
|
60
|
+
"@vitejs/plugin-react": "^4.2.1",
|
|
61
|
+
"@vitest/coverage-v8": "~3.0.5",
|
|
62
|
+
"eslint": "~9.34.0",
|
|
63
|
+
"eslint-config-airbnb": "^18.0.1",
|
|
64
|
+
"eslint-config-prettier": "~9.1.0",
|
|
65
|
+
"eslint-config-react-app": "^7",
|
|
66
|
+
"eslint-define-config": "~1.12.0",
|
|
67
|
+
"eslint-import-resolver-typescript": "^3",
|
|
68
|
+
"eslint-module-utils": "~2.8.1",
|
|
69
|
+
"eslint-plugin-babel": "^5.3.1",
|
|
70
|
+
"eslint-plugin-cypress": "^2.6.1",
|
|
71
|
+
"eslint-plugin-eslint-comments": "~3.2.0",
|
|
72
|
+
"eslint-plugin-import": "^2.29.0",
|
|
73
|
+
"eslint-plugin-jsx-a11y": "^6.2.3",
|
|
74
|
+
"eslint-plugin-prettier": "~5.2.1",
|
|
75
|
+
"eslint-plugin-promise": "^5.1.0",
|
|
76
|
+
"eslint-plugin-react": "~7.37.1",
|
|
77
|
+
"eslint-plugin-react-hooks": "5.1.0-beta-26f2496093-20240514",
|
|
78
|
+
"eslint-plugin-redux-saga": "^1.1.0",
|
|
79
|
+
"eslint-plugin-risxss": "~2.1.0",
|
|
80
|
+
"eslint-plugin-security": "3.0.1",
|
|
81
|
+
"eslint-plugin-unicorn": "48.0.1",
|
|
82
|
+
"eslint-rule-composer": "~0.3.0",
|
|
83
|
+
"eslint-traverse": "^1.0.0",
|
|
84
|
+
"eslint-utils": "~3.0.0",
|
|
85
|
+
"globals": "~15.11.0",
|
|
86
|
+
"happy-dom": "^20.0.10",
|
|
87
|
+
"json5": "^2.2.1",
|
|
88
|
+
"prettier": "~3.3.3",
|
|
89
|
+
"prettier-plugin-packagejson": "^2.3.0",
|
|
90
|
+
"semver": "^7.3.7",
|
|
91
|
+
"sucrase": "^3.32.0",
|
|
92
|
+
"ts-node": "^10.9.1",
|
|
93
|
+
"typescript": "~5.8.2",
|
|
94
|
+
"vite-tsconfig-paths": "^4.2.1",
|
|
95
|
+
"vitest": "~3.0.5"
|
|
96
|
+
},
|
|
97
|
+
"peerDependencies": {
|
|
98
|
+
"react": "~18.2.0"
|
|
99
|
+
},
|
|
100
|
+
"botPublishConfig": {
|
|
101
|
+
"main": "./dist/index.mjs",
|
|
102
|
+
"types": "./dist/types/index.d.ts",
|
|
103
|
+
"files": [
|
|
104
|
+
"dist",
|
|
105
|
+
"README.md",
|
|
106
|
+
"CHANGELOG.md"
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
"publishRegistries": [
|
|
110
|
+
"npm"
|
|
111
|
+
]
|
|
112
|
+
}
|