diff --git a/packages/cli/src/services/FileCommandLoader.ts b/packages/cli/src/services/FileCommandLoader.ts
index 8095a72e3..ef81f9e69 100644
--- a/packages/cli/src/services/FileCommandLoader.ts
+++ b/packages/cli/src/services/FileCommandLoader.ts
@@ -11,7 +11,7 @@ import toml from '@iarna/toml';
import { glob } from 'glob';
import { z } from 'zod';
import type { Config } from '@qwen-code/qwen-code-core';
-import { Storage } from '@qwen-code/qwen-code-core';
+import { EXTENSIONS_CONFIG_FILENAME, Storage } from '@qwen-code/qwen-code-core';
import type { ICommandLoader } from './types.js';
import {
parseMarkdownCommand,
@@ -22,7 +22,6 @@ import {
type CommandDefinition,
} from './command-factory.js';
import type { SlashCommand } from '../ui/commands/types.js';
-import { EXTENSIONS_CONFIG_FILENAME } from '../config/extensions/variables.js';
interface CommandDirectory {
path: string;
diff --git a/packages/cli/src/ui/components/DialogManager.tsx b/packages/cli/src/ui/components/DialogManager.tsx
index a87192ab2..694c77d64 100644
--- a/packages/cli/src/ui/components/DialogManager.tsx
+++ b/packages/cli/src/ui/components/DialogManager.tsx
@@ -17,7 +17,6 @@ import { QwenOAuthProgress } from './QwenOAuthProgress.js';
import { AuthDialog } from '../auth/AuthDialog.js';
import { OpenAIKeyPrompt } from './OpenAIKeyPrompt.js';
import { EditorSettingsDialog } from './EditorSettingsDialog.js';
-import { WorkspaceMigrationDialog } from './WorkspaceMigrationDialog.js';
import { PermissionsModifyTrustDialog } from './PermissionsModifyTrustDialog.js';
import { ModelDialog } from './ModelDialog.js';
import { ApprovalModeDialog } from './ApprovalModeDialog.js';
@@ -78,15 +77,6 @@ export const DialogManager = ({
if (uiState.showIdeRestartPrompt) {
return ;
}
- if (uiState.showWorkspaceMigrationDialog) {
- return (
-
- );
- }
if (uiState.shouldShowIdePrompt) {
return (
void;
- onClose: () => void;
-}) {
- const { workspaceExtensions, onOpen, onClose } = props;
- const [migrationComplete, setMigrationComplete] = useState(false);
- const [failedExtensions, setFailedExtensions] = useState([]);
- onOpen();
- const onMigrate = async () => {
- const failed = await performWorkspaceExtensionMigration(
- workspaceExtensions,
- // We aren't updating extensions, just moving them around, don't need to ask for consent.
- async (_) => true,
- );
- setFailedExtensions(failed);
- setMigrationComplete(true);
- };
-
- useKeypress(
- (key) => {
- if (migrationComplete && key.sequence === 'q') {
- process.exit(0);
- }
- },
- { isActive: true },
- );
-
- if (migrationComplete) {
- return (
-
- {failedExtensions.length > 0 ? (
- <>
-
- The following extensions failed to migrate. Please try installing
- them manually. To see other changes, Qwen Code must be restarted.
- Press 'q' to quit.
-
-
- {failedExtensions.map((failed) => (
- - {failed}
- ))}
-
- >
- ) : (
-
- Migration complete. To see changes, Qwen Code must be restarted.
- Press 'q' to quit.
-
- )}
-
- );
- }
-
- return (
-
-
- Workspace-level extensions are deprecated{'\n'}
-
-
- Would you like to install them at the user level?
-
-
- The extension definition will remain in your workspace directory.
-
-
- If you opt to skip, you can install them manually using the extensions
- install command.
-
-
-
- {workspaceExtensions.map((extension) => (
- - {extension.config.name}
- ))}
-
-
- {
- if (value === 'migrate') {
- onMigrate();
- } else {
- onClose();
- }
- }}
- />
-
-
- );
-}
diff --git a/packages/core/src/extension/extensionManager.ts b/packages/core/src/extension/extensionManager.ts
index 5b2922e5b..1fab09498 100644
--- a/packages/core/src/extension/extensionManager.ts
+++ b/packages/core/src/extension/extensionManager.ts
@@ -1334,5 +1334,3 @@ export async function parseInstallSource(
}
return installMetadata;
}
-
-export { checkForExtensionUpdate };
diff --git a/packages/core/src/extension/index.ts b/packages/core/src/extension/index.ts
new file mode 100644
index 000000000..dd4b413fb
--- /dev/null
+++ b/packages/core/src/extension/index.ts
@@ -0,0 +1,3 @@
+export * from './extensionManager.js';
+export * from './variables.js';
+export * from './github.js';
diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts
index 8d93c35ce..fb14dc610 100644
--- a/packages/core/src/index.ts
+++ b/packages/core/src/index.ts
@@ -84,7 +84,7 @@ export * from './subagents/index.js';
export * from './skills/index.js';
// Export extension
-export * from './extension/extensionManager.js';
+export * from './extension/index.js';
// Export prompt logic
export * from './prompts/mcp-prompts.js';