/* * 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 React from 'react'; import qs from 'qs'; import { useTitle, useCurrentWidgetContext, useIDEParams, useIDENavigate, useSpaceId, useProjectId, useCommitVersion, } from '@coze-project-ide/framework'; import { usePrimarySidebarStore } from '@coze-project-ide/biz-components'; import { KnowledgeParamsStoreProvider } from '@coze-data/knowledge-stores'; import { type UnitType, type OptType, } from '@coze-data/knowledge-resource-processor-core'; import { DatabaseDetail, type DatabaseTabs } from '@coze-data/database-v2'; const Main = () => { const spaceID = useSpaceId(); const projectID = useProjectId(); const { uri, widget } = useCurrentWidgetContext(); const IDENav = useIDENavigate(); const title = useTitle(); const { version } = useCommitVersion(); const refetch = usePrimarySidebarStore(state => state.refetch); const queryObject = useIDEParams(); const { type, opt, doc_id, page_mode, bot_id, workflow_id, agent_id, tab } = queryObject; return ( { widget.setTitle(displayName); // 设置 tab 标题 if (displayName && displayName !== title) { refetch(); // 更新侧边栏 name } }} onStatusChange={status => { widget.setUIState(status); }} resourceNavigate={{ // eslint-disable-next-line max-params toResource: (resource, resourceID, query, opts) => IDENav(`/${resource}/${resourceID}?${qs.stringify(query)}`, opts), }} > ); }; export default Main;