@devflow-tools/claude-code-plugin 0.18.41 → 0.18.43

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.18.41",
4
+ "version": "0.18.43",
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.18.41",
11
+ "sourceVersion": "0.18.43",
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.18.41",
38
+ "sourceVersion": "0.18.43",
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.18.41",
63
+ "sourceVersion": "0.18.43",
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.18.41",
82
+ "sourceVersion": "0.18.43",
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.18.41",
106
+ "sourceVersion": "0.18.43",
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.18.41",
122
+ "sourceVersion": "0.18.43",
123
123
  "requiresContext": true,
124
124
  "evidenceMode": "mixed",
125
125
  "skillPath": "skills/devflow:workflow/SKILL.md",
@@ -152,7 +152,7 @@
152
152
  ],
153
153
  "blockedNative": [],
154
154
  "source": "core",
155
- "sourceVersion": "0.18.41",
155
+ "sourceVersion": "0.18.43",
156
156
  "requiresContext": true,
157
157
  "evidenceMode": "mixed",
158
158
  "skillPath": "skills/devflow:delivery/SKILL.md",
@@ -11,10 +11,10 @@ FALLBACK_JS="$PLUGIN_ROOT/dist/hooks/post-tool-use.js"
11
11
 
12
12
  INPUT="$(cat)"
13
13
 
14
- if [ -f "$CLIENT_JS" ]; then
15
- "$DEVFLOW_NODE" "$CLIENT_JS" post-tool-use "$INPUT" 2>/dev/null || {
16
- echo "$INPUT" | DEVFLOW_HOOK_DEGRADED=1 "$DEVFLOW_NODE" "$FALLBACK_JS" 2>/dev/null || true
17
- }
14
+ if [ -f "$CLIENT_JS" ] && devflow_has_local_runtime "$PLUGIN_ROOT"; then
15
+ "$DEVFLOW_NODE" "$CLIENT_JS" post-tool-use "$INPUT" 2>/dev/null || true
16
+ elif [ -f "$CLIENT_JS" ]; then
17
+ devflow_npm_hook "$PLUGIN_ROOT" hook-client post-tool-use "$INPUT" 2>/dev/null || true
18
18
  elif [ -f "$FALLBACK_JS" ]; then
19
19
  echo "$INPUT" | DEVFLOW_HOOK_DEGRADED=1 "$DEVFLOW_NODE" "$FALLBACK_JS" 2>/dev/null || true
20
20
  fi
@@ -10,10 +10,12 @@ FALLBACK_JS="$PLUGIN_ROOT/dist/hooks/post-tool-use-failure.js"
10
10
 
11
11
  INPUT="$(cat)"
12
12
 
13
- if [ -f "$CLIENT_JS" ]; then
13
+ if [ -f "$CLIENT_JS" ] && devflow_has_local_runtime "$PLUGIN_ROOT"; then
14
14
  "$DEVFLOW_NODE" "$CLIENT_JS" post-tool-use-failure "$INPUT" 2>/dev/null || {
15
15
  echo "$INPUT" | DEVFLOW_HOOK_DEGRADED=1 "$DEVFLOW_NODE" "$FALLBACK_JS" 2>/dev/null || true
16
16
  }
17
+ elif [ -f "$CLIENT_JS" ]; then
18
+ devflow_npm_hook "$PLUGIN_ROOT" hook-client post-tool-use-failure "$INPUT" 2>/dev/null || true
17
19
  elif [ -f "$FALLBACK_JS" ]; then
18
20
  echo "$INPUT" | DEVFLOW_HOOK_DEGRADED=1 "$DEVFLOW_NODE" "$FALLBACK_JS" 2>/dev/null || true
19
21
  fi
package/hooks/pre-compact CHANGED
@@ -10,10 +10,12 @@ FALLBACK_JS="$PLUGIN_ROOT/dist/hooks/pre-compact.js"
10
10
 
11
11
  INPUT="$(cat)"
12
12
 
13
- if [ -f "$CLIENT_JS" ]; then
13
+ if [ -f "$CLIENT_JS" ] && devflow_has_local_runtime "$PLUGIN_ROOT"; then
14
14
  "$DEVFLOW_NODE" "$CLIENT_JS" pre-compact "$INPUT" 2>/dev/null || {
15
15
  echo "$INPUT" | DEVFLOW_HOOK_DEGRADED=1 "$DEVFLOW_NODE" "$FALLBACK_JS" 2>/dev/null || true
16
16
  }
17
+ elif [ -f "$CLIENT_JS" ]; then
18
+ devflow_npm_hook "$PLUGIN_ROOT" hook-client pre-compact "$INPUT" 2>/dev/null || true
17
19
  elif [ -f "$FALLBACK_JS" ]; then
18
20
  echo "$INPUT" | DEVFLOW_HOOK_DEGRADED=1 "$DEVFLOW_NODE" "$FALLBACK_JS" 2>/dev/null || true
19
21
  fi
@@ -46,5 +46,7 @@ devflow_npm_hook() {
46
46
  shift
47
47
  local version
48
48
  version="${DEVFLOW_RUNTIME_VERSION:-$(devflow_runtime_version "$plugin_root")}"
49
- npx --yes --package "@devflow-tools/devflow@${version}" devflow "$@"
49
+ # --call makes npx execute the requested package bin instead of a same-named
50
+ # workspace bin found in the caller's current directory.
51
+ npx --yes --package "@devflow-tools/devflow@${version}" --call "devflow $*"
50
52
  }
package/hooks/session-end CHANGED
@@ -10,10 +10,12 @@ FALLBACK_JS="$PLUGIN_ROOT/dist/hooks/session-end.js"
10
10
 
11
11
  INPUT="$(cat)"
12
12
 
13
- if [ -f "$CLIENT_JS" ]; then
13
+ if [ -f "$CLIENT_JS" ] && devflow_has_local_runtime "$PLUGIN_ROOT"; then
14
14
  "$DEVFLOW_NODE" "$CLIENT_JS" session-end "$INPUT" 2>/dev/null || {
15
15
  echo "$INPUT" | DEVFLOW_HOOK_DEGRADED=1 "$DEVFLOW_NODE" "$FALLBACK_JS" 2>/dev/null || true
16
16
  }
17
+ elif [ -f "$CLIENT_JS" ]; then
18
+ devflow_npm_hook "$PLUGIN_ROOT" hook-client session-end "$INPUT" 2>/dev/null || true
17
19
  elif [ -f "$FALLBACK_JS" ]; then
18
20
  echo "$INPUT" | DEVFLOW_HOOK_DEGRADED=1 "$DEVFLOW_NODE" "$FALLBACK_JS" 2>/dev/null || true
19
21
  fi
@@ -153,12 +153,12 @@ run_lifecycle() {
153
153
  }
154
154
 
155
155
  start_hook_daemon() {
156
- if [ -f "$DAEMON_JS" ] && devflow_has_local_runtime "$PLUGIN_ROOT"; then
156
+ if [ -f "$DAEMON_JS" ] && { ! declare -F devflow_has_local_runtime >/dev/null 2>&1 || devflow_has_local_runtime "$PLUGIN_ROOT"; }; then
157
157
  # Keep the direct command shape stable for local hook contract fixtures.
158
- # nohup "$DEVFLOW_NODE" "$DAEMON_JS" "$@"
158
+ # nohup "$DEVFLOW_NODE" "$DAEMON_JS" "$PROJECT_ROOT"
159
159
  nohup "$DEVFLOW_NODE" "$DAEMON_JS" "$@" </dev/null >> "$DAEMON_LOG" 2>&1 &
160
160
  else
161
- nohup npx --yes --package "@devflow-tools/devflow@${DEVFLOW_RUNTIME_VERSION}" devflow hook-daemon "$@" </dev/null >> "$DAEMON_LOG" 2>&1 &
161
+ nohup npx --yes --package "@devflow-tools/devflow@${DEVFLOW_RUNTIME_VERSION}" --call "devflow hook-daemon $*" </dev/null >> "$DAEMON_LOG" 2>&1 &
162
162
  fi
163
163
  }
164
164
 
package/hooks/stop CHANGED
@@ -10,10 +10,14 @@ DEVFLOW_NODE="$(devflow_resolve_node "$PLUGIN_ROOT")"
10
10
  # 1. Use the daemon as the authoritative Stop handler.
11
11
  CLIENT_JS="$PLUGIN_ROOT/dist/hooks/hook-client.js"
12
12
  INPUT="$(cat)"
13
- if [ -f "$CLIENT_JS" ]; then
13
+ if [ -f "$CLIENT_JS" ] && devflow_has_local_runtime "$PLUGIN_ROOT"; then
14
14
  if "$DEVFLOW_NODE" "$CLIENT_JS" stop "$INPUT" </dev/null 2>/dev/null; then
15
15
  exit 0
16
16
  fi
17
+ elif [ -f "$CLIENT_JS" ]; then
18
+ if devflow_npm_hook "$PLUGIN_ROOT" hook-client stop "$INPUT" </dev/null 2>/dev/null; then
19
+ exit 0
20
+ fi
17
21
  fi
18
22
 
19
23
  # 2. Run standalone fallback only when daemon delivery failed.
@@ -10,10 +10,10 @@ FALLBACK_JS="$PLUGIN_ROOT/dist/hooks/user-prompt-submit.js"
10
10
 
11
11
  INPUT="$(cat)"
12
12
 
13
- if [ -f "$CLIENT_JS" ]; then
14
- "$DEVFLOW_NODE" "$CLIENT_JS" user-prompt-submit "$INPUT" 2>/dev/null || {
15
- echo "$INPUT" | DEVFLOW_HOOK_DEGRADED=1 "$DEVFLOW_NODE" "$FALLBACK_JS" 2>/dev/null || true
16
- }
13
+ if [ -f "$CLIENT_JS" ] && devflow_has_local_runtime "$PLUGIN_ROOT"; then
14
+ "$DEVFLOW_NODE" "$CLIENT_JS" user-prompt-submit "$INPUT" 2>/dev/null || true
15
+ elif [ -f "$CLIENT_JS" ]; then
16
+ devflow_npm_hook "$PLUGIN_ROOT" hook-client user-prompt-submit "$INPUT" 2>/dev/null || true
17
17
  elif [ -f "$FALLBACK_JS" ]; then
18
18
  echo "$INPUT" | DEVFLOW_HOOK_DEGRADED=1 "$DEVFLOW_NODE" "$FALLBACK_JS" 2>/dev/null || true
19
19
  fi
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devflow-tools/claude-code-plugin",
3
- "version": "0.18.41",
3
+ "version": "0.18.43",
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.18.41",
16
- "@devflow-tools/context-engine": "0.18.41",
17
- "@devflow-tools/database": "0.18.41",
18
- "@devflow-tools/mcp-server": "0.18.41",
19
- "@devflow-tools/memory-engine": "0.18.41",
20
- "@devflow-tools/sdk": "0.18.41",
21
- "@devflow-tools/semantic-engine": "0.18.41",
22
- "@devflow-tools/server": "0.18.41",
23
- "@devflow-tools/task-runtime": "0.18.41",
24
- "@devflow-tools/telemetry": "0.18.41",
25
- "@devflow-tools/workflow-engine": "0.18.41"
15
+ "@devflow-tools/benchmark": "0.18.43",
16
+ "@devflow-tools/context-engine": "0.18.43",
17
+ "@devflow-tools/database": "0.18.43",
18
+ "@devflow-tools/mcp-server": "0.18.43",
19
+ "@devflow-tools/memory-engine": "0.18.43",
20
+ "@devflow-tools/sdk": "0.18.43",
21
+ "@devflow-tools/semantic-engine": "0.18.43",
22
+ "@devflow-tools/server": "0.18.43",
23
+ "@devflow-tools/task-runtime": "0.18.43",
24
+ "@devflow-tools/telemetry": "0.18.43",
25
+ "@devflow-tools/workflow-engine": "0.18.43"
26
26
  },
27
27
  "devDependencies": {
28
- "@devflow-tools/devflow": "0.18.41"
28
+ "@devflow-tools/devflow": "0.18.43"
29
29
  },
30
30
  "allowScripts": {
31
31
  "better-sqlite3@12.11.1": true,