feat: Support for Chat Flow & Agent Support for binding a single chat flow (#765)

Co-authored-by: Yu Yang <72337138+tomasyu985@users.noreply.github.com>
Co-authored-by: zengxiaohui <csu.zengxiaohui@gmail.com>
Co-authored-by: lijunwen.gigoo <lijunwen.gigoo@bytedance.com>
Co-authored-by: lvxinyu.1117 <lvxinyu.1117@bytedance.com>
Co-authored-by: liuyunchao.0510 <liuyunchao.0510@bytedance.com>
Co-authored-by: haozhenfei <37089575+haozhenfei@users.noreply.github.com>
Co-authored-by: July <jiangxujin@bytedance.com>
Co-authored-by: tecvan-fe <fanwenjie.fe@bytedance.com>
This commit is contained in:
Zhj
2025-08-28 21:53:32 +08:00
committed by GitHub
parent bbc615a18e
commit d70101c979
503 changed files with 48036 additions and 3427 deletions

View File

@@ -0,0 +1,129 @@
/*
* Copyright 2025 coze-dev Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { type RuleSetRule } from '@rspack/core';
import semiCssVarPrefixPlugin from './semi-css-var-postcss-plugin';
import { IS_DEV_MODE } from './base';
type UseLoaders = Extract<RuleSetRule['use'], unknown[]>;
export const cssLoaders: UseLoaders = [
'style-loader',
{
loader: 'css-loader',
options: {
sourceMap: IS_DEV_MODE,
modules: {
auto: true,
exportLocalsConvention: 'camelCase',
localIdentName: !IS_DEV_MODE ? '[hash]' : '[path][name][ext]__[local]',
},
},
},
{
loader: 'postcss-loader',
options: {
postcssOptions: {
plugins: [
// eslint-disable-next-line @typescript-eslint/no-require-imports
require('tailwindcss')(),
// eslint-disable-next-line @typescript-eslint/no-require-imports
require('autoprefixer')(),
semiCssVarPrefixPlugin(),
],
},
},
},
];
/**
* 已经标记 sideEffects: false无需覆盖 的pkg:
* chat-open
*/
export const sideEffectsRules: RuleSetRule[] = [
{
test: /packages\/components\/bot-icons/,
sideEffects: false,
},
{
test: /packages\/components\/bot-semi/,
sideEffects: false,
},
{
test: /packages\/studio\/chat-area/,
sideEffects: false,
},
{
test: /packages\/studio\/chat-core/,
sideEffects: false,
},
{
test: /packages\/arch\/i18n/,
sideEffects: false,
},
].filter(r => r);
export const swcTsLoader: UseLoaders = [
{
loader: 'builtin:swc-loader',
options: {
sourceMap: IS_DEV_MODE,
jsc: {
parser: {
syntax: 'typescript',
tsx: true,
},
transform: {
react: {
runtime: 'automatic',
development: IS_DEV_MODE,
refresh: IS_DEV_MODE,
},
},
},
env: {
mode: 'usage',
coreJs: '3.37.1',
targets: [
'chrome >= 87',
'edge >= 88',
'firefox >= 78',
'safari >= 14',
],
},
},
},
];
export const devCssLoaders: UseLoaders = [
{
loader: 'postcss-loader',
options: {
postcssOptions: {
plugins: [
// eslint-disable-next-line @typescript-eslint/no-require-imports
require('tailwindcss')(),
// eslint-disable-next-line @typescript-eslint/no-require-imports
require('autoprefixer')(),
semiCssVarPrefixPlugin(),
],
},
},
},
];