@devflow-tools/claude-code-plugin 0.16.10 → 0.16.12

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.16.9",
4
+ "version": "0.16.11",
5
5
  "author": {
6
6
  "name": "DevFlow"
7
7
  },
@@ -19,7 +19,7 @@
19
19
  "WebFetch"
20
20
  ],
21
21
  "source": "core",
22
- "sourceVersion": "0.16.10",
22
+ "sourceVersion": "0.16.11",
23
23
  "requiresContext": true,
24
24
  "evidenceMode": "mixed",
25
25
  "skillPath": "skills/devflow:context/SKILL.md"
@@ -38,7 +38,7 @@
38
38
  "Explore"
39
39
  ],
40
40
  "source": "core",
41
- "sourceVersion": "0.16.10",
41
+ "sourceVersion": "0.16.11",
42
42
  "requiresContext": true,
43
43
  "evidenceMode": "mixed",
44
44
  "skillPath": "skills/devflow:graph/SKILL.md"
@@ -52,7 +52,7 @@
52
52
  "WebFetch"
53
53
  ],
54
54
  "source": "core",
55
- "sourceVersion": "0.16.10",
55
+ "sourceVersion": "0.16.11",
56
56
  "requiresContext": true,
57
57
  "evidenceMode": "mixed",
58
58
  "skillPath": "skills/devflow:knowledge/SKILL.md"
@@ -71,7 +71,7 @@
71
71
  "Explore"
72
72
  ],
73
73
  "source": "core",
74
- "sourceVersion": "0.16.10",
74
+ "sourceVersion": "0.16.11",
75
75
  "requiresContext": true,
76
76
  "evidenceMode": "mixed",
77
77
  "skillPath": "skills/devflow:memory/SKILL.md"
@@ -82,7 +82,7 @@
82
82
  ],
83
83
  "blockedNative": [],
84
84
  "source": "core",
85
- "sourceVersion": "0.16.10",
85
+ "sourceVersion": "0.16.11",
86
86
  "requiresContext": true,
87
87
  "evidenceMode": "mixed",
88
88
  "skillPath": "skills/devflow:workflow/SKILL.md"
@@ -169,7 +169,10 @@
169
169
  "sourceVersion": "0.1.0",
170
170
  "requiresContext": true,
171
171
  "evidenceMode": "mixed",
172
- "skillPath": "skills/devflow:electron/SKILL.md"
172
+ "skillPath": "skills/devflow:electron/SKILL.md",
173
+ "runtimePackages": [
174
+ "electron"
175
+ ]
173
176
  },
174
177
  "devflow:git": {
175
178
  "mcpTools": [
@@ -211,7 +214,10 @@
211
214
  "sourceVersion": "0.1.0",
212
215
  "requiresContext": true,
213
216
  "evidenceMode": "mixed",
214
- "skillPath": "skills/devflow:graphql/SKILL.md"
217
+ "skillPath": "skills/devflow:graphql/SKILL.md",
218
+ "runtimePackages": [
219
+ "graphql"
220
+ ]
215
221
  },
216
222
  "devflow:nest": {
217
223
  "mcpTools": [
@@ -233,7 +239,10 @@
233
239
  "sourceVersion": "0.1.0",
234
240
  "requiresContext": true,
235
241
  "evidenceMode": "mixed",
236
- "skillPath": "skills/devflow:nest/SKILL.md"
242
+ "skillPath": "skills/devflow:nest/SKILL.md",
243
+ "runtimePackages": [
244
+ "@nestjs/core"
245
+ ]
237
246
  },
238
247
  "devflow:nextjs": {
239
248
  "mcpTools": [
@@ -255,7 +264,11 @@
255
264
  "sourceVersion": "0.1.0",
256
265
  "requiresContext": true,
257
266
  "evidenceMode": "mixed",
258
- "skillPath": "skills/devflow:nextjs/SKILL.md"
267
+ "skillPath": "skills/devflow:nextjs/SKILL.md",
268
+ "runtimePackages": [
269
+ "next",
270
+ "react"
271
+ ]
259
272
  },
260
273
  "devflow:performance": {
261
274
  "mcpTools": [
@@ -301,7 +314,11 @@
301
314
  "sourceVersion": "0.1.0",
302
315
  "requiresContext": true,
303
316
  "evidenceMode": "mixed",
304
- "skillPath": "skills/devflow:react/SKILL.md"
317
+ "skillPath": "skills/devflow:react/SKILL.md",
318
+ "runtimePackages": [
319
+ "react",
320
+ "react-dom"
321
+ ]
305
322
  },
306
323
  "devflow:tailwind": {
307
324
  "mcpTools": [
@@ -323,7 +340,10 @@
323
340
  "sourceVersion": "0.1.0",
324
341
  "requiresContext": true,
325
342
  "evidenceMode": "mixed",
326
- "skillPath": "skills/devflow:tailwind/SKILL.md"
343
+ "skillPath": "skills/devflow:tailwind/SKILL.md",
344
+ "runtimePackages": [
345
+ "tailwindcss"
346
+ ]
327
347
  },
328
348
  "devflow:taro": {
329
349
  "mcpTools": [
@@ -344,7 +364,10 @@
344
364
  "sourceVersion": "0.1.0",
345
365
  "requiresContext": true,
346
366
  "evidenceMode": "mixed",
347
- "skillPath": "skills/devflow:taro/SKILL.md"
367
+ "skillPath": "skills/devflow:taro/SKILL.md",
368
+ "runtimePackages": [
369
+ "@tarojs/taro"
370
+ ]
348
371
  },
349
372
  "devflow:ui-layout": {
350
373
  "mcpTools": [
@@ -387,7 +410,10 @@
387
410
  "sourceVersion": "0.1.0",
388
411
  "requiresContext": true,
389
412
  "evidenceMode": "mixed",
390
- "skillPath": "skills/devflow:vue/SKILL.md"
413
+ "skillPath": "skills/devflow:vue/SKILL.md",
414
+ "runtimePackages": [
415
+ "vue"
416
+ ]
391
417
  }
392
418
  }
393
419
  }
@@ -1,6 +1,6 @@
1
- import {createConnection}from'node:net';import {getDaemonSocketPath}from'@devflow-tools/sdk';import {mkdirSync,appendFileSync}from'node:fs';import {homedir}from'node:os';import {join,dirname}from'node:path';import {openGlobalDevFlowDatabase}from'@devflow-tools/database';import {createHash}from'node:crypto';function b(e,t,n){try{let o=openGlobalDevFlowDatabase();try{o.insertEvent({kind:e,timestamp:Date.now(),duration:n,success:t.success!==!1,metadata:t});}finally{o.close();}}catch{}}var S=["4-Gate enforcement","memory prefetch cache","daemon-shared hook state"];function m(e){let t=M(e.input)??e.requestType;if(b("hook_daemon_request",{success:e.success,projectRoot:e.projectRoot,requestType:e.requestType,tool:t,attempts:e.attempts},e.durationMs),e.success)return;let n=Date.now(),o=v(e.input);try{let r=openGlobalDevFlowDatabase(void 0,{busyTimeoutMs:250});try{r.insertHookFallback({id:`hook-fallback:${createHash("sha256").update(`${e.projectRoot}\0${o.sessionId??""}\0${o.toolUseId??""}\0${e.requestType}\0${n}`).digest("hex").slice(0,24)}`,projectRoot:e.projectRoot,sessionId:o.sessionId,toolUseId:o.toolUseId,requestType:e.requestType,tool:t,reason:e.reason??"unknown",durationMs:e.durationMs,attempts:e.attempts,createdAt:n});}finally{r.close();}}catch{}try{let r=join(homedir(),".devflow","logs","hook-fallback",`${new Date(n).toISOString().slice(0,10)}.log`);mkdirSync(dirname(r),{recursive:!0,mode:448}),appendFileSync(r,`${JSON.stringify({ts:n,tool:t,requestType:e.requestType,projectRoot:e.projectRoot,reason:`daemon-${e.reason??"unknown"}`,durationMs:e.durationMs,attempts:e.attempts,bypassCountLost:!0,disabledFeatures:S})}
2
- `,{mode:384});}catch{}}function v(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 M(e){try{let t=JSON.parse(e);return typeof t.tool_name=="string"&&t.tool_name?t.tool_name:null}catch{return null}}var d=process.env.CLAUDE_PROJECT_DIR||process.cwd(),A=getDaemonSocketPath(d),a=process.argv[2],h=process.argv[3],f=Number(process.env.DEVFLOW_HOOK_CLIENT_TIMEOUT_MS),F=Number.isFinite(f)&&f>0?f:1e3,p=Number(process.env.DEVFLOW_HOOK_CLIENT_RETRY_DELAY_MS),P=Number.isFinite(p)&&p>=0?p:100,g=2*1024*1024,y=a==="post-tool-use"||a==="post-tool-use-failure"?1:2;async function L(){let e=h!==void 0?H(h):a==="memory-snapshot"?{input:"",truncated:false}:await B(),{input:t,truncated:n}=e,o=Date.now(),r="unknown";for(let u=0;u<y;u+=1){let s=await x(t,n);if(s.response!==null)return m({projectRoot:d,requestType:a,input:t,durationMs:Date.now()-o,success:true,attempts:u+1}),process.stdout.write(`${s.response}
3
- `),0;r=s.reason??"unknown",u<y-1&&await j(P);}return process.env.DEVFLOW_HOOK_CLIENT_SUPPRESS_FALLBACK_LOG!=="1"&&m({projectRoot:d,requestType:a,input:t,durationMs:Date.now()-o,success:false,attempts:y,reason:r}),1}function x(e,t){return new Promise(n=>{let o=createConnection(A),r=false,u="",s=(c,l)=>{r||(r=true,clearTimeout(i),o.destroy(),n({response:c,reason:l}));},i=setTimeout(()=>s(null,"timeout"),F);o.setEncoding("utf8"),o.on("connect",()=>{o.write(`${JSON.stringify({type:"hello",rootPath:d})}
1
+ import {createConnection}from'node:net';import {getDaemonSocketPath}from'@devflow-tools/sdk';import {mkdirSync,appendFileSync}from'node:fs';import {homedir}from'node:os';import {join,dirname}from'node:path';import {openGlobalDevFlowDatabase}from'@devflow-tools/database';import {createHash}from'node:crypto';function b(e,t,n){try{let o=openGlobalDevFlowDatabase();try{o.insertEvent({kind:e,timestamp:Date.now(),duration:n,success:t.success!==!1,metadata:t});}finally{o.close();}}catch{}}var S=["4-Gate enforcement","memory prefetch cache","daemon-shared hook state"];function m(e){let t=N(e.input)??e.requestType;if(b("hook_daemon_request",{success:e.success,projectRoot:e.projectRoot,requestType:e.requestType,tool:t,attempts:e.attempts},e.durationMs),e.success)return;let n=Date.now(),o=v(e.input);try{let r=openGlobalDevFlowDatabase(void 0,{busyTimeoutMs:250});try{r.insertHookFallback({id:`hook-fallback:${createHash("sha256").update(`${e.projectRoot}\0${o.sessionId??""}\0${o.toolUseId??""}\0${e.requestType}\0${n}`).digest("hex").slice(0,24)}`,projectRoot:e.projectRoot,sessionId:o.sessionId,toolUseId:o.toolUseId,requestType:e.requestType,tool:t,reason:e.reason??"unknown",durationMs:e.durationMs,attempts:e.attempts,createdAt:n});}finally{r.close();}}catch{}try{let r=join(homedir(),".devflow","logs","hook-fallback",`${new Date(n).toISOString().slice(0,10)}.log`);mkdirSync(dirname(r),{recursive:!0,mode:448}),appendFileSync(r,`${JSON.stringify({ts:n,tool:t,requestType:e.requestType,projectRoot:e.projectRoot,reason:`daemon-${e.reason??"unknown"}`,durationMs:e.durationMs,attempts:e.attempts,bypassCountLost:!0,disabledFeatures:S})}
2
+ `,{mode:384});}catch{}}function v(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 N(e){try{let t=JSON.parse(e);return typeof t.tool_name=="string"&&t.tool_name?t.tool_name:null}catch{return null}}var d=process.env.CLAUDE_PROJECT_DIR||process.cwd(),q=getDaemonSocketPath(d),u=process.argv[2],h=process.argv[3],p=Number(process.env.DEVFLOW_HOOK_CLIENT_TIMEOUT_MS),F=Number.isFinite(p)&&p>0?p:1e3,f=Number(process.env.DEVFLOW_HOOK_CLIENT_RETRY_DELAY_MS),P=Number.isFinite(f)&&f>=0?f:100,g=2*1024*1024,y=u==="memory-snapshot"?2:1;async function L(){let e=h!==void 0?H(h):u==="memory-snapshot"?{input:"",truncated:false}:await j(),{input:t,truncated:n}=e,o=Date.now(),r="unknown";for(let a=0;a<y;a+=1){let s=await B(t,n);if(s.response!==null){if(x(s.response)){r="protocol";break}return m({projectRoot:d,requestType:u,input:t,durationMs:Date.now()-o,success:true,attempts:a+1}),process.stdout.write(`${s.response}
3
+ `),0}r=s.reason??"unknown",a<y-1&&await G(P);}return process.env.DEVFLOW_HOOK_CLIENT_SUPPRESS_FALLBACK_LOG!=="1"&&m({projectRoot:d,requestType:u,input:t,durationMs:Date.now()-o,success:false,attempts:y,reason:r}),1}function x(e){try{let t=JSON.parse(e);return !!(t&&typeof t=="object"&&!Array.isArray(t)&&typeof t.error=="string")}catch{return true}}function B(e,t){return new Promise(n=>{let o=createConnection(q),r=false,a="",s=(c,l)=>{r||(r=true,clearTimeout(i),o.destroy(),n({response:c,reason:l}));},i=setTimeout(()=>s(null,"timeout"),F);o.setEncoding("utf8"),o.on("connect",()=>{o.write(`${JSON.stringify({type:"hello",rootPath:d})}
4
4
  `);let c=$(e,t);if(!c){s(null,"protocol");return}o.write(`${JSON.stringify(c)}
5
- `);}),o.on("data",c=>{u+=c;let l=u.indexOf(`
6
- `);if(l<0)return;let _=u.slice(0,l).trim();s(_||null);}),o.on("error",()=>s(null,"unreachable")),o.on("close",()=>s(null,"unreachable"));})}function $(e,t){let n=t?{truncated:true}:{};return a==="stop"?{type:"stop",input:e,...n}: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,...n}:null}function B(){return new Promise(e=>{let t=[],n=0,o=false;process.stdin.on("data",r=>{let u=Buffer.isBuffer(r)?r:Buffer.from(r),s=g-n;if(s>0){let i=u.subarray(0,s);t.push(i),n+=i.length;}u.length>s&&(o=true);}),process.stdin.on("end",()=>e({input:Buffer.concat(t).toString("utf8"),truncated:o})),process.stdin.on("error",()=>e({input:"",truncated:false}));})}function H(e){let t=Buffer.from(e);return t.length<=g?{input:e,truncated:false}:{input:t.subarray(0,g).toString("utf8"),truncated:true}}function j(e){return new Promise(t=>setTimeout(t,e))}L().then(e=>process.exit(e)).catch(()=>process.exit(1));
5
+ `);}),o.on("data",c=>{a+=c;let l=a.indexOf(`
6
+ `);if(l<0)return;let _=a.slice(0,l).trim();s(_||null);}),o.on("error",()=>s(null,"unreachable")),o.on("close",()=>s(null,"unreachable"));})}function $(e,t){let n=t?{truncated:true}:{};return u==="stop"?{type:"stop",input:e,...n}: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,...n}:null}function j(){return new Promise(e=>{let t=[],n=0,o=false;process.stdin.on("data",r=>{let a=Buffer.isBuffer(r)?r:Buffer.from(r),s=g-n;if(s>0){let i=a.subarray(0,s);t.push(i),n+=i.length;}a.length>s&&(o=true);}),process.stdin.on("end",()=>e({input:Buffer.concat(t).toString("utf8"),truncated:o})),process.stdin.on("error",()=>e({input:"",truncated:false}));})}function H(e){let t=Buffer.from(e);return t.length<=g?{input:e,truncated:false}:{input:t.subarray(0,g).toString("utf8"),truncated:true}}function G(e){return new Promise(t=>setTimeout(t,e))}L().then(e=>process.exit(e)).catch(()=>process.exit(1));