@doquflow/server 0.1.1 → 0.2.0

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.
Files changed (2) hide show
  1. package/dist/extractor.js +9 -0
  2. package/package.json +33 -9
package/dist/extractor.js CHANGED
@@ -37,6 +37,12 @@ const RE_MIN_API = /\bapp\.Map(?:Get|Post|Put|Delete|Patch)\s*\(\s*["']([^"']+)[
37
37
  const RE_EXPRESS = /\b(?:router|app)\.(?:get|post|put|delete|patch|use)\s*\(\s*['"]([^'"]+)['"]/g;
38
38
  const RE_NEST = /@(?:Get|Post|Put|Delete|Patch)\s*\(\s*['"]([^'"]+)['"]/g;
39
39
  const RE_NG_PATH = /\bpath\s*:\s*['"]([^'"]+)['"]/g;
40
+ // Flask: @app.route('/path') @bp.route('/path')
41
+ const RE_FLASK = /@\w+\.route\s*\(\s*['"]([^'"]+)['"]/g;
42
+ // FastAPI / Flask-style: @app.get('/x') @router.post('/x')
43
+ const RE_FASTAPI = /@(?:app|router|bp)\s*\.\s*(?:get|post|put|delete|patch)\s*\(\s*['"]([^'"]+)['"]/g;
44
+ // Django: path('url/', view) url('pattern/', view)
45
+ const RE_DJANGO = /\bpath\s*\(\s*['"]([^'"]+)['"]/g;
40
46
  const RE_CFG_CONNSTR = /\bConnectionStrings:([\w.]+)/g;
41
47
  const RE_PROCESS_ENV = /\bprocess\.env\.([A-Z_][A-Z0-9_]*)/g;
42
48
  const RE_DOTNET_ENV = /\bEnvironment\.GetEnvironmentVariable\(\s*["']([^"']+)["']/g;
@@ -97,6 +103,9 @@ function extract(content) {
97
103
  ...collect(new RegExp(RE_EXPRESS.source, "g"), content),
98
104
  ...collect(new RegExp(RE_NEST.source, "g"), content),
99
105
  ...collect(new RegExp(RE_NG_PATH.source, "g"), content),
106
+ ...collect(new RegExp(RE_FLASK.source, "g"), content),
107
+ ...collect(new RegExp(RE_FASTAPI.source, "g"), content),
108
+ ...collect(new RegExp(RE_DJANGO.source, "g"), content),
100
109
  ]);
101
110
  const config_refs = [];
102
111
  config_refs.push(...collect(new RegExp(RE_CFG_CONNSTR.source, "g"), content).map((s) => `ConnectionStrings:${s}`));
package/package.json CHANGED
@@ -1,16 +1,40 @@
1
1
  {
2
2
  "name": "@doquflow/server",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "Docuflow MCP server — lets AI agents read codebases and persist living specs",
5
5
  "author": "Docuflow <hello@doquflows.dev>",
6
6
  "license": "MIT",
7
7
  "homepage": "https://github.com/doquflows/docuflow",
8
- "repository": { "type": "git", "url": "https://github.com/doquflows/docuflow.git" },
9
- "bugs": { "url": "https://github.com/doquflows/docuflow/issues" },
10
- "keywords": ["mcp", "ai-agents", "claude-code", "documentation", "codebase", "developer-tools"],
11
- "bin": { "docuflow-server": "./dist/index.js" },
12
- "files": ["dist/**", "README.md"],
13
- "scripts": { "build": "tsc" },
14
- "dependencies": { "@modelcontextprotocol/sdk": "^1.0.4" },
15
- "devDependencies": { "@types/node": "^22.0.0", "typescript": "^5.6.0" }
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/doquflows/docuflow.git"
11
+ },
12
+ "bugs": {
13
+ "url": "https://github.com/doquflows/docuflow/issues"
14
+ },
15
+ "keywords": [
16
+ "mcp",
17
+ "ai-agents",
18
+ "claude-code",
19
+ "documentation",
20
+ "codebase",
21
+ "developer-tools"
22
+ ],
23
+ "bin": {
24
+ "docuflow-server": "./dist/index.js"
25
+ },
26
+ "files": [
27
+ "dist/**",
28
+ "README.md"
29
+ ],
30
+ "scripts": {
31
+ "build": "tsc"
32
+ },
33
+ "dependencies": {
34
+ "@modelcontextprotocol/sdk": "^1.0.4"
35
+ },
36
+ "devDependencies": {
37
+ "@types/node": "^22.0.0",
38
+ "typescript": "^5.6.0"
39
+ }
16
40
  }