@devflow-tools/cli 0.16.6 → 0.16.8
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.
|
|
4
|
+
"version": "0.16.8",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "DevFlow"
|
|
7
7
|
},
|
|
@@ -106,14 +106,14 @@ if [ -n "$RULE_COUNT" ]; then
|
|
|
106
106
|
fi
|
|
107
107
|
|
|
108
108
|
# Append Gateway status to summary
|
|
109
|
-
GATEWAY_STATUS
|
|
109
|
+
GATEWAY_STATUS=$'\n\n━━━━━━ DevFlow Gateway ━━━━━━\n'
|
|
110
110
|
# Check if devflow MCP server is configured (token will be auto-generated by ensureSessionToken)
|
|
111
111
|
if [ -f ~/.claude/.mcp.json ] && grep -q '"devflow"' ~/.claude/.mcp.json 2>/dev/null; then
|
|
112
|
-
GATEWAY_STATUS="${GATEWAY_STATUS}Status: 🟢 DevFlow MCP
|
|
112
|
+
GATEWAY_STATUS="${GATEWAY_STATUS}Status: 🟢 DevFlow MCP 已配置"$'\n'"Gate 层数: ${GATE_COUNT} (${GATE_DETAIL})"$'\n'
|
|
113
113
|
elif [ -f .mcp.json ] && grep -q '"devflow"' .mcp.json 2>/dev/null; then
|
|
114
|
-
GATEWAY_STATUS="${GATEWAY_STATUS}Status: 🟢 DevFlow MCP
|
|
114
|
+
GATEWAY_STATUS="${GATEWAY_STATUS}Status: 🟢 DevFlow MCP 已配置(项目级)"$'\n'"Gate 层数: ${GATE_COUNT} (${GATE_DETAIL})"$'\n'
|
|
115
115
|
else
|
|
116
|
-
GATEWAY_STATUS="${GATEWAY_STATUS}Status: 🔴 未配置 DevFlow MCP Server\n请将 devflow MCP 配置加入 .mcp.json\n
|
|
116
|
+
GATEWAY_STATUS="${GATEWAY_STATUS}Status: 🔴 未配置 DevFlow MCP Server"$'\n请将 devflow MCP 配置加入 .mcp.json\n'
|
|
117
117
|
fi
|
|
118
118
|
GATEWAY_STATUS="${GATEWAY_STATUS}━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
119
119
|
|
|
@@ -147,11 +147,8 @@ MCP_PROTOCOL="
|
|
|
147
147
|
- Every mcp__devflow__ tool MUST pass projectRoot = \${CLAUDE_PROJECT_DIR}; missing projectRoot is rejected; no cwd fallback.
|
|
148
148
|
- 如果 MCP 工具返回错误,重试一次;再失败则回退到直接读文件"
|
|
149
149
|
|
|
150
|
-
MEMORY_DISTILL="
|
|
151
|
-
|
|
152
|
-
Next session instruction: call mcp__devflow__memory_request_distill once at session start; it safely reports when no memory events are pending."
|
|
153
|
-
|
|
154
150
|
DEVFLOW_DAEMON_REACHABLE=0
|
|
151
|
+
DAEMON_SESSION_RESPONSE=""
|
|
155
152
|
run_lifecycle() {
|
|
156
153
|
local PROJECT_HASH=""
|
|
157
154
|
local log_dir="${HOME}/.devflow/logs"
|
|
@@ -178,13 +175,15 @@ run_lifecycle() {
|
|
|
178
175
|
|
|
179
176
|
register_session() {
|
|
180
177
|
local suppress_fallback="${1:-1}"
|
|
178
|
+
local response=""
|
|
181
179
|
[ -n "$SESSION_START_INPUT" ] || return 0
|
|
182
180
|
[ -f "$CLIENT_JS" ] || return 1
|
|
183
|
-
if DEVFLOW_HOOK_CLIENT_TIMEOUT_MS=250 \
|
|
181
|
+
if response=$(DEVFLOW_HOOK_CLIENT_TIMEOUT_MS=250 \
|
|
184
182
|
DEVFLOW_HOOK_CLIENT_RETRY_DELAY_MS=50 \
|
|
185
183
|
DEVFLOW_HOOK_CLIENT_SUPPRESS_FALLBACK_LOG="$suppress_fallback" \
|
|
186
|
-
node "$CLIENT_JS" session-start "$SESSION_START_INPUT"
|
|
184
|
+
node "$CLIENT_JS" session-start "$SESSION_START_INPUT" 2>> "$DAEMON_LOG"); then
|
|
187
185
|
DEVFLOW_DAEMON_REACHABLE=1
|
|
186
|
+
DAEMON_SESSION_RESPONSE="$response"
|
|
188
187
|
return 0
|
|
189
188
|
fi
|
|
190
189
|
return 1
|
|
@@ -228,7 +227,7 @@ if [ "$DEVFLOW_DAEMON_REACHABLE" != "1" ]; then
|
|
|
228
227
|
WARNING: DevFlow is in degraded mode (daemon unreachable): 4-Gate enforcement is unavailable, memory prefetch cache is unavailable, and daemon-shared Hook state is unavailable. Run devflow doctor for details."
|
|
229
228
|
fi
|
|
230
229
|
|
|
231
|
-
MEMORY_SNAPSHOT
|
|
230
|
+
MEMORY_SNAPSHOT=$'## Project memory\n本项目暂无记忆'
|
|
232
231
|
CONFIG_FILE="${PROJECT_ROOT}/.devflow/config.json"
|
|
233
232
|
MEMORY_RESPONSE=""
|
|
234
233
|
if [ -f "${CLIENT_JS:-}" ] && command -v node >/dev/null 2>&1; then
|
|
@@ -242,9 +241,10 @@ except Exception: cfg=True
|
|
|
242
241
|
if cfg is False: print(''); raise SystemExit
|
|
243
242
|
try: response=json.loads(os.environ.get('DEVFLOW_MEMORY_RESPONSE',''))
|
|
244
243
|
except Exception: response={}
|
|
245
|
-
|
|
244
|
+
markdown = response.get('markdown')
|
|
245
|
+
print(markdown or '## Project memory\n本项目暂无记忆')
|
|
246
246
|
PY
|
|
247
|
-
) || MEMORY_SNAPSHOT
|
|
247
|
+
) || MEMORY_SNAPSHOT=$'## Project memory\n本项目暂无记忆'
|
|
248
248
|
fi
|
|
249
249
|
|
|
250
250
|
ONBOARDING_SNAPSHOT=""
|
|
@@ -265,13 +265,18 @@ PY
|
|
|
265
265
|
) || ONBOARDING_SNAPSHOT=""
|
|
266
266
|
fi
|
|
267
267
|
|
|
268
|
-
|
|
268
|
+
DAEMON_CONTEXT=""
|
|
269
|
+
if [ -n "$DAEMON_SESSION_RESPONSE" ] && command -v python3 >/dev/null 2>&1; then
|
|
270
|
+
DAEMON_CONTEXT=$(DEVFLOW_DAEMON_RESPONSE="$DAEMON_SESSION_RESPONSE" python3 -c "import json,os; print(json.loads(os.environ.get('DEVFLOW_DAEMON_RESPONSE','{}')).get('additionalContext',''))" 2>/dev/null || echo "")
|
|
271
|
+
fi
|
|
272
|
+
|
|
273
|
+
SUMMARY="${SUMMARY}${DEGRADED_CONTEXT}${DAEMON_CONTEXT}"$'\n\n'"${ONBOARDING_SNAPSHOT}"$'\n\n'"${MEMORY_SNAPSHOT}${MCP_PROTOCOL}"$'\n\n'"${GLOBAL_CONSTRAINT}${GATEWAY_STATUS}"
|
|
269
274
|
|
|
270
275
|
if command -v python3 >/dev/null 2>&1 \
|
|
271
276
|
&& ESCAPED=$(printf '%s\n' "$SUMMARY" | python3 -c "import sys,json; print(json.dumps(sys.stdin.read()))" 2>/dev/null); then
|
|
272
277
|
:
|
|
273
278
|
else
|
|
274
|
-
ESCAPED='"
|
|
279
|
+
ESCAPED='"DevFlow SessionStart 已完成。"'
|
|
275
280
|
fi
|
|
276
281
|
|
|
277
282
|
printf '{\n "hookSpecificOutput": {\n "hookEventName": "SessionStart",\n "additionalContext": %s\n }\n}\n' "$ESCAPED"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devflow-tools/claude-code-plugin",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.8",
|
|
4
4
|
"description": "DevFlow — Developer Intelligence Platform for Claude Code",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -8,18 +8,18 @@
|
|
|
8
8
|
"deploy": "npx tsx scripts/inject-gates.ts --deploy"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@devflow-tools/database": "0.16.
|
|
12
|
-
"@devflow-tools/memory-engine": "0.16.
|
|
13
|
-
"@devflow-tools/sdk": "0.16.
|
|
14
|
-
"@devflow-tools/telemetry": "0.16.
|
|
15
|
-
"@devflow-tools/workflow-engine": "0.16.
|
|
11
|
+
"@devflow-tools/database": "0.16.8",
|
|
12
|
+
"@devflow-tools/memory-engine": "0.16.8",
|
|
13
|
+
"@devflow-tools/sdk": "0.16.8",
|
|
14
|
+
"@devflow-tools/telemetry": "0.16.8",
|
|
15
|
+
"@devflow-tools/workflow-engine": "0.16.8"
|
|
16
16
|
},
|
|
17
17
|
"allowScripts": {
|
|
18
18
|
"better-sqlite3@12.11.1": true,
|
|
19
19
|
"sharp@0.32.6": true
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"@devflow-tools/mcp-server": "0.16.
|
|
22
|
+
"@devflow-tools/mcp-server": "0.16.8"
|
|
23
23
|
},
|
|
24
24
|
"keywords": [
|
|
25
25
|
"pi-package",
|
|
@@ -40,5 +40,5 @@
|
|
|
40
40
|
"hooks",
|
|
41
41
|
"skills"
|
|
42
42
|
],
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "964af33767bf232606e63d973b3a29d7d53c8119"
|
|
44
44
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devflow-tools/cli",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.8",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -12,31 +12,31 @@
|
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"@colbymchenry/codegraph": "^1.1.1",
|
|
15
|
-
"@devflow-tools/adapters": "0.16.
|
|
16
|
-
"@devflow-tools/benchmark": "0.16.
|
|
17
|
-
"@devflow-tools/context-engine": "0.16.
|
|
18
|
-
"@devflow-tools/database": "0.16.
|
|
19
|
-
"@devflow-tools/knowledge-engine": "0.16.
|
|
20
|
-
"@devflow-tools/mcp-server": "0.16.
|
|
21
|
-
"@devflow-tools/memory-engine": "0.16.
|
|
22
|
-
"@devflow-tools/plugin-animation": "0.16.
|
|
23
|
-
"@devflow-tools/plugin-css": "0.16.
|
|
24
|
-
"@devflow-tools/plugin-docker": "0.16.
|
|
25
|
-
"@devflow-tools/plugin-electron": "0.16.
|
|
26
|
-
"@devflow-tools/plugin-git": "0.16.
|
|
27
|
-
"@devflow-tools/plugin-graphql": "0.16.
|
|
28
|
-
"@devflow-tools/plugin-nest": "0.16.
|
|
29
|
-
"@devflow-tools/plugin-nextjs": "0.16.
|
|
30
|
-
"@devflow-tools/plugin-performance": "0.16.
|
|
31
|
-
"@devflow-tools/plugin-react": "0.16.
|
|
32
|
-
"@devflow-tools/plugin-tailwind": "0.16.
|
|
33
|
-
"@devflow-tools/plugin-taro": "0.16.
|
|
34
|
-
"@devflow-tools/plugin-ui-layout": "0.16.
|
|
35
|
-
"@devflow-tools/plugin-vue": "0.16.
|
|
36
|
-
"@devflow-tools/sdk": "0.16.
|
|
37
|
-
"@devflow-tools/server": "0.16.
|
|
38
|
-
"@devflow-tools/telemetry": "0.16.
|
|
39
|
-
"@devflow-tools/workflow-engine": "0.16.
|
|
15
|
+
"@devflow-tools/adapters": "0.16.8",
|
|
16
|
+
"@devflow-tools/benchmark": "0.16.8",
|
|
17
|
+
"@devflow-tools/context-engine": "0.16.8",
|
|
18
|
+
"@devflow-tools/database": "0.16.8",
|
|
19
|
+
"@devflow-tools/knowledge-engine": "0.16.8",
|
|
20
|
+
"@devflow-tools/mcp-server": "0.16.8",
|
|
21
|
+
"@devflow-tools/memory-engine": "0.16.8",
|
|
22
|
+
"@devflow-tools/plugin-animation": "0.16.8",
|
|
23
|
+
"@devflow-tools/plugin-css": "0.16.8",
|
|
24
|
+
"@devflow-tools/plugin-docker": "0.16.8",
|
|
25
|
+
"@devflow-tools/plugin-electron": "0.16.8",
|
|
26
|
+
"@devflow-tools/plugin-git": "0.16.8",
|
|
27
|
+
"@devflow-tools/plugin-graphql": "0.16.8",
|
|
28
|
+
"@devflow-tools/plugin-nest": "0.16.8",
|
|
29
|
+
"@devflow-tools/plugin-nextjs": "0.16.8",
|
|
30
|
+
"@devflow-tools/plugin-performance": "0.16.8",
|
|
31
|
+
"@devflow-tools/plugin-react": "0.16.8",
|
|
32
|
+
"@devflow-tools/plugin-tailwind": "0.16.8",
|
|
33
|
+
"@devflow-tools/plugin-taro": "0.16.8",
|
|
34
|
+
"@devflow-tools/plugin-ui-layout": "0.16.8",
|
|
35
|
+
"@devflow-tools/plugin-vue": "0.16.8",
|
|
36
|
+
"@devflow-tools/sdk": "0.16.8",
|
|
37
|
+
"@devflow-tools/server": "0.16.8",
|
|
38
|
+
"@devflow-tools/telemetry": "0.16.8",
|
|
39
|
+
"@devflow-tools/workflow-engine": "0.16.8",
|
|
40
40
|
"@inquirer/prompts": "^7.10.1",
|
|
41
41
|
"chalk": "^5.3.0",
|
|
42
42
|
"commander": "^12.0.0"
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
"dist",
|
|
50
50
|
"bin"
|
|
51
51
|
],
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "38b7ea6653ad6e0d3edb7eae260367032f0bb854"
|
|
53
53
|
}
|