@devflow-tools/devflow 0.12.5 → 0.12.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hooks/hook-daemon.js +7 -3
- package/package.json +2 -2
- package/dist/dashboard/404.html +0 -1
- package/dist/dashboard/_next/static/EDDf6rtQ-c_W_Mi0ANVIA/_buildManifest.js +0 -1
- package/dist/dashboard/_next/static/EDDf6rtQ-c_W_Mi0ANVIA/_ssgManifest.js +0 -1
- package/dist/dashboard/_next/static/chunks/1dd3208c-f3e84932bdc53383.js +0 -1
- package/dist/dashboard/_next/static/chunks/254-814190ccf12d2df8.js +0 -1
- package/dist/dashboard/_next/static/chunks/528-7d4fc14903647f1e.js +0 -2
- package/dist/dashboard/_next/static/chunks/6b3bb038-34d5cf36bd0210d6.js +0 -1
- package/dist/dashboard/_next/static/chunks/781-97eaf0e93843fa67.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/_not-found/page-5252c260804ee1ce.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/layout-0e71002867d54cb5.js +0 -1
- package/dist/dashboard/_next/static/chunks/app/page-c3269fe44e0465e7.js +0 -1
- package/dist/dashboard/_next/static/chunks/framework-58c3457e28c4602f.js +0 -1
- package/dist/dashboard/_next/static/chunks/main-595171e579e3e067.js +0 -1
- package/dist/dashboard/_next/static/chunks/main-app-202a5f91ead17fa7.js +0 -1
- package/dist/dashboard/_next/static/chunks/pages/_app-58c3f1a8a070bd35.js +0 -1
- package/dist/dashboard/_next/static/chunks/pages/_error-312a564ec7e2663f.js +0 -1
- package/dist/dashboard/_next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
- package/dist/dashboard/_next/static/chunks/webpack-d6388c5dcd85b0c5.js +0 -1
- package/dist/dashboard/_next/static/css/322e14d06135256b.css +0 -31
- package/dist/dashboard/_next/static/css/9bb745101fd21603.css +0 -3
- package/dist/dashboard/index.html +0 -1
- package/dist/dashboard/index.txt +0 -9
- package/dist/dashboard/locales/en.json +0 -328
- package/dist/dashboard/locales/zh.json +0 -328
- package/dist/fallback.html +0 -106
- package/dist/plugin/hooks.json +0 -52
- package/dist/plugin/skills/devflow/SKILL.md +0 -20
- package/dist/plugin/skills/devflow:animation/SKILL.md +0 -38
- package/dist/plugin/skills/devflow:context/SKILL.md +0 -44
- package/dist/plugin/skills/devflow:css/SKILL.md +0 -38
- package/dist/plugin/skills/devflow:docker/SKILL.md +0 -42
- package/dist/plugin/skills/devflow:doctor/SKILL.md +0 -17
- package/dist/plugin/skills/devflow:electron/SKILL.md +0 -42
- package/dist/plugin/skills/devflow:git/SKILL.md +0 -42
- package/dist/plugin/skills/devflow:graph/SKILL.md +0 -37
- package/dist/plugin/skills/devflow:graphql/SKILL.md +0 -41
- package/dist/plugin/skills/devflow:knowledge/SKILL.md +0 -37
- package/dist/plugin/skills/devflow:memory/SKILL.md +0 -36
- package/dist/plugin/skills/devflow:nest/SKILL.md +0 -41
- package/dist/plugin/skills/devflow:nextjs/SKILL.md +0 -38
- package/dist/plugin/skills/devflow:performance/SKILL.md +0 -42
- package/dist/plugin/skills/devflow:react/SKILL.md +0 -50
- package/dist/plugin/skills/devflow:start/SKILL.md +0 -50
- package/dist/plugin/skills/devflow:tailwind/SKILL.md +0 -38
- package/dist/plugin/skills/devflow:taro/SKILL.md +0 -41
- package/dist/plugin/skills/devflow:ui-layout/SKILL.md +0 -38
- package/dist/plugin/skills/devflow:vue/SKILL.md +0 -45
- package/dist/plugin/skills/devflow:workflow/SKILL.md +0 -37
- package/plugin-registry.json +0 -190
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import {createServer}from'net';import {join}from'path';import {homedir}from'os';import {existsSync,unlinkSync,readdirSync,readFileSync,mkdirSync,writeFileSync}from'fs';import {createHash}from'crypto';import {request}from'http';var
|
|
2
|
-
`)
|
|
1
|
+
import {createServer}from'net';import {join}from'path';import {homedir}from'os';import {existsSync,unlinkSync,readdirSync,readFileSync,mkdirSync,writeFileSync}from'fs';import {createHash}from'crypto';import {request}from'http';import {spawn}from'child_process';var O=1e4,nt=3e4,rt=300*1e3;function v(a,t,e){return new Promise(s=>{try{let n=new URL(a),r=request({hostname:n.hostname,port:n.port||80,path:n.pathname+n.search,method:"POST",headers:{"Content-Type":"application/json","X-API-Key":e,"Content-Length":Buffer.byteLength(t)},timeout:5e3},o=>{let i=[];o.on("data",c=>i.push(c)),o.on("end",()=>{let c=Buffer.concat(i).toString();s(o.statusCode!=null&&o.statusCode>=200&&o.statusCode<300?c:null);});});r.on("error",()=>s(null)),r.on("timeout",()=>{r.destroy(),s(null);}),r.write(t),r.end();}catch{s(null);}})}var S=class{constructor(t){this.retryScheduled=false;this.retryAttempts=0;this.apiUrl=t?.apiUrl??process.env.DEVFLOW_API_URL??"http://127.0.0.1:13337",this.apiKey=t?.apiKey??process.env.DEVFLOW_API_KEY??"dev-key-000000",this.cacheDir=t?.cacheDir??join(homedir(),".devflow","telemetry-cache");}async sendEvent(t){let e=this.truncateInput(t.input),s={...t,input:e},n=`${this.apiUrl}/api/telemetry/tool-call`,r=await v(n,JSON.stringify(s),this.apiKey);if(r)try{let o=JSON.parse(r),i=o.data?.eventId??o.eventId??null;if(i)return i}catch{}return this.cacheEvent({type:"tool_call",payload:s}),null}async sendExecutionStart(t,e,s,n){let r={executionId:t,sessionId:e,skillName:s,startedAt:n},o=`${this.apiUrl}/api/telemetry/skill-execution/start`;await v(o,JSON.stringify(r),this.apiKey)||this.cacheEvent({type:"execution_start",payload:r});}async sendSessionStart(t,e,s){let n={id:t,projectRoot:e,startedAt:s,label:e.split("/").pop()??"unknown"},r=`${this.apiUrl}/api/telemetry/sessions`;return await v(r,JSON.stringify(n),this.apiKey)!==null}async flushCache(){if(!existsSync(this.cacheDir))return;let t=readdirSync(this.cacheDir).filter(e=>e.endsWith(".json"));for(let e of t)try{let s=join(this.cacheDir,e),n=readFileSync(s,"utf8"),r=JSON.parse(n),o=r.type==="execution_start"?"/api/telemetry/skill-execution/start":"/api/telemetry/tool-call",i=`${this.apiUrl}${o}`;await v(i,JSON.stringify(r.payload),this.apiKey)&&unlinkSync(s);}catch{}}cacheEvent(t){try{existsSync(this.cacheDir)||mkdirSync(this.cacheDir,{recursive:!0});let e=join(this.cacheDir,`${Date.now()}_${Math.random().toString(36).slice(2,11)}.json`);writeFileSync(e,JSON.stringify(t,null,2)),this.scheduleRetry();}catch{}}scheduleRetry(){if(this.retryScheduled)return;this.retryScheduled=true;let t=Math.min(nt*Math.pow(2,this.retryAttempts),rt);setTimeout(()=>{this.retryScheduled=false,this.flushCache().then(()=>{this.retryAttempts=0;}).catch(()=>{this.retryAttempts++;});},t).unref();}truncateInput(t){let e=JSON.stringify(t);return e.length<=O?t:{_truncated:true,_original_size:e.length,_preview:e.substring(0,O)+"..."}}};var at=1800*1e3;function ct(){return process.env.DEVFLOW_STATE_DIR??join(homedir(),".devflow")}var w=class{constructor(t){this.stateDir=ct();}detect(){let t=join(this.stateDir,"current-skill.json");if(!existsSync(t))return null;try{let e=readFileSync(t,"utf8"),s=JSON.parse(e);return !s.registeredAt||Date.now()-s.registeredAt>at?(this.endExecution(),null):s}catch{return null}}startExecution(t,e){existsSync(this.stateDir)||mkdirSync(this.stateDir,{recursive:true});let s=this.getCurrentExecutionId();if(s)return s;let n=`exec_${Date.now()}_${Math.random().toString(36).slice(2,11)}`;return writeFileSync(join(this.stateDir,"current-execution-id"),n),writeFileSync(join(this.stateDir,"current-skill.json"),JSON.stringify({name:t,required_mcp_tools:e?.required_mcp_tools??[],registeredAt:Date.now()})),n}getCurrentExecutionId(){let t=join(this.stateDir,"current-execution-id");if(!existsSync(t))return null;try{return readFileSync(t,"utf8").trim()}catch{return null}}endExecution(){let t=join(this.stateDir,"current-skill.json"),e=join(this.stateDir,"current-execution-id");try{existsSync(t)&&unlinkSync(t);}catch{}try{existsSync(e)&&unlinkSync(e);}catch{}}};var D=join(homedir(),".devflow"),b=join(D,"server-refs.json"),ft="http://127.0.0.1:13337/api/health",yt=600*1e3,gt=500;function vt(){existsSync(D)||mkdirSync(D,{recursive:true});}function _(){try{if(existsSync(b))return JSON.parse(readFileSync(b,"utf-8"))}catch{}return {sessions:[],lastActivity:0}}function F(a){vt(),writeFileSync(b,JSON.stringify(a));}var k=class{constructor(t){this.process=null;this.idleTimer=null;this.onShutdown=null;this.projectRoot=t;}setOnShutdown(t){this.onShutdown=t;}addRef(t){let e=_();e.sessions.includes(t)||e.sessions.push(t),e.lastActivity=Date.now(),F(e),this.resetIdleTimer();}removeRef(t){let e=_();e.sessions=e.sessions.filter(s=>s!==t),e.lastActivity=Date.now(),F(e),e.sessions.length===0&&this.resetIdleTimer();}get activeSessions(){return _().sessions.length}async ensureRunning(){return await this.healthCheck()?true:(await this.startServer(),this.waitForReady())}get isRunning(){return this.process!==null&&!this.process.killed}async stop(){this.idleTimer&&clearTimeout(this.idleTimer),this.process&&(this.process.kill("SIGTERM"),await new Promise(t=>{let e=setTimeout(()=>{this.process&&!this.process.killed&&this.process.kill("SIGKILL"),t();},5e3);this.process?this.process.on("exit",()=>{clearTimeout(e),t();}):(clearTimeout(e),t());}),this.process=null);}async startServer(){let t=join(this.projectRoot,"apps","server","dist","main.js"),e=join(this.projectRoot,"node_modules","@devflow-tools","server","dist","main.js"),s=existsSync(t)?t:e;this.process=spawn("node",[s],{cwd:this.projectRoot,env:{...process.env,NODE_ENV:process.env.NODE_ENV||"development"},stdio:["ignore","pipe","pipe"]}),this.process.stdout?.on("data",n=>{}),this.process.stderr?.on("data",n=>{}),this.process.on("exit",n=>{this.process=null,this.onShutdown&&this.onShutdown();}),this.process.on("error",()=>{this.process=null;});}async waitForReady(){let t=Date.now()+3e4;for(;Date.now()<t;){if(await this.healthCheck())return true;await new Promise(e=>setTimeout(e,gt));}return false}healthCheck(){return new Promise(t=>{let e=new URL(ft),s=request({hostname:e.hostname,port:e.port,path:e.pathname,method:"GET",timeout:2e3},n=>{t(n.statusCode===200);});s.on("error",()=>t(false)),s.on("timeout",()=>{s.destroy(),t(false);}),s.end();})}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),!(_().sessions.length>0)&&(this.idleTimer=setTimeout(()=>{this.stop();},yt).unref());}};var p=join(homedir(),".devflow","telemetry-buffer.jsonl"),B=500;function wt(){let a=join(homedir(),".devflow");existsSync(a)||mkdirSync(a,{recursive:true});}var E=class{append(t){try{wt();let e=[];existsSync(p)&&(e=readFileSync(p,"utf-8").split(`
|
|
2
|
+
`).filter(s=>s.trim())),e.push(JSON.stringify(t)),e.length>B&&(e=e.slice(e.length-B)),writeFileSync(p,e.join(`
|
|
3
|
+
`)+`
|
|
4
|
+
`);}catch{}}readAll(){try{return existsSync(p)?readFileSync(p,"utf-8").split(`
|
|
5
|
+
`).filter(t=>t.trim()):[]}catch{return []}}clear(){try{existsSync(p)&&writeFileSync(p,"");}catch{}}get size(){return this.readAll().length}};var f=join(homedir(),".devflow","hook-daemon.sock");join(homedir(),".devflow");var Rt=600*1e3,Pt=new Set(["Agent","Bash","Glob","Grep","WebSearch","WebFetch"]);function Dt(a){switch(a){case "Read":case "Glob":return "file_read";case "Write":case "Edit":case "NotebookEdit":return "file_write";case "Bash":return "bash_command";case "Agent":return "subagent";case "Skill":return "skill_invoke";default:return "tool_use"}}function V(a){let t=createHash("sha256").update(a).digest("hex").slice(0,16);return join(process.env.TMPDIR||"/tmp",".devflow-receipts",`${t}.json`)}function bt(a){try{let t=V(a);return existsSync(t)?JSON.parse(readFileSync(t,"utf-8")):{}}catch{return {}}}function W(a,t){try{let e=V(a),s=join(process.env.TMPDIR||"/tmp",".devflow-receipts");existsSync(s)||mkdirSync(s,{recursive:!0}),writeFileSync(e,JSON.stringify(t));}catch{}}var C=class{constructor(t){this.sessionId=null;this.eventMap=[];this.idleTimer=null;this.projectRoot=t,this.projectName=t.split("/").pop()||"unknown",this.telemetry=new S,this.skillManager=new w,this.serverManager=new k(t),this.telemetryBuffer=new E;}async start(){try{existsSync(f)&&unlinkSync(f);}catch{}let t=createServer(e=>{this.resetIdleTimer();let s="";e.on("data",async n=>{s+=n.toString();let r=s.split(`
|
|
6
|
+
`);s=r.pop()||"";for(let o of r)if(o.trim())try{let i=JSON.parse(o),c=await this.handleRequest(i);c!==null&&e.write(JSON.stringify(c)+`
|
|
3
7
|
`);}catch(i){e.write(JSON.stringify({error:i.message})+`
|
|
4
|
-
`);}}),e.on("error",()=>{});});t.on("error",e=>{console.error("[devflow-daemon] Server error:",e.message);}),t.listen(
|
|
8
|
+
`);}}),e.on("error",()=>{});});t.on("error",e=>{console.error("[devflow-daemon] Server error:",e.message);}),t.listen(f,()=>{console.error("[devflow-daemon] Listening on",f);}),this.flushBuffer(),this.resetIdleTimer();}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=setTimeout(()=>{console.error("[devflow-daemon] Idle timeout, exiting"),this.shutdown();},Rt).unref();}async handleRequest(t){switch(t.type){case "pre-tool-use":return this.handlePreToolUse(t.input);case "post-tool-use":return this.handlePostToolUse(t.input);case "stop":return await this.handleStop(),{status:"ok"};default:return {error:"unknown request type"}}}async handlePreToolUse(t){try{if(!t||t.trim()==="")return {hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow"}};let e=JSON.parse(t);if(this.sessionId||(this.sessionId=`session:${this.projectName}:${Date.now().toString(36)}`,this.telemetry.sendSessionStart(this.sessionId,this.projectRoot,Date.now()).catch(()=>{})),e.tool_name==="Skill"){let l=e.tool_input?.skill;if(l&&l.startsWith("devflow:")){let X=this.skillManager.startExecution(l);this.telemetry.sendExecutionStart(X,this.sessionId,l,Date.now()).catch(()=>{});}}let s=this.skillManager.detect(),n=e.tool_name.startsWith("mcp__devflow__"),r=n?e.tool_name.replace("mcp__devflow__",""):void 0,o=s?.required_mcp_tools??[],i=o.length>0,c=i&&!n,h;c?h={hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:`Skill "${s?.name||"unknown"}" requires MCP tools. Use one of: ${o.join(", ")}`}}:h={hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow"}};let d=this.skillManager.getCurrentExecutionId()??this.sessionId,g={eventId:`evt_${Date.now()}_${Math.random().toString(36).slice(2,11)}`,executionId:d,sessionId:this.sessionId,timestamp:Date.now(),toolName:e.tool_name,toolType:n?"mcp":e.tool_name==="Agent"?"subagent":"direct",isMcpTool:n,mcpToolName:r,mcpEnforced:n&&i,mcpFallback:!n&&i,kind:Dt(e.tool_name),input:e.tool_input,duration:0,blocked:c};return this.telemetry.sendEvent(g).then(l=>{l&&this.eventMap.push({toolName:e.tool_name,eventId:l,timestamp:g.timestamp});}).catch(()=>{}),h}catch{return {hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow"}}}}popEventFromMap(t){let e=this.eventMap.filter(n=>n.toolName===t);if(e.length===0)return null;e.sort((n,r)=>Math.abs(n.timestamp-Date.now())-Math.abs(r.timestamp-Date.now()));let s=e[0];return this.eventMap=this.eventMap.filter(n=>n.eventId!==s.eventId),s}enforcePostToolUse(t){if(!Pt.has(t))return null;let e=bt(this.projectRoot),s=e.lastMcpCall??0;if(Math.floor(Date.now()/1e3)-s<30)return null;let r=e.bypassCount??0;if(r===0)return W(this.projectRoot,{...e,bypassCount:1}),null;let o=r+1;W(this.projectRoot,{...e,bypassCount:o});let i;switch(t){case "Agent":i=`\u7B2C ${o} \u6B21\u8FDD\u89C4\uFF1A\u4F60\u521A\u624D\u4F7F\u7528\u4E86 Agent \u5B50\u4EE3\u7406\u6267\u884C\u641C\u7D22\u3002\u4E0B\u6B21\u8BF7\u7528 get_project_context MCP \u5DE5\u5177\u66FF\u4EE3\u3002`;break;case "Bash":i=`\u7B2C ${o} \u6B21\u8FDD\u89C4\uFF1A\u4F60\u521A\u624D\u7528\u4E86 Bash \u547D\u4EE4\u641C\u7D22\u4EE3\u7801\u3002\u4E0B\u6B21\u8BF7\u7528 get_project_context MCP \u5DE5\u5177\u66FF\u4EE3\u3002`;break;case "Glob":i=`\u7B2C ${o} \u6B21\u8FDD\u89C4\uFF1A\u4F60\u521A\u624D\u7528\u4E86 Glob \u5339\u914D\u6587\u4EF6\u3002\u4E0B\u6B21\u8BF7\u7528 get_project_context MCP \u5DE5\u5177\u66FF\u4EE3\u3002`;break;case "Grep":i=`\u7B2C ${o} \u6B21\u8FDD\u89C4\uFF1A\u4F60\u521A\u624D\u7528\u4E86 Grep \u641C\u7D22\u4EE3\u7801\u3002\u4E0B\u6B21\u8BF7\u7528 get_project_context MCP \u5DE5\u5177\u66FF\u4EE3\u3002`;break;case "WebSearch":case "WebFetch":i=`\u7B2C ${o} \u6B21\u8FDD\u89C4\uFF1A\u4F60\u521A\u624D\u7528\u4E86\u7F51\u7EDC\u641C\u7D22\u3002\u4E0B\u6B21\u8BF7\u7528 get_knowledge MCP \u5DE5\u5177\u66FF\u4EE3\u3002`;break;default:i=`\u7B2C ${o} \u6B21\u8FDD\u89C4\uFF1A\u8BF7\u4F7F\u7528 DevFlow MCP \u5DE5\u5177\u66FF\u4EE3\u76F4\u63A5\u8C03\u7528\u3002`;}return o>=3?i=`${i} \u5DF2\u8FBE\u5230\u6700\u5927\u8FDD\u89C4\u6B21\u6570\uFF0C\u540E\u7EED\u7ED5\u8FC7\u5C06\u88AB\u786C\u963B\u6B62\u3002`:o>=2?i=`${i} \u4E0B\u6B21\u8FDD\u89C4\u5C06\u88AB\u963B\u6B62\u3002`:i=`${i} \u8BF7\u7ACB\u5373\u7EA0\u6B63\u3002`,i}async handlePostToolUse(t){if(!t)return null;let e;try{e=JSON.parse(t);}catch{return null}let s=e.tool_name||"",n=e.tool_input||{},r=e.tool_response,o=this.popEventFromMap(s);if(o&&this.sessionId){let y=typeof r=="string"?r:JSON.stringify(r),g=y.length>5e3?{_truncated:true,_originalSize:y.length,text:y.slice(0,5e3)}:r,l=Date.now()-o.timestamp;this.sendHttp("/api/telemetry/tool-call/output",{eventId:o.eventId,sessionId:this.sessionId,output:g,duration:l,completedAt:Date.now()});}let i=typeof r=="object"&&r!==null?r:null,c=i?.exitCode,h=i?.stderr;s==="Bash"&&c!==void 0&&c!==0&&this.sendHttp(`/api/memory/events?rootPath=${encodeURIComponent(this.projectRoot)}`,{id:`evt:${Date.now()}:${Math.random().toString(36).slice(2,7)}`,sessionId:this.sessionId??`session:${this.projectName}`,tool:s,command:n.command||s,exitCode:c,stderr:h??null,durationMs:0,createdAt:Date.now()});let d=this.enforcePostToolUse(s);return d?(console.error("[devflow-daemon] Enforcement:",d),{hookSpecificOutput:{hookEventName:"PostToolUse",additionalContext:JSON.stringify(d)}}):null}sendHttp(t,e){let s=JSON.stringify(e),n=new URL(t,"http://127.0.0.1:13337"),r=request({hostname:n.hostname,port:n.port,path:n.pathname+n.search,method:"POST",headers:{"Content-Type":"application/json","X-API-Key":"dev-key-000000","Content-Length":Buffer.byteLength(s)},timeout:5e3},o=>{o.statusCode===200&&this.flushBuffer();});r.on("error",()=>{this.telemetryBuffer.append({path:t,data:e,timestamp:Date.now()});}),r.write(s),r.end();}flushBuffer(){let t=this.telemetryBuffer.readAll();if(t.length!==0){for(let e of t)try{let s=JSON.parse(e),n=JSON.stringify(s.data),r=new URL(s.path,"http://127.0.0.1:13337"),o=request({hostname:r.hostname,port:r.port,path:r.pathname+r.search,method:"POST",headers:{"Content-Type":"application/json","X-API-Key":"dev-key-000000","Content-Length":Buffer.byteLength(n)},timeout:5e3},()=>{});o.on("error",()=>{}),o.write(n),o.end();}catch{}this.telemetryBuffer.clear();}}async handleStop(){this.sessionId&&(this.sendHttp(`/api/telemetry/sessions/${this.sessionId}/close`,{finishedAt:Date.now()}),this.serverManager.removeRef(this.sessionId)),this.sendHttp(`/api/memory/process?rootPath=${encodeURIComponent(this.projectRoot)}`,{}),await this.telemetry.flushCache().catch(()=>{}),this.shutdown();}shutdown(){this.idleTimer&&clearTimeout(this.idleTimer);try{unlinkSync(f);}catch{}this.serverManager.stop(),process.exit(0);}},Mt=process.argv[2]||process.env.CLAUDE_PROJECT_DIR||process.cwd(),Ct=new C(Mt);Ct.start().catch(a=>{console.error("[devflow-daemon] Failed to start:",a),process.exit(1);});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devflow-tools/devflow",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "DevFlow - Developer Intelligence Platform (Distribution Package)",
|
|
6
6
|
"bin": {
|
|
@@ -52,5 +52,5 @@
|
|
|
52
52
|
"plugin-registry.json",
|
|
53
53
|
"scripts/postinstall.js"
|
|
54
54
|
],
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "d544427472016eb332c6c2107f0fc98d8ae59c14"
|
|
56
56
|
}
|
package/dist/dashboard/404.html
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="zh" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/9bb745101fd21603.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-d6388c5dcd85b0c5.js"/><script src="/_next/static/chunks/1dd3208c-f3e84932bdc53383.js" async=""></script><script src="/_next/static/chunks/528-7d4fc14903647f1e.js" async=""></script><script src="/_next/static/chunks/main-app-202a5f91ead17fa7.js" async=""></script><script src="/_next/static/chunks/254-814190ccf12d2df8.js" async=""></script><script src="/_next/static/chunks/app/layout-0e71002867d54cb5.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="h-screen overflow-hidden"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><script src="/_next/static/chunks/webpack-d6388c5dcd85b0c5.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/9bb745101fd21603.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[11815,[],\"\"]\n4:I[55092,[],\"\"]\n5:I[82023,[],\"\"]\n6:I[72921,[\"254\",\"static/chunks/254-814190ccf12d2df8.js\",\"185\",\"static/chunks/app/layout-0e71002867d54cb5.js\"],\"default\",1]\nc:I[91584,[],\"\"]\n7:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n8:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n9:{\"display\":\"inline-block\"}\na:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nd:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"EDDf6rtQ-c_W_Mi0ANVIA\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9bb745101fd21603.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$7\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$8\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$9\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$a\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}],\"params\":{}}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$Lb\"],\"globalErrorComponent\":\"$c\",\"missingSlots\":\"$Wd\"}]\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}]]\n3:null\n"])</script></body></html>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/_error":["static/chunks/pages/_error-312a564ec7e2663f.js"],sortedPages:["/_app","/_error"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
self.__SSG_MANIFEST=new Set([]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB()
|