@devflow-tools/cli 0.19.29 → 0.19.30

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "devflow",
3
3
  "description": "DevFlow — Developer Intelligence Platform: project context, code graph, knowledge base, memory engine, and workflow automation with 14 domain plugins",
4
- "version": "0.19.29",
4
+ "version": "0.19.30",
5
5
  "author": {
6
6
  "name": "DevFlow"
7
7
  },
@@ -8,7 +8,7 @@
8
8
  ],
9
9
  "blockedNative": [],
10
10
  "source": "core",
11
- "sourceVersion": "0.19.29",
11
+ "sourceVersion": "0.19.30",
12
12
  "requiresContext": false,
13
13
  "evidenceMode": "runtime",
14
14
  "skillPath": "skills/devflow:doctor/SKILL.md",
@@ -35,7 +35,7 @@
35
35
  "WebFetch"
36
36
  ],
37
37
  "source": "core",
38
- "sourceVersion": "0.19.29",
38
+ "sourceVersion": "0.19.30",
39
39
  "requiresContext": true,
40
40
  "evidenceMode": "mixed",
41
41
  "skillPath": "skills/devflow:context/SKILL.md",
@@ -60,7 +60,7 @@
60
60
  "Explore"
61
61
  ],
62
62
  "source": "core",
63
- "sourceVersion": "0.19.29",
63
+ "sourceVersion": "0.19.30",
64
64
  "requiresContext": true,
65
65
  "evidenceMode": "mixed",
66
66
  "skillPath": "skills/devflow:graph/SKILL.md",
@@ -79,7 +79,7 @@
79
79
  "WebFetch"
80
80
  ],
81
81
  "source": "core",
82
- "sourceVersion": "0.19.29",
82
+ "sourceVersion": "0.19.30",
83
83
  "requiresContext": true,
84
84
  "evidenceMode": "mixed",
85
85
  "skillPath": "skills/devflow:knowledge/SKILL.md",
@@ -103,7 +103,7 @@
103
103
  "Explore"
104
104
  ],
105
105
  "source": "core",
106
- "sourceVersion": "0.19.29",
106
+ "sourceVersion": "0.19.30",
107
107
  "requiresContext": true,
108
108
  "evidenceMode": "mixed",
109
109
  "skillPath": "skills/devflow:memory/SKILL.md",
@@ -119,7 +119,7 @@
119
119
  ],
120
120
  "blockedNative": [],
121
121
  "source": "core",
122
- "sourceVersion": "0.19.29",
122
+ "sourceVersion": "0.19.30",
123
123
  "requiresContext": true,
124
124
  "evidenceMode": "mixed",
125
125
  "skillPath": "skills/devflow:workflow/SKILL.md",
@@ -154,7 +154,7 @@
154
154
  ],
155
155
  "blockedNative": [],
156
156
  "source": "core",
157
- "sourceVersion": "0.19.29",
157
+ "sourceVersion": "0.19.30",
158
158
  "requiresContext": true,
159
159
  "evidenceMode": "mixed",
160
160
  "skillPath": "skills/devflow:delivery/SKILL.md",
@@ -1,6 +1,7 @@
1
- import {createConnection}from'node:net';import {mkdirSync,appendFileSync,writeFileSync,renameSync,readFileSync,existsSync}from'node:fs';import {getDaemonSocketPath,getDevFlowStateRoot,getDaemonPidPath,getProjectStateDir}from'@devflow-tools/sdk';import {join,dirname}from'node:path';import {openGlobalDevFlowDatabase}from'@devflow-tools/database';import {createHash,randomUUID}from'node:crypto';function R(e,t,o){try{let r=openGlobalDevFlowDatabase();try{r.insertEvent({kind:e,timestamp:Date.now(),duration:o,success:t.success!==!1,metadata:t});}finally{r.close();}}catch{}}var j=["4-Gate enforcement","memory prefetch cache","daemon-shared hook state"];function y(e){let t=F(e.input)??e.requestType;if(R("hook_daemon_request",{success:e.success,projectRoot:e.projectRoot,requestType:e.requestType,tool:t,attempts:e.attempts},e.durationMs),e.success)return;let o=Date.now(),r=A(e.input);try{let n=openGlobalDevFlowDatabase(void 0,{busyTimeoutMs:250});try{n.insertHookFallback({id:`hook-fallback:${createHash("sha256").update(`${e.projectRoot}\0${r.sessionId??""}\0${r.toolUseId??""}\0${e.requestType}\0${o}`).digest("hex").slice(0,24)}`,projectRoot:e.projectRoot,sessionId:r.sessionId,toolUseId:r.toolUseId,requestType:e.requestType,tool:t,reason:e.reason??"unknown",durationMs:e.durationMs,attempts:e.attempts,createdAt:o});}finally{n.close();}}catch{}try{let n=join(getDevFlowStateRoot(),"logs","hook-fallback",`${new Date(o).toISOString().slice(0,10)}.log`);mkdirSync(dirname(n),{recursive:!0,mode:448}),appendFileSync(n,`${JSON.stringify({ts:o,tool:t,requestType:e.requestType,projectRoot:e.projectRoot,reason:`daemon-${e.reason??"unknown"}`,durationMs:e.durationMs,attempts:e.attempts,bypassCountLost:!0,disabledFeatures:j})}
2
- `,{mode:384});}catch{}}function A(e){try{let t=JSON.parse(e);return {sessionId:typeof t.session_id=="string"?t.session_id:void 0,toolUseId:typeof t.tool_use_id=="string"?t.tool_use_id:void 0}}catch{return {}}}function F(e){try{let t=JSON.parse(e);return typeof t.tool_name=="string"&&t.tool_name?t.tool_name:null}catch{return null}}var C=2*1024*1024;function J(e){return join(getProjectStateDir(e),"user-prompt-submit-pending")}function k(e,t){if(Buffer.byteLength(t,"utf8")>C)throw new Error("user_prompt_submit_input_too_large");let o=J(e);mkdirSync(o,{recursive:true,mode:448});let r=`user-prompt-submit-spool-${Date.now()}-${process.pid}-${randomUUID().slice(0,8)}`,n=join(o,`.${r}.tmp`),s=join(o,`${r}.json`);return writeFileSync(n,t,{mode:384}),renameSync(n,s),r}var c=process.env.CLAUDE_PROJECT_DIR||process.cwd(),X=getDaemonSocketPath(c),a=process.argv[2],O=process.argv[3],h=Number(process.env.DEVFLOW_HOOK_CLIENT_TIMEOUT_MS),z=Number.isFinite(h)&&h>0?h:1e3,b=Number(process.env.DEVFLOW_HOOK_CLIENT_RETRY_DELAY_MS),Q=Number.isFinite(b)&&b>=0?b:100,S=2*1024*1024,_=a==="memory-snapshot"?2:1;async function Z(){let e=O!==void 0?se(O):a==="memory-snapshot"?{input:"",truncated:false}:await ne(),{input:t,truncated:o}=e,r=Date.now(),n="unknown";for(let s=0;s<_;s+=1){let i=await re(t,o);if(i.response!==null){if(te(i.response)){n="protocol";break}return y({projectRoot:c,requestType:a,input:t,durationMs:Date.now()-r,success:true,attempts:s+1}),process.stdout.write(`${i.response}
3
- `),0}n=i.reason??"unknown",s<_-1&&await ie(Q);}if(process.env.DEVFLOW_HOOK_CLIENT_SUPPRESS_FALLBACK_LOG!=="1"&&y({projectRoot:c,requestType:a,input:t,durationMs:Date.now()-r,success:false,attempts:_,reason:n}),a==="user-prompt-submit"&&t.trim())try{k(c,t);}catch{}return 1}function ee(){let e=process.env.CLAUDE_PLUGIN_ROOT?.trim();if(e)try{let t=JSON.parse(readFileSync(`${e}/dist/runtime-manifest.json`,"utf8"));return typeof t.manifestHash=="string"?t.manifestHash:void 0}catch{return}}function m(e){try{let t=getDaemonPidPath(e);if(!existsSync(t))return;let o=Number.parseInt(readFileSync(t,"utf8").trim(),10);if(!Number.isInteger(o)||o<=1||o===process.pid)return;process.kill(o,"SIGTERM");}catch{}}function te(e){try{let t=JSON.parse(e);return !!(t&&typeof t=="object"&&!Array.isArray(t)&&typeof t.error=="string")}catch{return true}}function re(e,t){return new Promise(o=>{let r=createConnection(X),n=false,s="",i=false,p=ee(),u=(d,l)=>{n||(n=true,clearTimeout(I),r.destroy(),o({response:d,reason:l}));},I=setTimeout(()=>{i||m(c),u(null,"timeout");},z);r.setEncoding("utf8"),r.on("connect",()=>{r.write(`${JSON.stringify({type:"hello",rootPath:c,...p?{runtimeManifestHash:p}:{}})}
4
- `);}),r.on("data",d=>{for(s+=d;!n;){let l=s.indexOf(`
5
- `);if(l<0)return;let f=s.slice(0,l).trim();if(s=s.slice(l+1),!i){try{let D=JSON.parse(f);if(D.error==="daemon_runtime_mismatch"){m(c),u(null,"protocol");return}if(D.type!=="hello_ack"){if(!p){u(f||null);return}m(c),u(null,"protocol");return}}catch{m(c),u(null,"protocol");return}i=true;let w=oe(e,t);if(!w){u(null,"protocol");return}r.write(`${JSON.stringify(w)}
6
- `);continue}u(f||null);}}),r.on("error",()=>u(null,"unreachable")),r.on("close",()=>u(null,"unreachable"));})}function oe(e,t){let o=t?{truncated:true}:{};return a==="stop"?{type:"stop",input:e,...o}:a==="memory-snapshot"?{type:"memory-snapshot"}:["session-start","session-end","post-tool-use","post-tool-use-failure","pre-tool-use","user-prompt-submit","pre-compact"].includes(a)?{type:a,input:e,...o}:null}function ne(){return new Promise(e=>{let t=[],o=0,r=false;process.stdin.on("data",n=>{let s=Buffer.isBuffer(n)?n:Buffer.from(n),i=S-o;if(i>0){let p=s.subarray(0,i);t.push(p),o+=p.length;}s.length>i&&(r=true);}),process.stdin.on("end",()=>e({input:Buffer.concat(t).toString("utf8"),truncated:r})),process.stdin.on("error",()=>e({input:"",truncated:false}));})}function se(e){let t=Buffer.from(e);return t.length<=S?{input:e,truncated:false}:{input:t.subarray(0,S).toString("utf8"),truncated:true}}function ie(e){return new Promise(t=>setTimeout(t,e))}Z().then(e=>process.exit(e)).catch(()=>process.exit(1));
1
+ import {createConnection}from'node:net';import {mkdirSync,appendFileSync,existsSync,writeFileSync,renameSync,readFileSync}from'node:fs';import {spawn}from'node:child_process';import {join,dirname}from'node:path';import {getDaemonSocketPath,getDevFlowStateRoot,getDaemonPidPath,getProjectStateDir}from'@devflow-tools/sdk';import {openGlobalDevFlowDatabase}from'@devflow-tools/database';import {createHash,randomUUID}from'node:crypto';function k(e,t,r){try{let n=openGlobalDevFlowDatabase();try{n.insertEvent({kind:e,timestamp:Date.now(),duration:r,success:t.success!==!1,metadata:t});}finally{n.close();}}catch{}}var H=["4-Gate enforcement","memory prefetch cache","daemon-shared hook state"];function m(e){let t=C(e.input)??e.requestType;if(k("hook_daemon_request",{success:e.success,projectRoot:e.projectRoot,requestType:e.requestType,tool:t,attempts:e.attempts},e.durationMs),e.success)return;let r=Date.now(),n=B(e.input);try{let o=openGlobalDevFlowDatabase(void 0,{busyTimeoutMs:250});try{o.insertHookFallback({id:`hook-fallback:${createHash("sha256").update(`${e.projectRoot}\0${n.sessionId??""}\0${n.toolUseId??""}\0${e.requestType}\0${r}`).digest("hex").slice(0,24)}`,projectRoot:e.projectRoot,sessionId:n.sessionId,toolUseId:n.toolUseId,requestType:e.requestType,tool:t,reason:e.reason??"unknown",durationMs:e.durationMs,attempts:e.attempts,createdAt:r});}finally{o.close();}}catch{}try{let o=join(getDevFlowStateRoot(),"logs","hook-fallback",`${new Date(r).toISOString().slice(0,10)}.log`);mkdirSync(dirname(o),{recursive:!0,mode:448}),appendFileSync(o,`${JSON.stringify({ts:r,tool:t,requestType:e.requestType,projectRoot:e.projectRoot,reason:`daemon-${e.reason??"unknown"}`,durationMs:e.durationMs,attempts:e.attempts,bypassCountLost:!0,disabledFeatures:H})}
2
+ `,{mode:384});}catch{}}function B(e){try{let t=JSON.parse(e);return {sessionId:typeof t.session_id=="string"?t.session_id:void 0,toolUseId:typeof t.tool_use_id=="string"?t.tool_use_id:void 0}}catch{return {}}}function C(e){try{let t=JSON.parse(e);return typeof t.tool_name=="string"&&t.tool_name?t.tool_name:null}catch{return null}}var Y=2*1024*1024;function X(e){return join(getProjectStateDir(e),"user-prompt-submit-pending")}function E(e,t){if(Buffer.byteLength(t,"utf8")>Y)throw new Error("user_prompt_submit_input_too_large");let r=X(e);mkdirSync(r,{recursive:true,mode:448});let n=`user-prompt-submit-spool-${Date.now()}-${process.pid}-${randomUUID().slice(0,8)}`,o=join(r,`.${n}.tmp`),s=join(r,`${n}.json`);return writeFileSync(o,t,{mode:384}),renameSync(o,s),n}var c=process.env.CLAUDE_PROJECT_DIR||process.cwd(),re=getDaemonSocketPath(c),u=process.argv[2],O=process.argv[3],_=Number(process.env.DEVFLOW_HOOK_CLIENT_TIMEOUT_MS),oe=Number.isFinite(_)&&_>0?_:1e3,S=Number(process.env.DEVFLOW_HOOK_CLIENT_RETRY_DELAY_MS),ne=Number.isFinite(S)&&S>=0?S:100,w=2*1024*1024,d=u==="memory-snapshot"?2:1,se=1500,ie=4e3;function ce(e){let t=process.env.CLAUDE_PLUGIN_ROOT?.trim();if(!t)return;let r=join(t,"dist","hooks","server-bootstrap.js");if(existsSync(r))try{spawn(process.execPath,[r],{cwd:e,detached:!0,stdio:"ignore",env:{...process.env,CLAUDE_PROJECT_DIR:e}}).unref();}catch{}}async function ue(){let e=O!==void 0?me(O):u==="memory-snapshot"?{input:"",truncated:false}:await le(),{input:t,truncated:r}=e,n=Date.now(),o="unknown";for(let s=0;s<d;s+=1){let i=await I(t,r);if(i.response!==null){if(T(i.response)){o="protocol";break}return m({projectRoot:c,requestType:u,input:t,durationMs:Date.now()-n,success:true,attempts:s+1}),process.stdout.write(`${i.response}
3
+ `),0}o=i.reason??"unknown",s<d-1&&await P(ne);}if(o==="unreachable"||o==="timeout"){ce(c),await P(se);let s=await I(t,r,ie);if(s.response!==null&&!T(s.response))return m({projectRoot:c,requestType:u,input:t,durationMs:Date.now()-n,success:true,attempts:d+1,reason:"respawned"}),process.stdout.write(`${s.response}
4
+ `),0}if(process.env.DEVFLOW_HOOK_CLIENT_SUPPRESS_FALLBACK_LOG!=="1"&&m({projectRoot:c,requestType:u,input:t,durationMs:Date.now()-n,success:false,attempts:d,reason:o}),u==="user-prompt-submit"&&t.trim())try{E(c,t);}catch{}return 1}function ae(){let e=process.env.CLAUDE_PLUGIN_ROOT?.trim();if(e)try{let t=JSON.parse(readFileSync(`${e}/dist/runtime-manifest.json`,"utf8"));return typeof t.manifestHash=="string"?t.manifestHash:void 0}catch{return}}function f(e){try{let t=getDaemonPidPath(e);if(!existsSync(t))return;let r=Number.parseInt(readFileSync(t,"utf8").trim(),10);if(!Number.isInteger(r)||r<=1||r===process.pid)return;process.kill(r,"SIGTERM");}catch{}}function T(e){try{let t=JSON.parse(e);return !!(t&&typeof t=="object"&&!Array.isArray(t)&&typeof t.error=="string")}catch{return true}}function I(e,t,r=oe){return new Promise(n=>{let o=createConnection(re),s=false,i="",p=false,y=ae(),a=(g,l)=>{s||(s=true,clearTimeout(N),o.destroy(),n({response:g,reason:l}));},N=setTimeout(()=>{p||f(c),a(null,"timeout");},r);o.setEncoding("utf8"),o.on("connect",()=>{o.write(`${JSON.stringify({type:"hello",rootPath:c,...y?{runtimeManifestHash:y}:{}})}
5
+ `);}),o.on("data",g=>{for(i+=g;!s;){let l=i.indexOf(`
6
+ `);if(l<0)return;let h=i.slice(0,l).trim();if(i=i.slice(l+1),!p){try{let R=JSON.parse(h);if(R.error==="daemon_runtime_mismatch"){f(c),a(null,"protocol");return}if(R.type!=="hello_ack"){if(!y){a(h||null);return}f(c),a(null,"protocol");return}}catch{f(c),a(null,"protocol");return}p=true;let D=pe(e,t);if(!D){a(null,"protocol");return}o.write(`${JSON.stringify(D)}
7
+ `);continue}a(h||null);}}),o.on("error",()=>a(null,"unreachable")),o.on("close",()=>a(null,"unreachable"));})}function pe(e,t){let r=t?{truncated:true}:{};return u==="stop"?{type:"stop",input:e,...r}:u==="memory-snapshot"?{type:"memory-snapshot"}:["session-start","session-end","post-tool-use","post-tool-use-failure","pre-tool-use","user-prompt-submit","pre-compact"].includes(u)?{type:u,input:e,...r}:null}function le(){return new Promise(e=>{let t=[],r=0,n=false;process.stdin.on("data",o=>{let s=Buffer.isBuffer(o)?o:Buffer.from(o),i=w-r;if(i>0){let p=s.subarray(0,i);t.push(p),r+=p.length;}s.length>i&&(n=true);}),process.stdin.on("end",()=>e({input:Buffer.concat(t).toString("utf8"),truncated:n})),process.stdin.on("error",()=>e({input:"",truncated:false}));})}function me(e){let t=Buffer.from(e);return t.length<=w?{input:e,truncated:false}:{input:t.subarray(0,w).toString("utf8"),truncated:true}}function P(e){return new Promise(t=>setTimeout(t,e))}ue().then(e=>process.exit(e)).catch(()=>process.exit(1));
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "manifestVersion": "devflow-runtime.v1",
3
- "packageVersion": "0.19.29",
4
- "sourceCommit": "71f1646f9ffcee33595af84c62e4ea2f3cd92bd7",
3
+ "packageVersion": "0.19.30",
4
+ "sourceCommit": "c29ac4ef0b568f3e5c6078697a3a9fecc2a84933",
5
5
  "bundleHashes": {
6
6
  "hooks": "b408f8844cc7e05d7d7a9a077f8b2ee2061ae491a8a2f8f1c4f358285590a0a1",
7
7
  "mcp": "4b1b4152fca04afcbc8466ed46799b60a35c6c4c5b5f7c7ed8252387d5c359df",
8
8
  "cli": "6205081f819ee3651962df36edd626b993a917fb8691f20c84e6b6e04af81d16"
9
9
  },
10
- "registryHash": "e65dc8f9d58abeda5ce14df883e30fa7cd0add00c2814ea32c0d6bc1ed96d047",
10
+ "registryHash": "99c9023cdded6dde8434f477c39b67fa96541fe2ed63ccf8f43da213b90490cf",
11
11
  "stateDbPath": "<projectRoot>/.devflow/delivery-line/state.db",
12
- "builtAt": 1794297609023,
13
- "manifestHash": "e0d756bdbd50875b632dae13ee4722220f8a742b6159a99452e04d1812e51d71"
12
+ "builtAt": 1794304977244,
13
+ "manifestHash": "c1e5f40e32ddffb18103d2532eb4236db2060247c27a59315ca70c414a01655a"
14
14
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devflow-tools/claude-code-plugin",
3
- "version": "0.19.29",
3
+ "version": "0.19.30",
4
4
  "description": "Claude Code hooks and skills for the DevFlow development intelligence runtime.",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -12,20 +12,20 @@
12
12
  "verify:runtime-dependencies": "node --import tsx scripts/verify-runtime-dependencies.ts"
13
13
  },
14
14
  "dependencies": {
15
- "@devflow-tools/benchmark": "0.19.29",
16
- "@devflow-tools/context-engine": "0.19.29",
17
- "@devflow-tools/database": "0.19.29",
18
- "@devflow-tools/mcp-server": "0.19.29",
19
- "@devflow-tools/memory-engine": "0.19.29",
20
- "@devflow-tools/sdk": "0.19.29",
21
- "@devflow-tools/semantic-engine": "0.19.29",
22
- "@devflow-tools/server": "0.19.29",
23
- "@devflow-tools/task-runtime": "0.19.29",
24
- "@devflow-tools/telemetry": "0.19.29",
25
- "@devflow-tools/workflow-engine": "0.19.29"
15
+ "@devflow-tools/benchmark": "0.19.30",
16
+ "@devflow-tools/context-engine": "0.19.30",
17
+ "@devflow-tools/database": "0.19.30",
18
+ "@devflow-tools/mcp-server": "0.19.30",
19
+ "@devflow-tools/memory-engine": "0.19.30",
20
+ "@devflow-tools/sdk": "0.19.30",
21
+ "@devflow-tools/semantic-engine": "0.19.30",
22
+ "@devflow-tools/server": "0.19.30",
23
+ "@devflow-tools/task-runtime": "0.19.30",
24
+ "@devflow-tools/telemetry": "0.19.30",
25
+ "@devflow-tools/workflow-engine": "0.19.30"
26
26
  },
27
27
  "devDependencies": {
28
- "@devflow-tools/devflow": "0.19.29"
28
+ "@devflow-tools/devflow": "0.19.30"
29
29
  },
30
30
  "allowScripts": {
31
31
  "better-sqlite3@12.11.1": true,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devflow-tools/cli",
3
- "version": "0.19.29",
3
+ "version": "0.19.30",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "devflow": "./bin/devflow.cjs"
@@ -14,33 +14,33 @@
14
14
  },
15
15
  "dependencies": {
16
16
  "@colbymchenry/codegraph": "^1.1.1",
17
- "@devflow-tools/adapters": "0.19.29",
18
- "@devflow-tools/benchmark": "0.19.29",
19
- "@devflow-tools/context-engine": "0.19.29",
20
- "@devflow-tools/database": "0.19.29",
21
- "@devflow-tools/delivery-line": "0.19.29",
22
- "@devflow-tools/devflow": "0.19.29",
23
- "@devflow-tools/knowledge-engine": "0.19.29",
24
- "@devflow-tools/mcp-server": "0.19.29",
25
- "@devflow-tools/memory-engine": "0.19.29",
26
- "@devflow-tools/plugin-animation": "0.19.29",
27
- "@devflow-tools/plugin-css": "0.19.29",
28
- "@devflow-tools/plugin-docker": "0.19.29",
29
- "@devflow-tools/plugin-electron": "0.19.29",
30
- "@devflow-tools/plugin-git": "0.19.29",
31
- "@devflow-tools/plugin-graphql": "0.19.29",
32
- "@devflow-tools/plugin-nest": "0.19.29",
33
- "@devflow-tools/plugin-nextjs": "0.19.29",
34
- "@devflow-tools/plugin-performance": "0.19.29",
35
- "@devflow-tools/plugin-react": "0.19.29",
36
- "@devflow-tools/plugin-tailwind": "0.19.29",
37
- "@devflow-tools/plugin-taro": "0.19.29",
38
- "@devflow-tools/plugin-ui-layout": "0.19.29",
39
- "@devflow-tools/plugin-vue": "0.19.29",
40
- "@devflow-tools/sdk": "0.19.29",
41
- "@devflow-tools/server": "0.19.29",
42
- "@devflow-tools/telemetry": "0.19.29",
43
- "@devflow-tools/workflow-engine": "0.19.29",
17
+ "@devflow-tools/adapters": "0.19.30",
18
+ "@devflow-tools/benchmark": "0.19.30",
19
+ "@devflow-tools/context-engine": "0.19.30",
20
+ "@devflow-tools/database": "0.19.30",
21
+ "@devflow-tools/delivery-line": "0.19.30",
22
+ "@devflow-tools/devflow": "0.19.30",
23
+ "@devflow-tools/knowledge-engine": "0.19.30",
24
+ "@devflow-tools/mcp-server": "0.19.30",
25
+ "@devflow-tools/memory-engine": "0.19.30",
26
+ "@devflow-tools/plugin-animation": "0.19.30",
27
+ "@devflow-tools/plugin-css": "0.19.30",
28
+ "@devflow-tools/plugin-docker": "0.19.30",
29
+ "@devflow-tools/plugin-electron": "0.19.30",
30
+ "@devflow-tools/plugin-git": "0.19.30",
31
+ "@devflow-tools/plugin-graphql": "0.19.30",
32
+ "@devflow-tools/plugin-nest": "0.19.30",
33
+ "@devflow-tools/plugin-nextjs": "0.19.30",
34
+ "@devflow-tools/plugin-performance": "0.19.30",
35
+ "@devflow-tools/plugin-react": "0.19.30",
36
+ "@devflow-tools/plugin-tailwind": "0.19.30",
37
+ "@devflow-tools/plugin-taro": "0.19.30",
38
+ "@devflow-tools/plugin-ui-layout": "0.19.30",
39
+ "@devflow-tools/plugin-vue": "0.19.30",
40
+ "@devflow-tools/sdk": "0.19.30",
41
+ "@devflow-tools/server": "0.19.30",
42
+ "@devflow-tools/telemetry": "0.19.30",
43
+ "@devflow-tools/workflow-engine": "0.19.30",
44
44
  "@inquirer/prompts": "^7.10.1",
45
45
  "chalk": "^5.3.0",
46
46
  "commander": "^12.0.0"
@@ -53,7 +53,7 @@
53
53
  "dist",
54
54
  "bin"
55
55
  ],
56
- "gitHead": "71f1646f9ffcee33595af84c62e4ea2f3cd92bd7",
56
+ "gitHead": "c29ac4ef0b568f3e5c6078697a3a9fecc2a84933",
57
57
  "description": "Command-line interface for DevFlow development intelligence and diagnostics.",
58
58
  "license": "MIT",
59
59
  "repository": {