prime-dev-cli 1.0.15 → 1.0.17

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 (50) hide show
  1. package/dist/server/.next/BUILD_ID +1 -1
  2. package/dist/server/.next/app-build-manifest.json +2 -2
  3. package/dist/server/.next/build-manifest.json +2 -2
  4. package/dist/server/.next/cache/.rscinfo +1 -1
  5. package/dist/server/.next/cache/.tsbuildinfo +1 -1
  6. package/dist/server/.next/cache/eslint/.cache_1qa5vxt +1 -1
  7. package/dist/server/.next/fallback-build-manifest.json +2 -2
  8. package/dist/server/.next/next-minimal-server.js.nft.json +1 -1
  9. package/dist/server/.next/next-server.js.nft.json +1 -1
  10. package/dist/server/.next/prerender-manifest.json +9 -9
  11. package/dist/server/.next/server/app/_not-found.html +1 -1
  12. package/dist/server/.next/server/app/_not-found.rsc +1 -1
  13. package/dist/server/.next/server/app/configuration/page/app-build-manifest.json +1 -1
  14. package/dist/server/.next/server/app/configuration/page_client-reference-manifest.js +1 -1
  15. package/dist/server/.next/server/app/configuration.html +1 -1
  16. package/dist/server/.next/server/app/configuration.rsc +2 -2
  17. package/dist/server/.next/server/app/index.html +1 -1
  18. package/dist/server/.next/server/app/index.rsc +1 -1
  19. package/dist/server/.next/server/app/initialization/page/app-build-manifest.json +1 -1
  20. package/dist/server/.next/server/app/initialization/page_client-reference-manifest.js +1 -1
  21. package/dist/server/.next/server/app/initialization.html +1 -1
  22. package/dist/server/.next/server/app/initialization.rsc +2 -2
  23. package/dist/server/.next/server/chunks/[root-of-the-server]__072f5c45._.js +7 -7
  24. package/dist/server/.next/server/chunks/[root-of-the-server]__072f5c45._.js.map +1 -1
  25. package/dist/server/.next/server/chunks/[root-of-the-server]__629e6d6a._.js +1 -1
  26. package/dist/server/.next/server/chunks/[root-of-the-server]__629e6d6a._.js.map +1 -1
  27. package/dist/server/.next/server/chunks/[root-of-the-server]__7fc974c9._.js +10 -10
  28. package/dist/server/.next/server/chunks/[root-of-the-server]__7fc974c9._.js.map +1 -1
  29. package/dist/server/.next/server/chunks/[root-of-the-server]__899d82eb._.js +6 -6
  30. package/dist/server/.next/server/chunks/[root-of-the-server]__899d82eb._.js.map +1 -1
  31. package/dist/server/.next/server/chunks/[root-of-the-server]__f6d4fb58._.js +6 -6
  32. package/dist/server/.next/server/chunks/[root-of-the-server]__f6d4fb58._.js.map +1 -1
  33. package/dist/server/.next/server/chunks/ssr/_5d353cf8._.js +1 -1
  34. package/dist/server/.next/server/chunks/ssr/_5d353cf8._.js.map +1 -1
  35. package/dist/server/.next/server/chunks/ssr/packages_server_src_7cef6dbd._.js +1 -1
  36. package/dist/server/.next/server/chunks/ssr/packages_server_src_7cef6dbd._.js.map +1 -1
  37. package/dist/server/.next/server/pages/404.html +1 -1
  38. package/dist/server/.next/server/pages/500.html +1 -1
  39. package/dist/server/.next/server/server-reference-manifest.js +1 -1
  40. package/dist/server/.next/server/server-reference-manifest.json +1 -1
  41. package/dist/server/.next/static/chunks/{684226c5a0f22bc1.js → 5f8beee58a024d75.js} +2 -2
  42. package/dist/server/.next/static/chunks/{765c1fd313250591.js.map → 7e0a49ac2b139df9.js.map} +1 -1
  43. package/dist/server/.next/static/chunks/{2c0e57fbc9520adc.js → 9650e7136a9bfc30.js} +2 -2
  44. package/dist/server/.next/static/chunks/f31695470ae3a484.js.map +1 -0
  45. package/dist/server/.next/trace +1 -1
  46. package/package.json +1 -1
  47. package/dist/server/.next/static/chunks/2c669537f498f2db.js.map +0 -1
  48. /package/dist/server/.next/static/{49cZ1UWtOwiNisWunvj9J → Xoig0sIWc0oIgbMH6U6Ew}/_buildManifest.js +0 -0
  49. /package/dist/server/.next/static/{49cZ1UWtOwiNisWunvj9J → Xoig0sIWc0oIgbMH6U6Ew}/_clientMiddlewareManifest.json +0 -0
  50. /package/dist/server/.next/static/{49cZ1UWtOwiNisWunvj9J → Xoig0sIWc0oIgbMH6U6Ew}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/compiled/os-browserify/browser.js","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/compiled/path-browserify/index.js","turbopack:///[project]/packages/server/src/lib/workspace-types.ts","turbopack:///[project]/packages/server/src/components/project-initializer.tsx"],"sourcesContent":["(function(){if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var n={};!function(){var e=n;e.endianness=function(){return\"LE\"};e.hostname=function(){if(typeof location!==\"undefined\"){return location.hostname}else return\"\"};e.loadavg=function(){return[]};e.uptime=function(){return 0};e.freemem=function(){return Number.MAX_VALUE};e.totalmem=function(){return Number.MAX_VALUE};e.cpus=function(){return[]};e.type=function(){return\"Browser\"};e.release=function(){if(typeof navigator!==\"undefined\"){return navigator.appVersion}return\"\"};e.networkInterfaces=e.getNetworkInterfaces=function(){return{}};e.arch=function(){return\"javascript\"};e.platform=function(){return\"browser\"};e.tmpdir=e.tmpDir=function(){return\"/tmp\"};e.EOL=\"\\n\";e.homedir=function(){return\"/\"}}();module.exports=n})();","(function(){\"use strict\";var e={114:function(e){function assertPath(e){if(typeof e!==\"string\"){throw new TypeError(\"Path must be a string. Received \"+JSON.stringify(e))}}function normalizeStringPosix(e,r){var t=\"\";var i=0;var n=-1;var a=0;var f;for(var l=0;l<=e.length;++l){if(l<e.length)f=e.charCodeAt(l);else if(f===47)break;else f=47;if(f===47){if(n===l-1||a===1){}else if(n!==l-1&&a===2){if(t.length<2||i!==2||t.charCodeAt(t.length-1)!==46||t.charCodeAt(t.length-2)!==46){if(t.length>2){var s=t.lastIndexOf(\"/\");if(s!==t.length-1){if(s===-1){t=\"\";i=0}else{t=t.slice(0,s);i=t.length-1-t.lastIndexOf(\"/\")}n=l;a=0;continue}}else if(t.length===2||t.length===1){t=\"\";i=0;n=l;a=0;continue}}if(r){if(t.length>0)t+=\"/..\";else t=\"..\";i=2}}else{if(t.length>0)t+=\"/\"+e.slice(n+1,l);else t=e.slice(n+1,l);i=l-n-1}n=l;a=0}else if(f===46&&a!==-1){++a}else{a=-1}}return t}function _format(e,r){var t=r.dir||r.root;var i=r.base||(r.name||\"\")+(r.ext||\"\");if(!t){return i}if(t===r.root){return t+i}return t+e+i}var r={resolve:function resolve(){var e=\"\";var r=false;var t;for(var i=arguments.length-1;i>=-1&&!r;i--){var n;if(i>=0)n=arguments[i];else{if(t===undefined)t=\"\";n=t}assertPath(n);if(n.length===0){continue}e=n+\"/\"+e;r=n.charCodeAt(0)===47}e=normalizeStringPosix(e,!r);if(r){if(e.length>0)return\"/\"+e;else return\"/\"}else if(e.length>0){return e}else{return\".\"}},normalize:function normalize(e){assertPath(e);if(e.length===0)return\".\";var r=e.charCodeAt(0)===47;var t=e.charCodeAt(e.length-1)===47;e=normalizeStringPosix(e,!r);if(e.length===0&&!r)e=\".\";if(e.length>0&&t)e+=\"/\";if(r)return\"/\"+e;return e},isAbsolute:function isAbsolute(e){assertPath(e);return e.length>0&&e.charCodeAt(0)===47},join:function join(){if(arguments.length===0)return\".\";var e;for(var t=0;t<arguments.length;++t){var i=arguments[t];assertPath(i);if(i.length>0){if(e===undefined)e=i;else e+=\"/\"+i}}if(e===undefined)return\".\";return r.normalize(e)},relative:function relative(e,t){assertPath(e);assertPath(t);if(e===t)return\"\";e=r.resolve(e);t=r.resolve(t);if(e===t)return\"\";var i=1;for(;i<e.length;++i){if(e.charCodeAt(i)!==47)break}var n=e.length;var a=n-i;var f=1;for(;f<t.length;++f){if(t.charCodeAt(f)!==47)break}var l=t.length;var s=l-f;var o=a<s?a:s;var u=-1;var h=0;for(;h<=o;++h){if(h===o){if(s>o){if(t.charCodeAt(f+h)===47){return t.slice(f+h+1)}else if(h===0){return t.slice(f+h)}}else if(a>o){if(e.charCodeAt(i+h)===47){u=h}else if(h===0){u=0}}break}var c=e.charCodeAt(i+h);var v=t.charCodeAt(f+h);if(c!==v)break;else if(c===47)u=h}var g=\"\";for(h=i+u+1;h<=n;++h){if(h===n||e.charCodeAt(h)===47){if(g.length===0)g+=\"..\";else g+=\"/..\"}}if(g.length>0)return g+t.slice(f+u);else{f+=u;if(t.charCodeAt(f)===47)++f;return t.slice(f)}},_makeLong:function _makeLong(e){return e},dirname:function dirname(e){assertPath(e);if(e.length===0)return\".\";var r=e.charCodeAt(0);var t=r===47;var i=-1;var n=true;for(var a=e.length-1;a>=1;--a){r=e.charCodeAt(a);if(r===47){if(!n){i=a;break}}else{n=false}}if(i===-1)return t?\"/\":\".\";if(t&&i===1)return\"//\";return e.slice(0,i)},basename:function basename(e,r){if(r!==undefined&&typeof r!==\"string\")throw new TypeError('\"ext\" argument must be a string');assertPath(e);var t=0;var i=-1;var n=true;var a;if(r!==undefined&&r.length>0&&r.length<=e.length){if(r.length===e.length&&r===e)return\"\";var f=r.length-1;var l=-1;for(a=e.length-1;a>=0;--a){var s=e.charCodeAt(a);if(s===47){if(!n){t=a+1;break}}else{if(l===-1){n=false;l=a+1}if(f>=0){if(s===r.charCodeAt(f)){if(--f===-1){i=a}}else{f=-1;i=l}}}}if(t===i)i=l;else if(i===-1)i=e.length;return e.slice(t,i)}else{for(a=e.length-1;a>=0;--a){if(e.charCodeAt(a)===47){if(!n){t=a+1;break}}else if(i===-1){n=false;i=a+1}}if(i===-1)return\"\";return e.slice(t,i)}},extname:function extname(e){assertPath(e);var r=-1;var t=0;var i=-1;var n=true;var a=0;for(var f=e.length-1;f>=0;--f){var l=e.charCodeAt(f);if(l===47){if(!n){t=f+1;break}continue}if(i===-1){n=false;i=f+1}if(l===46){if(r===-1)r=f;else if(a!==1)a=1}else if(r!==-1){a=-1}}if(r===-1||i===-1||a===0||a===1&&r===i-1&&r===t+1){return\"\"}return e.slice(r,i)},format:function format(e){if(e===null||typeof e!==\"object\"){throw new TypeError('The \"pathObject\" argument must be of type Object. Received type '+typeof e)}return _format(\"/\",e)},parse:function parse(e){assertPath(e);var r={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(e.length===0)return r;var t=e.charCodeAt(0);var i=t===47;var n;if(i){r.root=\"/\";n=1}else{n=0}var a=-1;var f=0;var l=-1;var s=true;var o=e.length-1;var u=0;for(;o>=n;--o){t=e.charCodeAt(o);if(t===47){if(!s){f=o+1;break}continue}if(l===-1){s=false;l=o+1}if(t===46){if(a===-1)a=o;else if(u!==1)u=1}else if(a!==-1){u=-1}}if(a===-1||l===-1||u===0||u===1&&a===l-1&&a===f+1){if(l!==-1){if(f===0&&i)r.base=r.name=e.slice(1,l);else r.base=r.name=e.slice(f,l)}}else{if(f===0&&i){r.name=e.slice(1,a);r.base=e.slice(1,l)}else{r.name=e.slice(f,a);r.base=e.slice(f,l)}r.ext=e.slice(a,l)}if(f>0)r.dir=e.slice(0,f-1);else if(i)r.dir=\"/\";return r},sep:\"/\",delimiter:\":\",win32:null,posix:null};r.posix=r;e.exports=r}};var r={};function __nccwpck_require__(t){var i=r[t];if(i!==undefined){return i.exports}var n=r[t]={exports:{}};var a=true;try{e[t](n,n.exports,__nccwpck_require__);a=false}finally{if(a)delete r[t]}return n.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var t=__nccwpck_require__(114);module.exports=t})();","import { homedir, cpus } from 'os';\nimport { join } from 'path';\n\n/**\n * 工作空间配置常量\n */\nexport const WORKSPACE_CONFIG = {\n // 工作空间根目录路径\n WORKSPACE_ROOT: join(homedir(), 'Documents', 'prime-workspace'),\n\n // Git 操作超时时间 (毫秒)\n GIT_TIMEOUT: 300000, // 5分钟\n\n // 最大并发克隆数量(基于CPU核心数,最小2个,最大8个)\n MAX_CONCURRENT_CLONES: Math.max(2, Math.min(cpus().length, 8)),\n\n // 重试次数限制\n MAX_RETRY_ATTEMPTS: 3,\n} as const;\n\nexport const PROJECT_CONFIG_PATH = join(homedir(), '.prime-projects.json');\n\nexport interface ProjectConfig {\n repo: string;\n mockingIntercept?: boolean;\n mockOpen?: boolean;\n envs: {\n [envName: string]: {\n host: string;\n currentProxy: string;\n proxyEnv: {\n [key: string]: string;\n };\n envFileName: string;\n proxyKey: string;\n subApps?: string[];\n };\n };\n}\n\nexport interface ProjectsConfig {\n [projectName: string]: ProjectConfig;\n}\n\n/**\n * 项目状态枚举\n */\nexport enum ProjectStatus {\n PENDING = 'pending',\n EXISTING = 'existing',\n CLONING = 'cloning',\n SUCCESS = 'success',\n FAILED = 'failed',\n RETRYING = 'retrying',\n INCOMPLETE = 'incomplete', // 不完整的项目,需要清理\n}\n\n/**\n * 项目进度信息接口\n */\nexport interface ProjectProgress {\n projectName: string;\n status: ProjectStatus;\n progress: number; // 0-100\n message: string;\n error?: string;\n startTime?: number;\n endTime?: number;\n}\n\n/**\n * 初始化结果接口\n */\nexport interface InitializationResult {\n success: boolean;\n totalProjects: number;\n successCount: number;\n failedCount: number;\n failedProjects: string[];\n workspacePath: string;\n duration: number;\n}\n\n/**\n * Git 操作配置接口\n */\nexport interface GitOperationConfig {\n repoUrl: string;\n targetDir: string;\n timeout: number;\n onProgress?: (progress: number, message: string) => void;\n onError?: (error: string) => void;\n onLog?: (projectName: string, logType: 'stdout' | 'stderr' | 'progress', content: string) => void;\n} ","\"use client\";\n\nimport { useEffect, useState } from 'react';\nimport { useRouter } from 'next/navigation';\nimport { Button } from '@/components/ui/button';\nimport { ProjectStatus } from '@/lib/workspace-types';\n\ninterface ProjectState {\n name: string;\n status: ProjectStatus;\n progress: number;\n message: string;\n error?: string;\n canRetry: boolean;\n isOpening?: boolean;\n isCleaningUp?: boolean;\n needsCleanup?: boolean;\n logs?: Array<{type: 'stdout' | 'stderr' | 'progress', content: string, timestamp: number}>;\n}\n\ninterface InitializationState {\n isInitializing: boolean;\n isCompleted: boolean;\n isLoading: boolean;\n hasCompleted: boolean;\n globalProgress: number;\n globalMessage: string;\n projects: Record<string, ProjectState>;\n completionSummary?: {\n success: boolean;\n totalProjects: number;\n successCount: number;\n failedCount: number;\n duration: number;\n };\n}\n\nconst ProjectInitializer = () => {\n const router = useRouter();\n const [state, setState] = useState<InitializationState>({\n isInitializing: false,\n isCompleted: false,\n isLoading: true,\n hasCompleted: false,\n globalProgress: 0,\n globalMessage: '正在检查工作空间状态...',\n projects: {},\n });\n \n const [expandedLogs, setExpandedLogs] = useState<Record<string, boolean>>({});\n\n // 页面加载时检查工作空间状态\n useEffect(() => {\n checkWorkspaceStatus();\n }, []);\n\n // 检查工作空间状态\n const checkWorkspaceStatus = async () => {\n try {\n setState(prev => ({\n ...prev,\n isLoading: true,\n globalMessage: '正在检查工作空间状态...',\n }));\n\n const response = await fetch('/api/check-workspace');\n const data = await response.json();\n\n if (data.success) {\n const projectStates: Record<string, ProjectState> = {};\n data.projects.forEach((project: { name: string; status: ProjectStatus; message: string; needsCleanup?: boolean }) => {\n projectStates[project.name] = {\n name: project.name,\n status: project.status,\n progress: project.status === ProjectStatus.EXISTING ? 100 : 0,\n message: project.message,\n canRetry: false,\n needsCleanup: project.needsCleanup || false,\n };\n });\n\n setState(prev => ({\n ...prev,\n isLoading: false,\n projects: projectStates,\n globalMessage: data.message || '检查完成',\n }));\n } else {\n setState(prev => ({\n ...prev,\n isLoading: false,\n globalMessage: data.error || '检查工作空间状态失败',\n }));\n }\n } catch (error) {\n setState(prev => ({\n ...prev,\n isLoading: false,\n globalMessage: '无法连接到服务器,请刷新页面重试',\n }));\n console.error('检查工作空间状态失败:', error);\n }\n };\n\n // 开始初始化工作空间\n const startInitialization = () => {\n setState(prev => ({\n ...prev,\n isInitializing: true,\n isCompleted: false,\n hasCompleted: false,\n globalProgress: 0,\n globalMessage: '正在连接服务器...',\n projects: {},\n completionSummary: undefined,\n }));\n\n // 创建 EventSource 连接\n const eventSource = new EventSource('/api/initialize-workspace');\n\n eventSource.onmessage = (event) => {\n try {\n const data = JSON.parse(event.data);\n handleSSEMessage(data);\n } catch (error) {\n console.error('解析 SSE 消息失败:', error);\n }\n };\n\n eventSource.onerror = () => {\n setState(prev => {\n // 如果已经收到完成消息,则不显示错误(这是正常的连接关闭)\n if (prev.hasCompleted) {\n return prev;\n }\n \n return {\n ...prev,\n isInitializing: false,\n globalMessage: '连接服务器失败,请重试',\n };\n });\n eventSource.close();\n };\n\n // 监听连接关闭\n eventSource.addEventListener('error', () => {\n eventSource.close();\n });\n };\n\n // 处理 SSE 消息\n const handleSSEMessage = (data: {\n type: string;\n progress?: number;\n message?: string;\n projects?: string[];\n projectName?: string;\n error?: string;\n logType?: 'stdout' | 'stderr' | 'progress';\n content?: string;\n timestamp?: number;\n result?: {\n success: boolean;\n totalProjects: number;\n successCount: number;\n failedCount: number;\n duration: number;\n };\n }) => {\n switch (data.type) {\n case 'initialization':\n case 'workspace_created':\n case 'projects_loaded':\n setState(prev => ({\n ...prev,\n globalProgress: (data.progress as number) || 0,\n globalMessage: (data.message as string) || '',\n }));\n \n // 如果收到项目列表,初始化项目状态\n if (data.projects && Array.isArray(data.projects)) {\n const projectStates: Record<string, ProjectState> = {};\n data.projects.forEach((projectName: string) => {\n projectStates[projectName] = {\n name: projectName,\n status: ProjectStatus.PENDING,\n progress: 0,\n message: '等待开始...',\n canRetry: false,\n };\n });\n setState(prev => ({ ...prev, projects: projectStates }));\n }\n break;\n\n case 'project_existing':\n if (data.projectName) {\n const projectName = data.projectName;\n setState(prev => ({\n ...prev,\n globalProgress: data.progress ?? prev.globalProgress,\n globalMessage: data.message ?? '',\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n status: ProjectStatus.EXISTING,\n message: '项目已存在',\n progress: 100,\n canRetry: false,\n },\n },\n }));\n }\n break;\n\n case 'project_start':\n if (data.projectName) {\n const projectName = data.projectName;\n setState(prev => ({\n ...prev,\n globalProgress: data.progress ?? prev.globalProgress,\n globalMessage: data.message ?? '',\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n status: ProjectStatus.CLONING,\n message: '开始克隆...',\n progress: 0,\n },\n },\n }));\n }\n break;\n\n case 'project_progress':\n if (data.projectName) {\n const projectName = data.projectName;\n setState(prev => ({\n ...prev,\n globalProgress: data.progress ?? prev.globalProgress,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n message: data.message ?? '',\n progress: Math.min(data.progress ?? 0, 100),\n },\n },\n }));\n }\n break;\n\n case 'project_success':\n if (data.projectName) {\n const projectName = data.projectName;\n setState(prev => ({\n ...prev,\n globalProgress: data.progress ?? prev.globalProgress,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n status: ProjectStatus.SUCCESS,\n message: '克隆成功',\n progress: 100,\n canRetry: false,\n },\n },\n }));\n }\n break;\n\n case 'project_failed':\n if (data.projectName) {\n const projectName = data.projectName;\n setState(prev => ({\n ...prev,\n globalProgress: data.progress ?? prev.globalProgress,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n status: ProjectStatus.FAILED,\n message: '克隆失败',\n error: data.error,\n canRetry: true,\n },\n },\n }));\n }\n break;\n\n case 'command_log':\n if (data.projectName && data.logType && data.content !== undefined && data.timestamp) {\n const projectName = data.projectName;\n const logType = data.logType as 'stdout' | 'stderr' | 'progress';\n const content = data.content as string;\n const timestamp = data.timestamp as number;\n \n setState(prev => ({\n ...prev,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n logs: [\n ...(prev.projects[projectName]?.logs || []),\n {\n type: logType,\n content: content,\n timestamp: timestamp,\n }\n ].slice(-1000), // 保留最新的1000条日志\n },\n },\n }));\n }\n break;\n\n case 'completion':\n setState(prev => ({\n ...prev,\n isInitializing: false,\n isCompleted: true,\n hasCompleted: true,\n globalProgress: 100,\n globalMessage: data.message ?? '初始化完成',\n completionSummary: data.result ? {\n success: data.result.success,\n totalProjects: data.result.totalProjects,\n successCount: data.result.successCount,\n failedCount: data.result.failedCount,\n duration: data.result.duration,\n } : undefined,\n }));\n break;\n\n case 'error':\n setState(prev => ({\n ...prev,\n isInitializing: false,\n hasCompleted: true,\n globalMessage: data.message ?? '发生错误',\n globalProgress: data.progress ?? prev.globalProgress,\n }));\n break;\n }\n };\n\n // 在 Cursor 中打开项目(使用 cursor:// schema 协议)\n const openProject = async (projectName: string) => {\n setState(prev => ({\n ...prev,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n isOpening: true,\n },\n },\n }));\n\n try {\n const response = await fetch('/api/open-project', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ projectName }),\n });\n\n const result = await response.json();\n\n if (result.success && result.cursorUrl) {\n // 使用 cursor:// schema 协议打开项目\n // 创建临时链接并点击,这样可以触发系统调用 Cursor 应用程序\n const link = document.createElement('a');\n link.href = result.cursorUrl;\n link.style.display = 'none';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n } else {\n console.error('打开项目失败:', result.error);\n }\n\n setState(prev => ({\n ...prev,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n isOpening: false,\n },\n },\n }));\n } catch (error) {\n setState(prev => ({\n ...prev,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n isOpening: false,\n },\n },\n }));\n console.error('打开项目失败:', error);\n }\n };\n\n // 清理不完整的项目\n const cleanupProject = async (projectName: string) => {\n setState(prev => ({\n ...prev,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n isCleaningUp: true,\n },\n },\n }));\n\n try {\n const response = await fetch('/api/cleanup-project', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ projectName }),\n });\n\n const result = await response.json();\n\n if (result.success) {\n setState(prev => ({\n ...prev,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n status: ProjectStatus.PENDING,\n message: '已清理,待克隆',\n isCleaningUp: false,\n needsCleanup: false,\n },\n },\n }));\n } else {\n setState(prev => ({\n ...prev,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n isCleaningUp: false,\n error: result.error,\n },\n },\n }));\n }\n } catch (error) {\n setState(prev => ({\n ...prev,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n isCleaningUp: false,\n error: error instanceof Error ? error.message : String(error),\n },\n },\n }));\n }\n };\n\n // 重试单个项目\n const retryProject = async (projectName: string) => {\n setState(prev => ({\n ...prev,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n status: ProjectStatus.RETRYING,\n message: '正在重试...',\n progress: 0,\n canRetry: false,\n },\n },\n }));\n\n try {\n const response = await fetch('/api/retry-project', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ projectName }),\n });\n\n const result = await response.json();\n\n setState(prev => ({\n ...prev,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n status: result.success ? ProjectStatus.SUCCESS : ProjectStatus.FAILED,\n message: result.message,\n error: result.error,\n progress: result.success ? 100 : prev.projects[projectName].progress,\n canRetry: !result.success,\n },\n },\n }));\n } catch (error) {\n setState(prev => ({\n ...prev,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n status: ProjectStatus.FAILED,\n message: '重试失败',\n error: error instanceof Error ? error.message : String(error),\n canRetry: true,\n },\n },\n }));\n }\n };\n\n // 获取状态样式\n const getStatusColor = (status: ProjectStatus) => {\n switch (status) {\n case ProjectStatus.EXISTING:\n return 'text-green-600 bg-green-50 border-green-200';\n case ProjectStatus.SUCCESS:\n return 'text-green-600 bg-green-50 border-green-200';\n case ProjectStatus.FAILED:\n return 'text-red-600 bg-red-50 border-red-200';\n case ProjectStatus.INCOMPLETE:\n return 'text-orange-600 bg-orange-50 border-orange-200';\n case ProjectStatus.CLONING:\n case ProjectStatus.RETRYING:\n return 'text-blue-600 bg-blue-50 border-blue-200';\n case ProjectStatus.PENDING:\n return 'text-gray-600 bg-gray-50 border-gray-200';\n default:\n return 'text-gray-600 bg-gray-50 border-gray-200';\n }\n };\n\n const getStatusText = (status: ProjectStatus) => {\n switch (status) {\n case ProjectStatus.PENDING:\n return '待克隆';\n case ProjectStatus.EXISTING:\n return '已存在';\n case ProjectStatus.CLONING:\n return '克隆中';\n case ProjectStatus.SUCCESS:\n return '成功';\n case ProjectStatus.FAILED:\n return '失败';\n case ProjectStatus.INCOMPLETE:\n return '不完整';\n case ProjectStatus.RETRYING:\n return '重试中';\n default:\n return '未知';\n }\n };\n\n // 判断是否所有项目都已存在\n const isAllProjectsExisting = () => {\n const projectValues = Object.values(state.projects);\n return projectValues.length > 0 && \n projectValues.every(project => project.status === ProjectStatus.EXISTING);\n };\n\n // 导航到项目配置页面\n const navigateToProjectConfig = (projectName: string) => {\n router.push(`/configuration?project=${encodeURIComponent(projectName)}`);\n };\n\n return (\n <div className=\"container mx-auto p-4 sm:p-6 md:p-8\">\n <div className=\"flex justify-between items-center mb-6\">\n <h1 className=\"text-2xl font-bold\">项目初始化</h1>\n {state.isLoading ? (\n <Button disabled>检查中...</Button>\n ) : (\n <Button \n onClick={startInitialization}\n disabled={state.isInitializing}\n >\n {state.isInitializing ? '初始化中...' : '创建项目空间'}\n </Button>\n )}\n </div>\n\n {/* 全局进度 */}\n {(state.isInitializing || state.isCompleted) && !isAllProjectsExisting() && (\n <div className=\"mb-6 p-4 bg-gray-50 rounded-lg\">\n <div className=\"flex justify-between items-center mb-2\">\n <span className=\"text-sm font-medium\">{state.globalMessage}</span>\n <span className=\"text-sm text-gray-600\">{state.globalProgress}%</span>\n </div>\n <div className=\"w-full bg-gray-200 rounded-full h-2\">\n <div \n className=\"bg-blue-600 h-2 rounded-full transition-all duration-300\"\n style={{ width: `${state.globalProgress}%` }}\n />\n </div>\n </div>\n )}\n\n {/* 完成总结 */}\n {state.completionSummary && !isAllProjectsExisting() && (\n <div className={`mb-6 p-4 rounded-lg border ${\n state.completionSummary.success \n ? 'bg-green-50 border-green-200' \n : 'bg-yellow-50 border-yellow-200'\n }`}>\n <h3 className=\"font-semibold mb-2\">初始化完成</h3>\n <div className=\"grid grid-cols-2 md:grid-cols-4 gap-4 text-sm\">\n <div>总项目数: {state.completionSummary.totalProjects}</div>\n <div className=\"text-green-600\">成功: {state.completionSummary.successCount}</div>\n <div className=\"text-red-600\">失败: {state.completionSummary.failedCount}</div>\n <div>耗时: {Math.round(state.completionSummary.duration / 1000)}s</div>\n </div>\n </div>\n )}\n\n {/* 项目列表 */}\n <div className=\"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4\">\n {Object.keys(state.projects).length > 0 ? (\n Object.values(state.projects).map((project) => (\n <div \n key={project.name} \n className={`border rounded-lg p-4 ${getStatusColor(project.status)}`}\n >\n <div className=\"flex justify-between items-start mb-2\">\n <h2 \n className=\"font-semibold cursor-pointer hover:text-blue-600 transition-colors\"\n onClick={() => navigateToProjectConfig(project.name)}\n title=\"点击进入项目配置\"\n >\n {project.name}\n </h2>\n <span className=\"text-xs px-2 py-1 rounded-full bg-white\">\n {getStatusText(project.status)}\n </span>\n </div>\n \n <p className=\"text-sm mb-2\">{project.message}</p>\n \n {project.status === ProjectStatus.CLONING || project.status === ProjectStatus.RETRYING ? (\n <div className=\"mb-2\">\n <div className=\"w-full bg-white rounded-full h-1\">\n <div \n className=\"bg-current h-1 rounded-full transition-all duration-300\"\n style={{ width: `${project.progress}%` }}\n />\n </div>\n <span className=\"text-xs\">{project.progress}%</span>\n </div>\n ) : null}\n\n {project.error && (\n <p className=\"text-xs text-red-600 mb-2\">{project.error}</p>\n )}\n\n <div className=\"space-y-2\">\n {project.canRetry && (\n <Button \n size=\"sm\"\n variant=\"outline\"\n onClick={() => retryProject(project.name)}\n className=\"w-full\"\n >\n 重试\n </Button>\n )}\n \n {project.needsCleanup && project.status === ProjectStatus.INCOMPLETE && (\n <Button \n size=\"sm\"\n variant=\"destructive\"\n onClick={() => cleanupProject(project.name)}\n disabled={project.isCleaningUp}\n className=\"w-full\"\n >\n {project.isCleaningUp ? '清理中...' : '清理项目'}\n </Button>\n )}\n \n {(project.status === ProjectStatus.EXISTING || project.status === ProjectStatus.SUCCESS) && (\n <Button \n size=\"sm\"\n variant=\"default\"\n onClick={() => openProject(project.name)}\n disabled={project.isOpening}\n className=\"w-full\"\n >\n {project.isOpening ? '打开中...' : '在 Cursor 中打开'}\n </Button>\n )}\n \n {project.logs && project.logs.length > 0 && (\n <Button \n size=\"sm\"\n variant=\"outline\"\n onClick={() => setExpandedLogs(prev => ({\n ...prev,\n [project.name]: !prev[project.name]\n }))}\n className=\"w-full\"\n >\n {expandedLogs[project.name] ? '隐藏日志' : `查看日志 (${project.logs.length})`}\n </Button>\n )}\n </div>\n\n {/* 日志显示区域 */}\n {expandedLogs[project.name] && project.logs && project.logs.length > 0 && (\n <div className=\"mt-3 border-t pt-3\">\n <div className=\"bg-black text-white rounded text-xs font-mono p-2 max-h-48 overflow-y-auto\">\n {project.logs.map((log, index) => (\n <div key={index} className={`mb-1 ${\n log.type === 'stderr' \n ? 'text-red-400' \n : log.type === 'progress' \n ? 'text-yellow-400' \n : 'text-green-400'\n }`}>\n <span className=\"text-gray-500 mr-2\">\n {new Date(log.timestamp).toLocaleTimeString()}\n </span>\n <span className=\"text-blue-400 mr-2\">[{log.type}]</span>\n <span className=\"whitespace-pre-wrap\">{log.content}</span>\n </div>\n ))}\n </div>\n </div>\n )}\n </div>\n ))\n ) : (\n <div className=\"col-span-full text-center text-gray-500 py-8\">\n {state.isLoading ? '正在检查项目状态...' : \n state.isInitializing ? '正在加载项目...' : \n '点击\"创建项目空间\"开始初始化'}\n </div>\n )}\n </div>\n </div>\n );\n};\n\nexport default ProjectInitializer;"],"names":[],"mappings":"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","ignoreList":[0,1]}
@@ -1 +1 @@
1
- [{"name":"generate-buildid","duration":124,"timestamp":278582948165,"id":4,"parentId":1,"tags":{},"startTime":1762411617723,"traceId":"7a881032b3a775a3"},{"name":"load-custom-routes","duration":952,"timestamp":278582948333,"id":5,"parentId":1,"tags":{},"startTime":1762411617723,"traceId":"7a881032b3a775a3"},{"name":"create-dist-dir","duration":150,"timestamp":278582982599,"id":6,"parentId":1,"tags":{},"startTime":1762411617758,"traceId":"7a881032b3a775a3"},{"name":"create-pages-mapping","duration":108,"timestamp":278582983893,"id":7,"parentId":1,"tags":{},"startTime":1762411617759,"traceId":"7a881032b3a775a3"},{"name":"collect-app-paths","duration":29744,"timestamp":278582984022,"id":8,"parentId":1,"tags":{},"startTime":1762411617759,"traceId":"7a881032b3a775a3"},{"name":"create-app-mapping","duration":1908,"timestamp":278583013798,"id":9,"parentId":1,"tags":{},"startTime":1762411617789,"traceId":"7a881032b3a775a3"},{"name":"public-dir-conflict-check","duration":718,"timestamp":278583015988,"id":10,"parentId":1,"tags":{},"startTime":1762411617791,"traceId":"7a881032b3a775a3"},{"name":"generate-routes-manifest","duration":1302,"timestamp":278583016795,"id":11,"parentId":1,"tags":{},"startTime":1762411617792,"traceId":"7a881032b3a775a3"},{"name":"verify-and-lint","duration":2147310,"timestamp":278585813757,"id":15,"parentId":1,"tags":{},"startTime":1762411620589,"traceId":"7a881032b3a775a3"},{"name":"verify-typescript-setup","duration":2562149,"timestamp":278585812180,"id":14,"parentId":1,"tags":{},"startTime":1762411620587,"traceId":"7a881032b3a775a3"},{"name":"check-static-error-page","duration":1644,"timestamp":278588382797,"id":18,"parentId":17,"tags":{},"startTime":1762411623158,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":2544,"timestamp":278588394585,"id":19,"parentId":17,"tags":{"page":"/_app"},"startTime":1762411623169,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":2094,"timestamp":278588395046,"id":21,"parentId":17,"tags":{"page":"/_document"},"startTime":1762411623170,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":2186,"timestamp":278588394995,"id":20,"parentId":17,"tags":{"page":"/_error"},"startTime":1762411623170,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":265721,"timestamp":278588398626,"id":53,"parentId":25,"tags":{},"startTime":1762411623173,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":269102,"timestamp":278588395296,"id":25,"parentId":17,"tags":{"page":"/api/check-workspace"},"startTime":1762411623170,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":269328,"timestamp":278588398758,"id":56,"parentId":27,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":272831,"timestamp":278588395319,"id":27,"parentId":17,"tags":{"page":"/api/cleanup-project"},"startTime":1762411623170,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":271766,"timestamp":278588398669,"id":54,"parentId":24,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":275229,"timestamp":278588395227,"id":24,"parentId":17,"tags":{"page":"/api/check-mock-intercept"},"startTime":1762411623170,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":277959,"timestamp":278588399042,"id":61,"parentId":33,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":281554,"timestamp":278588395473,"id":33,"parentId":17,"tags":{"page":"/api/microapp-proxy-change-stream"},"startTime":1762411623170,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":278124,"timestamp":278588398941,"id":60,"parentId":32,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":281610,"timestamp":278588395462,"id":32,"parentId":17,"tags":{"page":"/api/memory-status"},"startTime":1762411623170,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":279411,"timestamp":278588398487,"id":52,"parentId":23,"tags":{},"startTime":1762411623173,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":282744,"timestamp":278588395211,"id":23,"parentId":17,"tags":{"page":"/api/all-projects-envs"},"startTime":1762411623170,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":281203,"timestamp":278588398716,"id":55,"parentId":26,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":284628,"timestamp":278588395311,"id":26,"parentId":17,"tags":{"page":"/api/cleanup-mock"},"startTime":1762411623170,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":280910,"timestamp":278588399101,"id":63,"parentId":34,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":284532,"timestamp":278588395486,"id":34,"parentId":17,"tags":{"page":"/api/microapp-proxy-config"},"startTime":1762411623170,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":287080,"timestamp":278588399082,"id":62,"parentId":31,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":290738,"timestamp":278588395453,"id":31,"parentId":17,"tags":{"page":"/api/initialize-workspace"},"startTime":1762411623170,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":287117,"timestamp":278588399134,"id":65,"parentId":36,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":290567,"timestamp":278588395691,"id":36,"parentId":17,"tags":{"page":"/api/mock-file"},"startTime":1762411623171,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":287173,"timestamp":278588399112,"id":64,"parentId":35,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":290798,"timestamp":278588395496,"id":35,"parentId":17,"tags":{"page":"/api/mock-file-content"},"startTime":1762411623170,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":290546,"timestamp":278588398878,"id":57,"parentId":28,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":294114,"timestamp":278588395334,"id":28,"parentId":17,"tags":{"page":"/api/current-branch"},"startTime":1762411623170,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":292145,"timestamp":278588398898,"id":58,"parentId":29,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":295716,"timestamp":278588395346,"id":29,"parentId":17,"tags":{"page":"/api/delete-mock-api"},"startTime":1762411623170,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":292078,"timestamp":278588399172,"id":69,"parentId":40,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":295459,"timestamp":278588395799,"id":40,"parentId":17,"tags":{"page":"/api/open-project"},"startTime":1762411623171,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":293883,"timestamp":278588398921,"id":59,"parentId":30,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":297397,"timestamp":278588395431,"id":30,"parentId":17,"tags":{"page":"/api/get-mock-data"},"startTime":1762411623170,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":293722,"timestamp":278588399164,"id":68,"parentId":39,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":297101,"timestamp":278588395791,"id":39,"parentId":17,"tags":{"page":"/api/open-all-mock"},"startTime":1762411623171,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":294456,"timestamp":278588399143,"id":66,"parentId":38,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":297835,"timestamp":278588395782,"id":38,"parentId":17,"tags":{"page":"/api/mock-setting"},"startTime":1762411623171,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":294924,"timestamp":278588399154,"id":67,"parentId":37,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":298329,"timestamp":278588395762,"id":37,"parentId":17,"tags":{"page":"/api/mock-open-status"},"startTime":1762411623171,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":296794,"timestamp":278588399437,"id":76,"parentId":47,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":300413,"timestamp":278588395842,"id":47,"parentId":17,"tags":{"page":"/api/workspace/create"},"startTime":1762411623171,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":296954,"timestamp":278588399348,"id":75,"parentId":46,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":300474,"timestamp":278588395835,"id":46,"parentId":17,"tags":{"page":"/api/retry-project"},"startTime":1762411623171,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":298406,"timestamp":278588399277,"id":70,"parentId":42,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":301888,"timestamp":278588395811,"id":42,"parentId":17,"tags":{"page":"/api/process/logs/stream"},"startTime":1762411623171,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":298507,"timestamp":278588399340,"id":74,"parentId":45,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":302025,"timestamp":278588395830,"id":45,"parentId":17,"tags":{"page":"/api/project-config"},"startTime":1762411623171,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":301894,"timestamp":278588399316,"id":72,"parentId":43,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":305420,"timestamp":278588395817,"id":43,"parentId":17,"tags":{"page":"/api/process/start"},"startTime":1762411623171,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":305761,"timestamp":278588399328,"id":73,"parentId":44,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":309316,"timestamp":278588395823,"id":44,"parentId":17,"tags":{"page":"/api/process/status"},"startTime":1762411623171,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":307316,"timestamp":278588399298,"id":71,"parentId":41,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":310828,"timestamp":278588395804,"id":41,"parentId":17,"tags":{"page":"/api/process/logs"},"startTime":1762411623171,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":307211,"timestamp":278588399448,"id":77,"parentId":51,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":310782,"timestamp":278588395885,"id":51,"parentId":17,"tags":{"page":"/favicon.ico"},"startTime":1762411623171,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":314319,"timestamp":278588402323,"id":80,"parentId":49,"tags":{},"startTime":1762411623177,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":320809,"timestamp":278588395865,"id":49,"parentId":17,"tags":{"page":"/initialization"},"startTime":1762411623171,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":317183,"timestamp":278588399512,"id":78,"parentId":22,"tags":{},"startTime":1762411623174,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":321642,"timestamp":278588395058,"id":22,"parentId":17,"tags":{"page":"/_not-found"},"startTime":1762411623170,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":314406,"timestamp":278588402310,"id":79,"parentId":50,"tags":{},"startTime":1762411623177,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":320843,"timestamp":278588395876,"id":50,"parentId":17,"tags":{"page":"/"},"startTime":1762411623171,"traceId":"7a881032b3a775a3"},{"name":"is-page-static","duration":317547,"timestamp":278588402328,"id":81,"parentId":48,"tags":{},"startTime":1762411623177,"traceId":"7a881032b3a775a3"},{"name":"check-page","duration":324041,"timestamp":278588395847,"id":48,"parentId":17,"tags":{"page":"/configuration"},"startTime":1762411623171,"traceId":"7a881032b3a775a3"},{"name":"static-check","duration":337415,"timestamp":278588382506,"id":17,"parentId":1,"tags":{},"startTime":1762411623157,"traceId":"7a881032b3a775a3"},{"name":"generate-required-server-files","duration":221,"timestamp":278588720134,"id":83,"parentId":1,"tags":{},"startTime":1762411623495,"traceId":"7a881032b3a775a3"},{"name":"write-routes-manifest","duration":999,"timestamp":278588725595,"id":85,"parentId":1,"tags":{},"startTime":1762411623500,"traceId":"7a881032b3a775a3"},{"name":"load-dotenv","duration":17,"timestamp":278588736365,"id":88,"parentId":87,"tags":{},"startTime":1762411623511,"traceId":"7a881032b3a775a3"},{"name":"run-export-path-map","duration":240,"timestamp":278588847299,"id":89,"parentId":87,"tags":{},"startTime":1762411623622,"traceId":"7a881032b3a775a3"},{"name":"next-export","duration":545268,"timestamp":278588735854,"id":87,"parentId":1,"tags":{},"startTime":1762411623511,"traceId":"7a881032b3a775a3"},{"name":"move-exported-app-not-found-","duration":3800,"timestamp":278589282471,"id":90,"parentId":86,"tags":{},"startTime":1762411624057,"traceId":"7a881032b3a775a3"},{"name":"move-exported-page","duration":8331,"timestamp":278589286354,"id":91,"parentId":86,"tags":{},"startTime":1762411624061,"traceId":"7a881032b3a775a3"},{"name":"static-generation","duration":600161,"timestamp":278588731887,"id":86,"parentId":1,"tags":{},"startTime":1762411623507,"traceId":"7a881032b3a775a3"},{"name":"write-routes-manifest","duration":8013,"timestamp":278589332065,"id":92,"parentId":1,"tags":{},"startTime":1762411624107,"traceId":"7a881032b3a775a3"},{"name":"node-file-trace-build","duration":4389435,"timestamp":278588721698,"id":84,"parentId":1,"tags":{"isTurbotrace":"false"},"startTime":1762411623496,"traceId":"7a881032b3a775a3"},{"name":"apply-include-excludes","duration":247,"timestamp":278593111156,"id":93,"parentId":1,"tags":{},"startTime":1762411627885,"traceId":"7a881032b3a775a3"},{"name":"print-tree-view","duration":2871,"timestamp":278593111877,"id":94,"parentId":1,"tags":{},"startTime":1762411627885,"traceId":"7a881032b3a775a3"},{"name":"telemetry-flush","duration":25,"timestamp":278593114759,"id":95,"parentId":1,"tags":{},"startTime":1762411627888,"traceId":"7a881032b3a775a3"},{"name":"next-build","duration":10308901,"timestamp":278582805888,"id":1,"tags":{"buildMode":"default","isTurboBuild":"true","version":"15.3.4","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1762411617581,"traceId":"7a881032b3a775a3"}]
1
+ [{"name":"generate-buildid","duration":118,"timestamp":138214395514,"id":4,"parentId":1,"tags":{},"startTime":1765510029964,"traceId":"fb7d2f0607b8cfaf"},{"name":"load-custom-routes","duration":995,"timestamp":138214395677,"id":5,"parentId":1,"tags":{},"startTime":1765510029964,"traceId":"fb7d2f0607b8cfaf"},{"name":"create-dist-dir","duration":188,"timestamp":138214428335,"id":6,"parentId":1,"tags":{},"startTime":1765510029997,"traceId":"fb7d2f0607b8cfaf"},{"name":"create-pages-mapping","duration":98,"timestamp":138214429682,"id":7,"parentId":1,"tags":{},"startTime":1765510029998,"traceId":"fb7d2f0607b8cfaf"},{"name":"collect-app-paths","duration":1986,"timestamp":138214429797,"id":8,"parentId":1,"tags":{},"startTime":1765510029998,"traceId":"fb7d2f0607b8cfaf"},{"name":"create-app-mapping","duration":36270,"timestamp":138214431796,"id":9,"parentId":1,"tags":{},"startTime":1765510030000,"traceId":"fb7d2f0607b8cfaf"},{"name":"public-dir-conflict-check","duration":560,"timestamp":138214468591,"id":10,"parentId":1,"tags":{},"startTime":1765510030037,"traceId":"fb7d2f0607b8cfaf"},{"name":"generate-routes-manifest","duration":1391,"timestamp":138214469260,"id":11,"parentId":1,"tags":{},"startTime":1765510030038,"traceId":"fb7d2f0607b8cfaf"},{"name":"verify-and-lint","duration":2454870,"timestamp":138217157446,"id":15,"parentId":1,"tags":{},"startTime":1765510032726,"traceId":"fb7d2f0607b8cfaf"},{"name":"verify-typescript-setup","duration":2779799,"timestamp":138217155953,"id":14,"parentId":1,"tags":{},"startTime":1765510032725,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-static-error-page","duration":4235,"timestamp":138219947017,"id":18,"parentId":17,"tags":{},"startTime":1765510035516,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":3810,"timestamp":138219980215,"id":19,"parentId":17,"tags":{"page":"/_app"},"startTime":1765510035549,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":3283,"timestamp":138219980751,"id":21,"parentId":17,"tags":{"page":"/_document"},"startTime":1765510035549,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":3363,"timestamp":138219980698,"id":20,"parentId":17,"tags":{"page":"/_error"},"startTime":1765510035549,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":257988,"timestamp":138219985608,"id":53,"parentId":24,"tags":{},"startTime":1765510035554,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":261869,"timestamp":138219981771,"id":24,"parentId":17,"tags":{"page":"/api/check-mock-intercept"},"startTime":1765510035550,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":259252,"timestamp":138219985657,"id":54,"parentId":25,"tags":{},"startTime":1765510035554,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":263083,"timestamp":138219981869,"id":25,"parentId":17,"tags":{"page":"/api/check-workspace"},"startTime":1765510035550,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":265442,"timestamp":138219985776,"id":55,"parentId":27,"tags":{},"startTime":1765510035554,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":269352,"timestamp":138219981890,"id":27,"parentId":17,"tags":{"page":"/api/cleanup-project"},"startTime":1765510035550,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":265600,"timestamp":138219985914,"id":59,"parentId":31,"tags":{},"startTime":1765510035554,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":269608,"timestamp":138219981941,"id":31,"parentId":17,"tags":{"page":"/api/initialize-workspace"},"startTime":1765510035551,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":267956,"timestamp":138219985825,"id":56,"parentId":28,"tags":{},"startTime":1765510035554,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":271927,"timestamp":138219981905,"id":28,"parentId":17,"tags":{"page":"/api/current-branch"},"startTime":1765510035550,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":274048,"timestamp":138219986141,"id":61,"parentId":33,"tags":{},"startTime":1765510035555,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":278263,"timestamp":138219981956,"id":33,"parentId":17,"tags":{"page":"/api/microapp-proxy-change-stream"},"startTime":1765510035551,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":274806,"timestamp":138219985446,"id":52,"parentId":23,"tags":{},"startTime":1765510035554,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":278523,"timestamp":138219981733,"id":23,"parentId":17,"tags":{"page":"/api/all-projects-envs"},"startTime":1765510035550,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":276339,"timestamp":138219986108,"id":60,"parentId":32,"tags":{},"startTime":1765510035555,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":280520,"timestamp":138219981950,"id":32,"parentId":17,"tags":{"page":"/api/memory-status"},"startTime":1765510035551,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":276456,"timestamp":138219986167,"id":62,"parentId":34,"tags":{},"startTime":1765510035555,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":280663,"timestamp":138219981966,"id":34,"parentId":17,"tags":{"page":"/api/microapp-proxy-config"},"startTime":1765510035551,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":276460,"timestamp":138219986199,"id":64,"parentId":35,"tags":{},"startTime":1765510035555,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":280691,"timestamp":138219981972,"id":35,"parentId":17,"tags":{"page":"/api/mock-file-content"},"startTime":1765510035551,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":279391,"timestamp":138219986190,"id":63,"parentId":36,"tags":{},"startTime":1765510035555,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":283625,"timestamp":138219981980,"id":36,"parentId":17,"tags":{"page":"/api/mock-file"},"startTime":1765510035551,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":279316,"timestamp":138219986476,"id":68,"parentId":41,"tags":{},"startTime":1765510035555,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":283759,"timestamp":138219982040,"id":41,"parentId":17,"tags":{"page":"/api/process/logs"},"startTime":1765510035551,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":279549,"timestamp":138219986282,"id":66,"parentId":38,"tags":{},"startTime":1765510035555,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":283832,"timestamp":138219982018,"id":38,"parentId":17,"tags":{"page":"/api/mock-setting"},"startTime":1765510035551,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":280668,"timestamp":138219985858,"id":57,"parentId":29,"tags":{},"startTime":1765510035554,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":284625,"timestamp":138219981919,"id":29,"parentId":17,"tags":{"page":"/api/delete-mock-api"},"startTime":1765510035550,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":283331,"timestamp":138219986523,"id":72,"parentId":45,"tags":{},"startTime":1765510035555,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":287811,"timestamp":138219982070,"id":45,"parentId":17,"tags":{"page":"/api/project-config"},"startTime":1765510035551,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":283400,"timestamp":138219986511,"id":71,"parentId":26,"tags":{},"startTime":1765510035555,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":288035,"timestamp":138219981881,"id":26,"parentId":17,"tags":{"page":"/api/cleanup-mock"},"startTime":1765510035550,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":286406,"timestamp":138219986503,"id":70,"parentId":42,"tags":{},"startTime":1765510035555,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":292061,"timestamp":138219982050,"id":42,"parentId":17,"tags":{"page":"/api/process/logs/stream"},"startTime":1765510035551,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":287893,"timestamp":138219986486,"id":69,"parentId":39,"tags":{},"startTime":1765510035555,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":292370,"timestamp":138219982025,"id":39,"parentId":17,"tags":{"page":"/api/open-all-mock"},"startTime":1765510035551,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":287869,"timestamp":138219986591,"id":74,"parentId":46,"tags":{},"startTime":1765510035555,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":292398,"timestamp":138219982081,"id":46,"parentId":17,"tags":{"page":"/api/retry-project"},"startTime":1765510035551,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":288392,"timestamp":138219986213,"id":65,"parentId":37,"tags":{},"startTime":1765510035555,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":292638,"timestamp":138219981987,"id":37,"parentId":17,"tags":{"page":"/api/mock-open-status"},"startTime":1765510035551,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":288103,"timestamp":138219986555,"id":73,"parentId":43,"tags":{},"startTime":1765510035555,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":292607,"timestamp":138219982056,"id":43,"parentId":17,"tags":{"page":"/api/process/start"},"startTime":1765510035551,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":290124,"timestamp":138219986837,"id":78,"parentId":44,"tags":{},"startTime":1765510035555,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":295025,"timestamp":138219982064,"id":44,"parentId":17,"tags":{"page":"/api/process/status"},"startTime":1765510035551,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":291498,"timestamp":138219986466,"id":67,"parentId":40,"tags":{},"startTime":1765510035555,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":295943,"timestamp":138219982034,"id":40,"parentId":17,"tags":{"page":"/api/open-project"},"startTime":1765510035551,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":295352,"timestamp":138219985883,"id":58,"parentId":30,"tags":{},"startTime":1765510035554,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":299329,"timestamp":138219981934,"id":30,"parentId":17,"tags":{"page":"/api/get-mock-data"},"startTime":1765510035551,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":294592,"timestamp":138219986713,"id":76,"parentId":47,"tags":{},"startTime":1765510035555,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":299222,"timestamp":138219982087,"id":47,"parentId":17,"tags":{"page":"/api/workspace/create"},"startTime":1765510035551,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":308800,"timestamp":138219986700,"id":75,"parentId":22,"tags":{},"startTime":1765510035555,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":314753,"timestamp":138219980772,"id":22,"parentId":17,"tags":{"page":"/_not-found"},"startTime":1765510035549,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":310108,"timestamp":138219986727,"id":77,"parentId":51,"tags":{},"startTime":1765510035555,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":314727,"timestamp":138219982137,"id":51,"parentId":17,"tags":{"page":"/favicon.ico"},"startTime":1765510035551,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":296709,"timestamp":138220000177,"id":81,"parentId":48,"tags":{},"startTime":1765510035569,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":314794,"timestamp":138219982098,"id":48,"parentId":17,"tags":{"page":"/configuration"},"startTime":1765510035551,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":301332,"timestamp":138220000157,"id":79,"parentId":50,"tags":{},"startTime":1765510035569,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":319375,"timestamp":138219982124,"id":50,"parentId":17,"tags":{"page":"/"},"startTime":1765510035551,"traceId":"fb7d2f0607b8cfaf"},{"name":"is-page-static","duration":301858,"timestamp":138220000175,"id":80,"parentId":49,"tags":{},"startTime":1765510035569,"traceId":"fb7d2f0607b8cfaf"},{"name":"check-page","duration":319938,"timestamp":138219982113,"id":49,"parentId":17,"tags":{"page":"/initialization"},"startTime":1765510035551,"traceId":"fb7d2f0607b8cfaf"},{"name":"static-check","duration":355438,"timestamp":138219946676,"id":17,"parentId":1,"tags":{},"startTime":1765510035515,"traceId":"fb7d2f0607b8cfaf"},{"name":"generate-required-server-files","duration":304,"timestamp":138220302343,"id":83,"parentId":1,"tags":{},"startTime":1765510035871,"traceId":"fb7d2f0607b8cfaf"},{"name":"write-routes-manifest","duration":1057,"timestamp":138220308284,"id":85,"parentId":1,"tags":{},"startTime":1765510035877,"traceId":"fb7d2f0607b8cfaf"},{"name":"load-dotenv","duration":12,"timestamp":138220322856,"id":88,"parentId":87,"tags":{},"startTime":1765510035891,"traceId":"fb7d2f0607b8cfaf"},{"name":"run-export-path-map","duration":275,"timestamp":138220430007,"id":89,"parentId":87,"tags":{},"startTime":1765510035999,"traceId":"fb7d2f0607b8cfaf"},{"name":"next-export","duration":515651,"timestamp":138220322354,"id":87,"parentId":1,"tags":{},"startTime":1765510035891,"traceId":"fb7d2f0607b8cfaf"},{"name":"move-exported-app-not-found-","duration":4976,"timestamp":138220839164,"id":90,"parentId":86,"tags":{},"startTime":1765510036408,"traceId":"fb7d2f0607b8cfaf"},{"name":"move-exported-page","duration":7893,"timestamp":138220844246,"id":91,"parentId":86,"tags":{},"startTime":1765510036413,"traceId":"fb7d2f0607b8cfaf"},{"name":"static-generation","duration":576190,"timestamp":138220318257,"id":86,"parentId":1,"tags":{},"startTime":1765510035887,"traceId":"fb7d2f0607b8cfaf"},{"name":"write-routes-manifest","duration":9238,"timestamp":138220894460,"id":92,"parentId":1,"tags":{},"startTime":1765510036463,"traceId":"fb7d2f0607b8cfaf"},{"name":"node-file-trace-build","duration":4742161,"timestamp":138220304247,"id":84,"parentId":1,"tags":{"isTurbotrace":"false"},"startTime":1765510035873,"traceId":"fb7d2f0607b8cfaf"},{"name":"apply-include-excludes","duration":310,"timestamp":138225046425,"id":93,"parentId":1,"tags":{},"startTime":1765510040615,"traceId":"fb7d2f0607b8cfaf"},{"name":"print-tree-view","duration":2209,"timestamp":138225047014,"id":94,"parentId":1,"tags":{},"startTime":1765510040615,"traceId":"fb7d2f0607b8cfaf"},{"name":"telemetry-flush","duration":20,"timestamp":138225049227,"id":95,"parentId":1,"tags":{},"startTime":1765510040618,"traceId":"fb7d2f0607b8cfaf"},{"name":"next-build","duration":10777342,"timestamp":138214271909,"id":1,"tags":{"buildMode":"default","isTurboBuild":"true","version":"15.3.4","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1765510029841,"traceId":"fb7d2f0607b8cfaf"}]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prime-dev-cli",
3
- "version": "1.0.15",
3
+ "version": "1.0.17",
4
4
  "main": "index.js",
5
5
  "scripts": {
6
6
  "refresh:config": "node ./bin/cli.mjs init",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/compiled/os-browserify/browser.js","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/compiled/path-browserify/index.js","turbopack:///[project]/packages/server/src/lib/workspace-types.ts","turbopack:///[project]/packages/server/src/components/project-initializer.tsx"],"sourcesContent":["(function(){if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var n={};!function(){var e=n;e.endianness=function(){return\"LE\"};e.hostname=function(){if(typeof location!==\"undefined\"){return location.hostname}else return\"\"};e.loadavg=function(){return[]};e.uptime=function(){return 0};e.freemem=function(){return Number.MAX_VALUE};e.totalmem=function(){return Number.MAX_VALUE};e.cpus=function(){return[]};e.type=function(){return\"Browser\"};e.release=function(){if(typeof navigator!==\"undefined\"){return navigator.appVersion}return\"\"};e.networkInterfaces=e.getNetworkInterfaces=function(){return{}};e.arch=function(){return\"javascript\"};e.platform=function(){return\"browser\"};e.tmpdir=e.tmpDir=function(){return\"/tmp\"};e.EOL=\"\\n\";e.homedir=function(){return\"/\"}}();module.exports=n})();","(function(){\"use strict\";var e={114:function(e){function assertPath(e){if(typeof e!==\"string\"){throw new TypeError(\"Path must be a string. Received \"+JSON.stringify(e))}}function normalizeStringPosix(e,r){var t=\"\";var i=0;var n=-1;var a=0;var f;for(var l=0;l<=e.length;++l){if(l<e.length)f=e.charCodeAt(l);else if(f===47)break;else f=47;if(f===47){if(n===l-1||a===1){}else if(n!==l-1&&a===2){if(t.length<2||i!==2||t.charCodeAt(t.length-1)!==46||t.charCodeAt(t.length-2)!==46){if(t.length>2){var s=t.lastIndexOf(\"/\");if(s!==t.length-1){if(s===-1){t=\"\";i=0}else{t=t.slice(0,s);i=t.length-1-t.lastIndexOf(\"/\")}n=l;a=0;continue}}else if(t.length===2||t.length===1){t=\"\";i=0;n=l;a=0;continue}}if(r){if(t.length>0)t+=\"/..\";else t=\"..\";i=2}}else{if(t.length>0)t+=\"/\"+e.slice(n+1,l);else t=e.slice(n+1,l);i=l-n-1}n=l;a=0}else if(f===46&&a!==-1){++a}else{a=-1}}return t}function _format(e,r){var t=r.dir||r.root;var i=r.base||(r.name||\"\")+(r.ext||\"\");if(!t){return i}if(t===r.root){return t+i}return t+e+i}var r={resolve:function resolve(){var e=\"\";var r=false;var t;for(var i=arguments.length-1;i>=-1&&!r;i--){var n;if(i>=0)n=arguments[i];else{if(t===undefined)t=\"\";n=t}assertPath(n);if(n.length===0){continue}e=n+\"/\"+e;r=n.charCodeAt(0)===47}e=normalizeStringPosix(e,!r);if(r){if(e.length>0)return\"/\"+e;else return\"/\"}else if(e.length>0){return e}else{return\".\"}},normalize:function normalize(e){assertPath(e);if(e.length===0)return\".\";var r=e.charCodeAt(0)===47;var t=e.charCodeAt(e.length-1)===47;e=normalizeStringPosix(e,!r);if(e.length===0&&!r)e=\".\";if(e.length>0&&t)e+=\"/\";if(r)return\"/\"+e;return e},isAbsolute:function isAbsolute(e){assertPath(e);return e.length>0&&e.charCodeAt(0)===47},join:function join(){if(arguments.length===0)return\".\";var e;for(var t=0;t<arguments.length;++t){var i=arguments[t];assertPath(i);if(i.length>0){if(e===undefined)e=i;else e+=\"/\"+i}}if(e===undefined)return\".\";return r.normalize(e)},relative:function relative(e,t){assertPath(e);assertPath(t);if(e===t)return\"\";e=r.resolve(e);t=r.resolve(t);if(e===t)return\"\";var i=1;for(;i<e.length;++i){if(e.charCodeAt(i)!==47)break}var n=e.length;var a=n-i;var f=1;for(;f<t.length;++f){if(t.charCodeAt(f)!==47)break}var l=t.length;var s=l-f;var o=a<s?a:s;var u=-1;var h=0;for(;h<=o;++h){if(h===o){if(s>o){if(t.charCodeAt(f+h)===47){return t.slice(f+h+1)}else if(h===0){return t.slice(f+h)}}else if(a>o){if(e.charCodeAt(i+h)===47){u=h}else if(h===0){u=0}}break}var c=e.charCodeAt(i+h);var v=t.charCodeAt(f+h);if(c!==v)break;else if(c===47)u=h}var g=\"\";for(h=i+u+1;h<=n;++h){if(h===n||e.charCodeAt(h)===47){if(g.length===0)g+=\"..\";else g+=\"/..\"}}if(g.length>0)return g+t.slice(f+u);else{f+=u;if(t.charCodeAt(f)===47)++f;return t.slice(f)}},_makeLong:function _makeLong(e){return e},dirname:function dirname(e){assertPath(e);if(e.length===0)return\".\";var r=e.charCodeAt(0);var t=r===47;var i=-1;var n=true;for(var a=e.length-1;a>=1;--a){r=e.charCodeAt(a);if(r===47){if(!n){i=a;break}}else{n=false}}if(i===-1)return t?\"/\":\".\";if(t&&i===1)return\"//\";return e.slice(0,i)},basename:function basename(e,r){if(r!==undefined&&typeof r!==\"string\")throw new TypeError('\"ext\" argument must be a string');assertPath(e);var t=0;var i=-1;var n=true;var a;if(r!==undefined&&r.length>0&&r.length<=e.length){if(r.length===e.length&&r===e)return\"\";var f=r.length-1;var l=-1;for(a=e.length-1;a>=0;--a){var s=e.charCodeAt(a);if(s===47){if(!n){t=a+1;break}}else{if(l===-1){n=false;l=a+1}if(f>=0){if(s===r.charCodeAt(f)){if(--f===-1){i=a}}else{f=-1;i=l}}}}if(t===i)i=l;else if(i===-1)i=e.length;return e.slice(t,i)}else{for(a=e.length-1;a>=0;--a){if(e.charCodeAt(a)===47){if(!n){t=a+1;break}}else if(i===-1){n=false;i=a+1}}if(i===-1)return\"\";return e.slice(t,i)}},extname:function extname(e){assertPath(e);var r=-1;var t=0;var i=-1;var n=true;var a=0;for(var f=e.length-1;f>=0;--f){var l=e.charCodeAt(f);if(l===47){if(!n){t=f+1;break}continue}if(i===-1){n=false;i=f+1}if(l===46){if(r===-1)r=f;else if(a!==1)a=1}else if(r!==-1){a=-1}}if(r===-1||i===-1||a===0||a===1&&r===i-1&&r===t+1){return\"\"}return e.slice(r,i)},format:function format(e){if(e===null||typeof e!==\"object\"){throw new TypeError('The \"pathObject\" argument must be of type Object. Received type '+typeof e)}return _format(\"/\",e)},parse:function parse(e){assertPath(e);var r={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(e.length===0)return r;var t=e.charCodeAt(0);var i=t===47;var n;if(i){r.root=\"/\";n=1}else{n=0}var a=-1;var f=0;var l=-1;var s=true;var o=e.length-1;var u=0;for(;o>=n;--o){t=e.charCodeAt(o);if(t===47){if(!s){f=o+1;break}continue}if(l===-1){s=false;l=o+1}if(t===46){if(a===-1)a=o;else if(u!==1)u=1}else if(a!==-1){u=-1}}if(a===-1||l===-1||u===0||u===1&&a===l-1&&a===f+1){if(l!==-1){if(f===0&&i)r.base=r.name=e.slice(1,l);else r.base=r.name=e.slice(f,l)}}else{if(f===0&&i){r.name=e.slice(1,a);r.base=e.slice(1,l)}else{r.name=e.slice(f,a);r.base=e.slice(f,l)}r.ext=e.slice(a,l)}if(f>0)r.dir=e.slice(0,f-1);else if(i)r.dir=\"/\";return r},sep:\"/\",delimiter:\":\",win32:null,posix:null};r.posix=r;e.exports=r}};var r={};function __nccwpck_require__(t){var i=r[t];if(i!==undefined){return i.exports}var n=r[t]={exports:{}};var a=true;try{e[t](n,n.exports,__nccwpck_require__);a=false}finally{if(a)delete r[t]}return n.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var t=__nccwpck_require__(114);module.exports=t})();","import { homedir, cpus } from 'os';\nimport { join } from 'path';\n\n/**\n * 工作空间配置常量\n */\nexport const WORKSPACE_CONFIG = {\n // 工作空间根目录路径\n WORKSPACE_ROOT: join(homedir(), 'Documents', 'prime-workspace'),\n\n // Git 操作超时时间 (毫秒)\n GIT_TIMEOUT: 300000, // 5分钟\n\n // 最大并发克隆数量(基于CPU核心数,最小2个,最大8个)\n MAX_CONCURRENT_CLONES: Math.max(2, Math.min(cpus().length, 8)),\n\n // 重试次数限制\n MAX_RETRY_ATTEMPTS: 3,\n} as const;\n\nexport const PROJECT_CONFIG_PATH = join(homedir(), '.prime-projects.json');\n\nexport interface ProjectConfig {\n repo: string;\n mockingIntercept?: boolean;\n mockOpen?: boolean;\n envs: {\n [envName: string]: {\n host: string;\n currentProxy: string;\n proxyEnv: {\n [key: string]: string;\n };\n envFileName: string;\n proxyKey: string;\n subApps?: string[];\n };\n };\n}\n\nexport interface ProjectsConfig {\n [projectName: string]: ProjectConfig;\n}\n\n/**\n * 项目状态枚举\n */\nexport enum ProjectStatus {\n PENDING = 'pending',\n EXISTING = 'existing',\n CLONING = 'cloning',\n SUCCESS = 'success',\n FAILED = 'failed',\n RETRYING = 'retrying',\n INCOMPLETE = 'incomplete', // 不完整的项目,需要清理\n}\n\n/**\n * 项目进度信息接口\n */\nexport interface ProjectProgress {\n projectName: string;\n status: ProjectStatus;\n progress: number; // 0-100\n message: string;\n error?: string;\n startTime?: number;\n endTime?: number;\n}\n\n/**\n * 初始化结果接口\n */\nexport interface InitializationResult {\n success: boolean;\n totalProjects: number;\n successCount: number;\n failedCount: number;\n failedProjects: string[];\n workspacePath: string;\n duration: number;\n}\n\n/**\n * Git 操作配置接口\n */\nexport interface GitOperationConfig {\n repoUrl: string;\n targetDir: string;\n timeout: number;\n onProgress?: (progress: number, message: string) => void;\n onError?: (error: string) => void;\n onLog?: (projectName: string, logType: 'stdout' | 'stderr' | 'progress', content: string) => void;\n} ","\"use client\";\n\nimport { useEffect, useState } from 'react';\nimport { useRouter } from 'next/navigation';\nimport { Button } from '@/components/ui/button';\nimport { ProjectStatus } from '@/lib/workspace-types';\n\ninterface ProjectState {\n name: string;\n status: ProjectStatus;\n progress: number;\n message: string;\n error?: string;\n canRetry: boolean;\n isOpening?: boolean;\n isCleaningUp?: boolean;\n needsCleanup?: boolean;\n logs?: Array<{type: 'stdout' | 'stderr' | 'progress', content: string, timestamp: number}>;\n}\n\ninterface InitializationState {\n isInitializing: boolean;\n isCompleted: boolean;\n isLoading: boolean;\n hasCompleted: boolean;\n globalProgress: number;\n globalMessage: string;\n projects: Record<string, ProjectState>;\n completionSummary?: {\n success: boolean;\n totalProjects: number;\n successCount: number;\n failedCount: number;\n duration: number;\n };\n}\n\nconst ProjectInitializer = () => {\n const router = useRouter();\n const [state, setState] = useState<InitializationState>({\n isInitializing: false,\n isCompleted: false,\n isLoading: true,\n hasCompleted: false,\n globalProgress: 0,\n globalMessage: '正在检查工作空间状态...',\n projects: {},\n });\n \n const [expandedLogs, setExpandedLogs] = useState<Record<string, boolean>>({});\n\n // 页面加载时检查工作空间状态\n useEffect(() => {\n checkWorkspaceStatus();\n }, []);\n\n // 检查工作空间状态\n const checkWorkspaceStatus = async () => {\n try {\n setState(prev => ({\n ...prev,\n isLoading: true,\n globalMessage: '正在检查工作空间状态...',\n }));\n\n const response = await fetch('/api/check-workspace');\n const data = await response.json();\n\n if (data.success) {\n const projectStates: Record<string, ProjectState> = {};\n data.projects.forEach((project: { name: string; status: ProjectStatus; message: string; needsCleanup?: boolean }) => {\n projectStates[project.name] = {\n name: project.name,\n status: project.status,\n progress: project.status === ProjectStatus.EXISTING ? 100 : 0,\n message: project.message,\n canRetry: false,\n needsCleanup: project.needsCleanup || false,\n };\n });\n\n setState(prev => ({\n ...prev,\n isLoading: false,\n projects: projectStates,\n globalMessage: data.message || '检查完成',\n }));\n } else {\n setState(prev => ({\n ...prev,\n isLoading: false,\n globalMessage: data.error || '检查工作空间状态失败',\n }));\n }\n } catch (error) {\n setState(prev => ({\n ...prev,\n isLoading: false,\n globalMessage: '无法连接到服务器,请刷新页面重试',\n }));\n console.error('检查工作空间状态失败:', error);\n }\n };\n\n // 开始初始化工作空间\n const startInitialization = () => {\n setState(prev => ({\n ...prev,\n isInitializing: true,\n isCompleted: false,\n hasCompleted: false,\n globalProgress: 0,\n globalMessage: '正在连接服务器...',\n projects: {},\n completionSummary: undefined,\n }));\n\n // 创建 EventSource 连接\n const eventSource = new EventSource('/api/initialize-workspace');\n\n eventSource.onmessage = (event) => {\n try {\n const data = JSON.parse(event.data);\n handleSSEMessage(data);\n } catch (error) {\n console.error('解析 SSE 消息失败:', error);\n }\n };\n\n eventSource.onerror = () => {\n setState(prev => {\n // 如果已经收到完成消息,则不显示错误(这是正常的连接关闭)\n if (prev.hasCompleted) {\n return prev;\n }\n \n return {\n ...prev,\n isInitializing: false,\n globalMessage: '连接服务器失败,请重试',\n };\n });\n eventSource.close();\n };\n\n // 监听连接关闭\n eventSource.addEventListener('error', () => {\n eventSource.close();\n });\n };\n\n // 处理 SSE 消息\n const handleSSEMessage = (data: {\n type: string;\n progress?: number;\n message?: string;\n projects?: string[];\n projectName?: string;\n error?: string;\n logType?: 'stdout' | 'stderr' | 'progress';\n content?: string;\n timestamp?: number;\n result?: {\n success: boolean;\n totalProjects: number;\n successCount: number;\n failedCount: number;\n duration: number;\n };\n }) => {\n switch (data.type) {\n case 'initialization':\n case 'workspace_created':\n case 'projects_loaded':\n setState(prev => ({\n ...prev,\n globalProgress: (data.progress as number) || 0,\n globalMessage: (data.message as string) || '',\n }));\n \n // 如果收到项目列表,初始化项目状态\n if (data.projects && Array.isArray(data.projects)) {\n const projectStates: Record<string, ProjectState> = {};\n data.projects.forEach((projectName: string) => {\n projectStates[projectName] = {\n name: projectName,\n status: ProjectStatus.PENDING,\n progress: 0,\n message: '等待开始...',\n canRetry: false,\n };\n });\n setState(prev => ({ ...prev, projects: projectStates }));\n }\n break;\n\n case 'project_existing':\n if (data.projectName) {\n const projectName = data.projectName;\n setState(prev => ({\n ...prev,\n globalProgress: data.progress ?? prev.globalProgress,\n globalMessage: data.message ?? '',\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n status: ProjectStatus.EXISTING,\n message: '项目已存在',\n progress: 100,\n canRetry: false,\n },\n },\n }));\n }\n break;\n\n case 'project_start':\n if (data.projectName) {\n const projectName = data.projectName;\n setState(prev => ({\n ...prev,\n globalProgress: data.progress ?? prev.globalProgress,\n globalMessage: data.message ?? '',\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n status: ProjectStatus.CLONING,\n message: '开始克隆...',\n progress: 0,\n },\n },\n }));\n }\n break;\n\n case 'project_progress':\n if (data.projectName) {\n const projectName = data.projectName;\n setState(prev => ({\n ...prev,\n globalProgress: data.progress ?? prev.globalProgress,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n message: data.message ?? '',\n progress: Math.min(data.progress ?? 0, 100),\n },\n },\n }));\n }\n break;\n\n case 'project_success':\n if (data.projectName) {\n const projectName = data.projectName;\n setState(prev => ({\n ...prev,\n globalProgress: data.progress ?? prev.globalProgress,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n status: ProjectStatus.SUCCESS,\n message: '克隆成功',\n progress: 100,\n canRetry: false,\n },\n },\n }));\n }\n break;\n\n case 'project_failed':\n if (data.projectName) {\n const projectName = data.projectName;\n setState(prev => ({\n ...prev,\n globalProgress: data.progress ?? prev.globalProgress,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n status: ProjectStatus.FAILED,\n message: '克隆失败',\n error: data.error,\n canRetry: true,\n },\n },\n }));\n }\n break;\n\n case 'command_log':\n if (data.projectName && data.logType && data.content !== undefined && data.timestamp) {\n const projectName = data.projectName;\n const logType = data.logType as 'stdout' | 'stderr' | 'progress';\n const content = data.content as string;\n const timestamp = data.timestamp as number;\n \n setState(prev => ({\n ...prev,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n logs: [\n ...(prev.projects[projectName]?.logs || []),\n {\n type: logType,\n content: content,\n timestamp: timestamp,\n }\n ].slice(-1000), // 保留最新的1000条日志\n },\n },\n }));\n }\n break;\n\n case 'completion':\n setState(prev => ({\n ...prev,\n isInitializing: false,\n isCompleted: true,\n hasCompleted: true,\n globalProgress: 100,\n globalMessage: data.message ?? '初始化完成',\n completionSummary: data.result ? {\n success: data.result.success,\n totalProjects: data.result.totalProjects,\n successCount: data.result.successCount,\n failedCount: data.result.failedCount,\n duration: data.result.duration,\n } : undefined,\n }));\n break;\n\n case 'error':\n setState(prev => ({\n ...prev,\n isInitializing: false,\n hasCompleted: true,\n globalMessage: data.message ?? '发生错误',\n globalProgress: data.progress ?? prev.globalProgress,\n }));\n break;\n }\n };\n\n // 在 Cursor 中打开项目\n const openProject = async (projectName: string) => {\n setState(prev => ({\n ...prev,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n isOpening: true,\n },\n },\n }));\n\n try {\n const response = await fetch('/api/open-project', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ projectName }),\n });\n\n const result = await response.json();\n\n setState(prev => ({\n ...prev,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n isOpening: false,\n },\n },\n }));\n\n // 可以添加成功/失败的toast提示\n if (!result.success) {\n console.error('打开项目失败:', result.error);\n // 这里可以添加用户友好的错误提示\n }\n } catch (error) {\n setState(prev => ({\n ...prev,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n isOpening: false,\n },\n },\n }));\n console.error('打开项目失败:', error);\n }\n };\n\n // 清理不完整的项目\n const cleanupProject = async (projectName: string) => {\n setState(prev => ({\n ...prev,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n isCleaningUp: true,\n },\n },\n }));\n\n try {\n const response = await fetch('/api/cleanup-project', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ projectName }),\n });\n\n const result = await response.json();\n\n if (result.success) {\n setState(prev => ({\n ...prev,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n status: ProjectStatus.PENDING,\n message: '已清理,待克隆',\n isCleaningUp: false,\n needsCleanup: false,\n },\n },\n }));\n } else {\n setState(prev => ({\n ...prev,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n isCleaningUp: false,\n error: result.error,\n },\n },\n }));\n }\n } catch (error) {\n setState(prev => ({\n ...prev,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n isCleaningUp: false,\n error: error instanceof Error ? error.message : String(error),\n },\n },\n }));\n }\n };\n\n // 重试单个项目\n const retryProject = async (projectName: string) => {\n setState(prev => ({\n ...prev,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n status: ProjectStatus.RETRYING,\n message: '正在重试...',\n progress: 0,\n canRetry: false,\n },\n },\n }));\n\n try {\n const response = await fetch('/api/retry-project', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ projectName }),\n });\n\n const result = await response.json();\n\n setState(prev => ({\n ...prev,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n status: result.success ? ProjectStatus.SUCCESS : ProjectStatus.FAILED,\n message: result.message,\n error: result.error,\n progress: result.success ? 100 : prev.projects[projectName].progress,\n canRetry: !result.success,\n },\n },\n }));\n } catch (error) {\n setState(prev => ({\n ...prev,\n projects: {\n ...prev.projects,\n [projectName]: {\n ...prev.projects[projectName],\n status: ProjectStatus.FAILED,\n message: '重试失败',\n error: error instanceof Error ? error.message : String(error),\n canRetry: true,\n },\n },\n }));\n }\n };\n\n // 获取状态样式\n const getStatusColor = (status: ProjectStatus) => {\n switch (status) {\n case ProjectStatus.EXISTING:\n return 'text-green-600 bg-green-50 border-green-200';\n case ProjectStatus.SUCCESS:\n return 'text-green-600 bg-green-50 border-green-200';\n case ProjectStatus.FAILED:\n return 'text-red-600 bg-red-50 border-red-200';\n case ProjectStatus.INCOMPLETE:\n return 'text-orange-600 bg-orange-50 border-orange-200';\n case ProjectStatus.CLONING:\n case ProjectStatus.RETRYING:\n return 'text-blue-600 bg-blue-50 border-blue-200';\n case ProjectStatus.PENDING:\n return 'text-gray-600 bg-gray-50 border-gray-200';\n default:\n return 'text-gray-600 bg-gray-50 border-gray-200';\n }\n };\n\n const getStatusText = (status: ProjectStatus) => {\n switch (status) {\n case ProjectStatus.PENDING:\n return '待克隆';\n case ProjectStatus.EXISTING:\n return '已存在';\n case ProjectStatus.CLONING:\n return '克隆中';\n case ProjectStatus.SUCCESS:\n return '成功';\n case ProjectStatus.FAILED:\n return '失败';\n case ProjectStatus.INCOMPLETE:\n return '不完整';\n case ProjectStatus.RETRYING:\n return '重试中';\n default:\n return '未知';\n }\n };\n\n // 判断是否所有项目都已存在\n const isAllProjectsExisting = () => {\n const projectValues = Object.values(state.projects);\n return projectValues.length > 0 && \n projectValues.every(project => project.status === ProjectStatus.EXISTING);\n };\n\n // 导航到项目配置页面\n const navigateToProjectConfig = (projectName: string) => {\n router.push(`/configuration?project=${encodeURIComponent(projectName)}`);\n };\n\n return (\n <div className=\"container mx-auto p-4 sm:p-6 md:p-8\">\n <div className=\"flex justify-between items-center mb-6\">\n <h1 className=\"text-2xl font-bold\">项目初始化</h1>\n {state.isLoading ? (\n <Button disabled>检查中...</Button>\n ) : (\n <Button \n onClick={startInitialization}\n disabled={state.isInitializing}\n >\n {state.isInitializing ? '初始化中...' : '创建项目空间'}\n </Button>\n )}\n </div>\n\n {/* 全局进度 */}\n {(state.isInitializing || state.isCompleted) && !isAllProjectsExisting() && (\n <div className=\"mb-6 p-4 bg-gray-50 rounded-lg\">\n <div className=\"flex justify-between items-center mb-2\">\n <span className=\"text-sm font-medium\">{state.globalMessage}</span>\n <span className=\"text-sm text-gray-600\">{state.globalProgress}%</span>\n </div>\n <div className=\"w-full bg-gray-200 rounded-full h-2\">\n <div \n className=\"bg-blue-600 h-2 rounded-full transition-all duration-300\"\n style={{ width: `${state.globalProgress}%` }}\n />\n </div>\n </div>\n )}\n\n {/* 完成总结 */}\n {state.completionSummary && !isAllProjectsExisting() && (\n <div className={`mb-6 p-4 rounded-lg border ${\n state.completionSummary.success \n ? 'bg-green-50 border-green-200' \n : 'bg-yellow-50 border-yellow-200'\n }`}>\n <h3 className=\"font-semibold mb-2\">初始化完成</h3>\n <div className=\"grid grid-cols-2 md:grid-cols-4 gap-4 text-sm\">\n <div>总项目数: {state.completionSummary.totalProjects}</div>\n <div className=\"text-green-600\">成功: {state.completionSummary.successCount}</div>\n <div className=\"text-red-600\">失败: {state.completionSummary.failedCount}</div>\n <div>耗时: {Math.round(state.completionSummary.duration / 1000)}s</div>\n </div>\n </div>\n )}\n\n {/* 项目列表 */}\n <div className=\"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4\">\n {Object.keys(state.projects).length > 0 ? (\n Object.values(state.projects).map((project) => (\n <div \n key={project.name} \n className={`border rounded-lg p-4 ${getStatusColor(project.status)}`}\n >\n <div className=\"flex justify-between items-start mb-2\">\n <h2 \n className=\"font-semibold cursor-pointer hover:text-blue-600 transition-colors\"\n onClick={() => navigateToProjectConfig(project.name)}\n title=\"点击进入项目配置\"\n >\n {project.name}\n </h2>\n <span className=\"text-xs px-2 py-1 rounded-full bg-white\">\n {getStatusText(project.status)}\n </span>\n </div>\n \n <p className=\"text-sm mb-2\">{project.message}</p>\n \n {project.status === ProjectStatus.CLONING || project.status === ProjectStatus.RETRYING ? (\n <div className=\"mb-2\">\n <div className=\"w-full bg-white rounded-full h-1\">\n <div \n className=\"bg-current h-1 rounded-full transition-all duration-300\"\n style={{ width: `${project.progress}%` }}\n />\n </div>\n <span className=\"text-xs\">{project.progress}%</span>\n </div>\n ) : null}\n\n {project.error && (\n <p className=\"text-xs text-red-600 mb-2\">{project.error}</p>\n )}\n\n <div className=\"space-y-2\">\n {project.canRetry && (\n <Button \n size=\"sm\"\n variant=\"outline\"\n onClick={() => retryProject(project.name)}\n className=\"w-full\"\n >\n 重试\n </Button>\n )}\n \n {project.needsCleanup && project.status === ProjectStatus.INCOMPLETE && (\n <Button \n size=\"sm\"\n variant=\"destructive\"\n onClick={() => cleanupProject(project.name)}\n disabled={project.isCleaningUp}\n className=\"w-full\"\n >\n {project.isCleaningUp ? '清理中...' : '清理项目'}\n </Button>\n )}\n \n {(project.status === ProjectStatus.EXISTING || project.status === ProjectStatus.SUCCESS) && (\n <Button \n size=\"sm\"\n variant=\"default\"\n onClick={() => openProject(project.name)}\n disabled={project.isOpening}\n className=\"w-full\"\n >\n {project.isOpening ? '打开中...' : '在 Cursor 中打开'}\n </Button>\n )}\n \n {project.logs && project.logs.length > 0 && (\n <Button \n size=\"sm\"\n variant=\"outline\"\n onClick={() => setExpandedLogs(prev => ({\n ...prev,\n [project.name]: !prev[project.name]\n }))}\n className=\"w-full\"\n >\n {expandedLogs[project.name] ? '隐藏日志' : `查看日志 (${project.logs.length})`}\n </Button>\n )}\n </div>\n\n {/* 日志显示区域 */}\n {expandedLogs[project.name] && project.logs && project.logs.length > 0 && (\n <div className=\"mt-3 border-t pt-3\">\n <div className=\"bg-black text-white rounded text-xs font-mono p-2 max-h-48 overflow-y-auto\">\n {project.logs.map((log, index) => (\n <div key={index} className={`mb-1 ${\n log.type === 'stderr' \n ? 'text-red-400' \n : log.type === 'progress' \n ? 'text-yellow-400' \n : 'text-green-400'\n }`}>\n <span className=\"text-gray-500 mr-2\">\n {new Date(log.timestamp).toLocaleTimeString()}\n </span>\n <span className=\"text-blue-400 mr-2\">[{log.type}]</span>\n <span className=\"whitespace-pre-wrap\">{log.content}</span>\n </div>\n ))}\n </div>\n </div>\n )}\n </div>\n ))\n ) : (\n <div className=\"col-span-full text-center text-gray-500 py-8\">\n {state.isLoading ? '正在检查项目状态...' : \n state.isInitializing ? '正在加载项目...' : \n '点击\"创建项目空间\"开始初始化'}\n </div>\n )}\n </div>\n </div>\n );\n};\n\nexport default ProjectInitializer;"],"names":[],"mappings":"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","ignoreList":[0,1]}