fa-mcp-sdk 0.4.51 → 0.4.53

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 (47) hide show
  1. package/README.md +1 -1
  2. package/cli-template/.claude/settings.json +3 -1
  3. package/cli-template/.claude/skills/edit-claude-files/SKILL.md +46 -0
  4. package/cli-template/.claude/skills/feature-generator/SKILL.md +364 -0
  5. package/cli-template/.claude/skills/readme-generator/README.md +1 -0
  6. package/cli-template/.claude/skills/readme-generator/SKILL.md +237 -0
  7. package/cli-template/.claude/skills/readme-generator/reference/best-practices.md +218 -0
  8. package/cli-template/.claude/skills/readme-generator/reference/satellite-templates.md +534 -0
  9. package/cli-template/.claude/skills/readme-generator/reference/templates.md +385 -0
  10. package/cli-template/CLAUDE.md +5 -19
  11. package/cli-template/FA-MCP-SDK-DOC/00-FA-MCP-SDK-index.md +1 -1
  12. package/cli-template/FA-MCP-SDK-DOC/02-1-tools-and-api.md +60 -0
  13. package/cli-template/FA-MCP-SDK-DOC/04-authentication.md +10 -8
  14. package/cli-template/README.md +72 -22
  15. package/cli-template/SKILL_README.md +139 -0
  16. package/cli-template/package.json +1 -1
  17. package/cli-template/prompt-example-new-MCP.md +3 -2
  18. package/config/custom-environment-variables.yaml +4 -3
  19. package/config/default.yaml +20 -18
  20. package/config/local-test.yaml +44 -0
  21. package/dist/core/_types_/config.d.ts +8 -5
  22. package/dist/core/_types_/config.d.ts.map +1 -1
  23. package/dist/core/auth/admin-auth.d.ts +12 -5
  24. package/dist/core/auth/admin-auth.d.ts.map +1 -1
  25. package/dist/core/auth/admin-auth.js +37 -25
  26. package/dist/core/auth/admin-auth.js.map +1 -1
  27. package/dist/core/bootstrap/startup-info.d.ts.map +1 -1
  28. package/dist/core/bootstrap/startup-info.js +13 -5
  29. package/dist/core/bootstrap/startup-info.js.map +1 -1
  30. package/dist/core/mcp/readme-assembler.d.ts +20 -0
  31. package/dist/core/mcp/readme-assembler.d.ts.map +1 -0
  32. package/dist/core/mcp/readme-assembler.js +88 -0
  33. package/dist/core/mcp/readme-assembler.js.map +1 -0
  34. package/dist/core/mcp/resources.d.ts.map +1 -1
  35. package/dist/core/mcp/resources.js +2 -1
  36. package/dist/core/mcp/resources.js.map +1 -1
  37. package/dist/core/web/admin-router.js +2 -2
  38. package/dist/core/web/admin-router.js.map +1 -1
  39. package/dist/core/web/home-api.d.ts.map +1 -1
  40. package/dist/core/web/home-api.js +13 -5
  41. package/dist/core/web/home-api.js.map +1 -1
  42. package/dist/core/web/server-http.d.ts.map +1 -1
  43. package/dist/core/web/server-http.js +1 -2
  44. package/dist/core/web/server-http.js.map +1 -1
  45. package/dist/core/web/static/home/index.html +2 -2
  46. package/dist/core/web/static/home/script.js +2 -2
  47. package/package.json +1 -1
@@ -0,0 +1,139 @@
1
+ # Skills (Claude Code)
2
+
3
+ Skills are specialized instructions for Claude Code, located in `.claude/skills/`. They are invoked inside Claude Code
4
+ chat — either by a `/command` or automatically by trigger phrases.
5
+
6
+ ## Available Skills
7
+
8
+ ### `/gen-jwt` — JWT Token Generator
9
+
10
+ Generates JWT tokens for MCP server authentication via `scripts/generate-jwt.js`.
11
+
12
+ - **Launch**: by command `/gen-jwt` or by trigger phrases ("jwt", "token for user", "токен для", "сгенерируй токен")
13
+ - **Interactive**: asks for missing required params (username, TTL), then optional (request ID, IP restriction,
14
+ service name, extra `key=value` pairs)
15
+ - **Parameters**:
16
+ - `username` (REQUIRED) — user the token is issued to
17
+ - `ttl` (REQUIRED) — lifetime in format `<N>s | <N>m | <N>d | <N>y`
18
+ - `request` (optional) — ticket/issue ID (e.g. `REQ-123`, `JIRA-456`)
19
+ - `ip` (optional) — allowed IPs / CIDR masks, comma-separated
20
+ - `service` (optional) — service name, passed as `-s <name>` flag
21
+ - any additional `key=value` pairs — appended to the token payload
22
+ - **Output**: token string, payload table, saved to `<YYYYMMDD-HHmmss>-jwt.txt` in the project root
23
+
24
+ **Examples:**
25
+
26
+ ```
27
+ /gen-jwt admin 30d
28
+ /gen-jwt vpupkin 1y request=REQ-12345 ip=10.0.0.0/24,192.168.1.100
29
+ /gen-jwt svc-account 8d service=my-mcp
30
+ /gen-jwt sergey на год привязать к заявке REQ-555
31
+ ```
32
+
33
+ ---
34
+
35
+ ### `/upgrade-guide` — FA-MCP-SDK Upgrade Guide
36
+
37
+ Generates a migration guide for upgrading the `fa-mcp-sdk` dependency in this project. Analyzes diffs in:
38
+
39
+ - `config/*.yaml` — new/removed/changed keys and defaults (correlates `default.yaml`, `_local.yaml`, `local.yaml`)
40
+ - `cli-template/` — `package.json` (new deps only), `tsconfig.json`, `eslint.config.js`, `CLAUDE.md`, `deploy/`,
41
+ `.claude/skills/`, `.run/` (from `r/`)
42
+ - `scripts/` — new or updated SDK utilities (excluding SDK-internal `copy-static.js`, `publish.sh`)
43
+ - `dist/core/index.js` — added/removed/renamed exports and breaking type changes
44
+ - project `src/` — imports and config keys affected by the upgrade
45
+
46
+ By default, versions and commit hashes refer to **this project** — the skill resolves them to the pinned SDK version
47
+ via `git show <ref>:package.json`. To reference SDK versions/commits directly, mention "SDK" explicitly.
48
+
49
+ - **Launch**: by command `/upgrade-guide` or by trigger phrases ("обновить sdk", "upgrade sdk", "migration guide",
50
+ "обновление fa-mcp-sdk")
51
+ - **Output**: `upgrade-guide-<old>-to-<new>.md` in project root
52
+
53
+ **Examples:**
54
+
55
+ ```
56
+ /upgrade-guide # current SDK -> latest SDK
57
+ /upgrade-guide 1.2.3 # project version 1.2.3 -> latest SDK
58
+ /upgrade-guide 1.2.3 1.2.7 # project versions
59
+ /upgrade-guide abc1234 def5678 # project commits
60
+ /upgrade-guide from SDK version 0.1.30 # SDK versions directly -> latest SDK
61
+ /upgrade-guide from SDK version 0.1.30 to SDK version 0.5.0 # SDK versions directly
62
+ /upgrade-guide from SDK commit abc1234 to SDK commit def5678 # SDK commits directly
63
+ /upgrade-guide 1.2.3 1.2.7 in Russian # output guide in Russian
64
+ /upgrade-guide 1.2.3 1.2.7 на русском # same, via Russian phrasing
65
+ ```
66
+
67
+ ---
68
+
69
+ ### `/feature-generator` — Feature Prompt Generator
70
+
71
+ A **META-skill**: turns a feature description into a self-sufficient prompt for an AI CLI (Claude Code or another
72
+ agent) to implement the feature turnkey. The skill itself does NOT write feature code — it produces the prompt.
73
+
74
+ What it does:
75
+
76
+ - Inspects real code via `Read` / `Grep` / `Glob` — **no guessing**
77
+ - Identifies reusable functions, classes, types, and existing npm dependencies (with `file:line` citations)
78
+ - Designs the minimal sufficient solution (KISS / YAGNI / DRY), applying multi-role review
79
+ (Architect / Senior dev / QA)
80
+ - Drafts a change plan (file → action → what exactly), code examples with TypeScript typing,
81
+ and a testing scenario
82
+ - Outputs a Part A brief summary + Part B self-sufficient 15-section prompt ready to hand off to an AI CLI
83
+
84
+ Characteristics:
85
+
86
+ - **Launch**: **command-only** via `/feature-generator`. Has `disable-model-invocation: true` — does NOT activate
87
+ on trigger phrases or implicit mentions
88
+ - **Input**: free-form feature description OR path to a file with the description (e.g. `task.md`, ticket dump)
89
+ - **Output**: file `prop-<kebab-name>.md` in repository root. If the file already exists, a numeric suffix is
90
+ appended (`-2`, `-3`, …) — the existing file is never overwritten
91
+
92
+ **Examples:**
93
+
94
+ ```
95
+ /feature-generator Add a tool for batch-processing customer records across a project
96
+ /feature-generator task.md
97
+ /feature-generator REQ-1234: implement webhook callback receiver for external events
98
+ /feature-generator Add OAuth2 token refresh logic to the HTTP client
99
+ ```
100
+
101
+ ---
102
+
103
+ ### `/readme-generator` — MCP Server README Generator
104
+
105
+ Generates a structured, user-friendly `README.md` for an `fa-mcp-sdk`-based MCP server and a set
106
+ of satellite documents under `readme-docs/`. The main README stays scannable (what is this / what
107
+ tools / how to use); reference tables, priority rules, and long technical topics are moved into
108
+ `readme-docs/*.md` and linked from the main.
109
+
110
+ What it does:
111
+
112
+ - **Inventories** the project: `package.json`, `config/*.yaml`, `src/tools/`, `src/api/`,
113
+ `src/prompts/`, `.claude/skills/`
114
+ - **Detects enabled SDK subsystems** (Consul, AD, Database, Admin Panel, Agent Tester, Swagger,
115
+ Cache, Webhooks, Impersonation, JWT, configurable tool set) and project-specific capabilities
116
+ - **Classifies each finding** — drop / inline / satellite — and produces the satellite file set
117
+ dynamically. No stubs for disabled features.
118
+ - **Always inlines** in the main README: the tool list, Quick Start, MCP Client Integration
119
+ snippets (Claude Code / Desktop / Qwen — adapted to this server's custom header names), and
120
+ Key Features
121
+ - **Always uses folder `readme-docs/`** — the SDK's `doc://readme` MCP resource automatically
122
+ inlines every satellite linked from the main README, delivering the full document to the MCP
123
+ registry's RAG index. Any other folder name would be ignored.
124
+
125
+ Characteristics:
126
+
127
+ - **Launch**: by command `/readme-generator` or by trigger phrases ("generate readme", "update
128
+ readme", "обнови README", "сгенерируй README для MCP")
129
+ - **Input**: none required — reads the current project
130
+ - **Output**: `README.md` in project root, `readme-docs/*.md` (one per satellite topic), backup
131
+ of the previous README as `README.backup.md` when rewriting
132
+
133
+ **Examples:**
134
+
135
+ ```
136
+ /readme-generator
137
+ /readme-generator refresh the README after adding 3 new tools
138
+ /readme-generator обнови README с учётом того, что теперь подключён PostgreSQL
139
+ ```
@@ -50,7 +50,7 @@
50
50
  "dependencies": {
51
51
  "@modelcontextprotocol/sdk": "^1.29.0",
52
52
  "dotenv": "^17.4.1",
53
- "fa-mcp-sdk": "^0.4.51"
53
+ "fa-mcp-sdk": "^0.4.53"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@types/express": "^5.0.6",
@@ -69,8 +69,9 @@ webServer:
69
69
  isCheckIP: false
70
70
  permanentServerTokens: ['psToken1']
71
71
 
72
- adminAuth:
73
- type: 'permanentServerTokens'
72
+ adminPanel:
73
+ enabled: true
74
+ authType: 'permanentServerTokens'
74
75
  ```
75
76
 
76
77
  # Task
@@ -1,3 +1,7 @@
1
+ adminPanel:
2
+ enabled: ADMIN_PANEL_ENABLED
3
+ authType: ADMIN_PANEL_AUTH_TYPE # permanentServerTokens | basic | jwtToken | ntlm | none
4
+
1
5
  agentTester:
2
6
  enabled: AGENT_TESTER_ENABLED
3
7
  useAuth: AGENT_TESTER_USE_AUTH
@@ -52,6 +56,3 @@ webServer:
52
56
  username: WS_AUTH_BASIC_USERNAME
53
57
  password: WS_AUTH_BASIC_PASSWORD
54
58
  genJwtApiEnable: WS_GEN_JWT_API_ENABLE
55
- adminAuth:
56
- enabled: WS_ADMIN_AUTH_ENABLED
57
- type: WS_ADMIN_AUTH_TYPE # permanentServerTokens | basic | jwtToken | ntlm
@@ -22,6 +22,26 @@
22
22
  # #> Override the Consul service name to look up (defaults to the alias key)
23
23
  # consulServiceName: <consulServiceName>
24
24
 
25
+ #> ========================================================================
26
+ #> ADMIN PANEL
27
+ #> Token generation & validation UI served at /admin.
28
+ #> Supports 4 authentication methods: permanentServerTokens, basic, jwtToken, ntlm.
29
+ #> ========================================================================
30
+ adminPanel:
31
+ #> Enable/disable admin panel. false — /admin is not mounted at all.
32
+ enabled: true
33
+ #> Authentication type: 'permanentServerTokens' | 'basic' | 'jwtToken' | 'ntlm' | 'none'
34
+ #> Accepts a single type (string) or multiple types (array):
35
+ #> authType: 'basic'
36
+ #> authType: ['jwtToken', 'basic']
37
+ #> 'none' / null / empty array / not set → panel opens WITHOUT authentication
38
+ #> (convenience for local development and debugging; do NOT use in production).
39
+ #> For permanentServerTokens, basic, jwtToken — uses credentials from webServer.auth section.
40
+ #> For ntlm — uses AD configuration from ad.domains section.
41
+ #> When multiple types are set (e.g. ['jwtToken', 'basic']), the login page shows tabs
42
+ #> to choose between Token and Login (username/password) authentication.
43
+ authType: 'basic'
44
+
25
45
  #> Active Directory / LDAP settings.
26
46
  #> Used for authentication/authorization (e.g., NTLM in admin panel) and checking user membership in AD groups.
27
47
  ad:
@@ -318,21 +338,3 @@ webServer:
318
338
  #> Requires valid Authorization header (any method configured in webServer.auth).
319
339
  #> ========================================================================
320
340
  genJwtApiEnable: false
321
-
322
- #> ========================================================================
323
- #> ADMIN PANEL AUTHENTICATION
324
- #> Token generation page available at /admin endpoint
325
- #> Supports 4 authentication methods: permanentServerTokens, basic, jwtToken, ntlm
326
- #> ========================================================================
327
- adminAuth:
328
- #> Enable/disable admin panel
329
- enabled: true
330
- #> Authentication type for admin panel: 'permanentServerTokens' | 'basic' | 'jwtToken' | 'ntlm'
331
- #> Accepts a single type (string) or multiple types (array):
332
- #> type: 'basic'
333
- #> type: ['jwtToken', 'basic']
334
- #> For permanentServerTokens, basic, jwtToken — uses credentials from webServer.auth section
335
- #> For ntlm — uses AD configuration from ad.domains section (no additional credentials needed)
336
- #> When multiple types are set (e.g. ['jwtToken', 'basic']), the login page shows tabs
337
- #> to choose between Token and Login (username/password) authentication.
338
- type: 'basic'
@@ -0,0 +1,44 @@
1
+ # Test-only config overrides layered on top of local.yaml when NODE_APP_INSTANCE=test.
2
+ # Used by the auth-hardening test run — do NOT commit real keys here.
3
+ ---
4
+ webServer:
5
+ host: '127.0.0.1'
6
+ port: 9877
7
+ auth:
8
+ enabled: true
9
+ permanentServerTokens:
10
+ - 'pst-TEST-AAAAAAAAAAAAAAAAAAAAAAAA'
11
+ jwtToken:
12
+ encryptKey: 'TEST-ENCRYPT-KEY-0123456789ABCDEF-testing-0123456789'
13
+ checkMCPName: false
14
+ isCheckIP: false
15
+ basic:
16
+ username: 'adminuser'
17
+ password: 'adminpass'
18
+ revoked:
19
+ jwtTokens:
20
+ - token: '1776650314414.e289c9721baa7d250c79adfcff94cec6087cda74d357e156bca209eefd2fa082077a08780c3a57c7e92a5ccb6041343a6ad1659fb64fce6e4c4a968a23cb4729785b34edb0eb6e6f278d9174d38212246d3c0ca81c077b8e977d3feb15cefea55c6605cf3cb0f74a13bdbcae700963e3b4'
21
+ note: 'revoked for token-list test'
22
+ users:
23
+ - 'revokeduser'
24
+
25
+ adminPanel:
26
+ enabled: true
27
+ authType:
28
+ - 'jwtToken'
29
+ - 'basic'
30
+ - 'permanentServerTokens'
31
+
32
+ agentTester:
33
+ enabled: true
34
+ useAuth: false
35
+ showFooterLink: true
36
+ openAi:
37
+ apiKey: 'sk-fake-not-used-for-these-tests'
38
+
39
+ consul:
40
+ service:
41
+ enable: false
42
+
43
+ mcp:
44
+ transportType: http
@@ -3,6 +3,7 @@ import { TFileLogLevel } from 'af-logger-ts';
3
3
  import { IAFConsulConfig, IAccessPoints } from 'fa-consul';
4
4
  import { IADConfig } from './active-directory-config.js';
5
5
  export type AdminAuthType = 'permanentServerTokens' | 'basic' | 'jwtToken' | 'ntlm';
6
+ export type AdminAuthTypeInput = AdminAuthType | 'none';
6
7
  interface IWebServerConfig {
7
8
  webServer: {
8
9
  host: string;
@@ -28,13 +29,15 @@ interface IWebServerConfig {
28
29
  users?: string[];
29
30
  };
30
31
  };
31
- adminAuth: {
32
- enabled: boolean;
33
- type: AdminAuthType | AdminAuthType[];
34
- };
35
32
  genJwtApiEnable: boolean;
36
33
  };
37
34
  }
35
+ interface IAdminPanelConfig {
36
+ adminPanel?: {
37
+ enabled: boolean;
38
+ authType?: AdminAuthTypeInput | AdminAuthTypeInput[] | null;
39
+ };
40
+ }
38
41
  interface ILoggerConfig {
39
42
  logger: {
40
43
  level: TFileLogLevel;
@@ -93,7 +96,7 @@ interface ICacheConfig {
93
96
  maxItems: 1000;
94
97
  };
95
98
  }
96
- export interface AppConfig extends IADConfig, ICacheConfig, ILoggerConfig, IAFDatabasesConfig, IWebServerConfig, IMCPConfig, ISwaggerConfig, IAgentTesterConfig, IHomePageConfig {
99
+ export interface AppConfig extends IADConfig, ICacheConfig, ILoggerConfig, IAFDatabasesConfig, IWebServerConfig, IAdminPanelConfig, IMCPConfig, ISwaggerConfig, IAgentTesterConfig, IHomePageConfig {
97
100
  isMainDBUsed: boolean;
98
101
  name: string;
99
102
  shortName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/core/_types_/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/core/_types_/config.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,23 @@
1
1
  /**
2
2
  * Admin panel authentication middleware
3
3
  * Supports 4 authentication types: permanentServerTokens, basic, jwtToken, ntlm
4
- * adminAuth.type accepts a single type or an array of types
4
+ * adminPanel.authType accepts a single type or an array of types.
5
+ * When authType is absent / null / empty array / 'none' — admin panel opens
6
+ * without authentication (dev/debug convenience mode).
5
7
  */
6
8
  import { RequestHandler } from 'express';
7
9
  import { AdminAuthType } from '../_types_/config.js';
8
10
  export type { AdminAuthType };
9
11
  /**
10
- * Normalizes adminAuth.type to an array
12
+ * Normalizes adminPanel.authType to an array of real auth types.
13
+ * 'none', null, empty array and undefined all collapse to an empty array,
14
+ * which signals open-access mode.
11
15
  */
12
16
  export declare function getAdminAuthTypes(): AdminAuthType[];
13
17
  /**
14
- * Validates admin auth configuration
15
- * Returns error message if configuration is invalid, null if valid
18
+ * Validates admin auth configuration.
19
+ * Returns error message if configuration is invalid, null if valid.
20
+ * Empty type list with enabled=true is valid and means open access.
16
21
  */
17
22
  export declare function validateAdminAuthConfig(): string | null;
18
23
  /**
@@ -21,7 +26,9 @@ export declare function validateAdminAuthConfig(): string | null;
21
26
  */
22
27
  export declare function getAdminAuthMethods(): string[];
23
28
  /**
24
- * Creates admin authentication middleware based on adminAuth.type config
29
+ * Creates admin authentication middleware based on adminPanel.authType config.
30
+ * If enabled=false OR authType is empty/'none' — returns a pass-through middleware
31
+ * that stamps the request as an anonymous open-access session.
25
32
  */
26
33
  export declare function createAdminAuthMW(): RequestHandler[];
27
34
  //# sourceMappingURL=admin-auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin-auth.d.ts","sourceRoot":"","sources":["../../../src/core/auth/admin-auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAmC,cAAc,EAAE,MAAM,SAAS,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAarD,YAAY,EAAE,aAAa,EAAE,CAAC;AAG9B;;GAEG;AACH,wBAAgB,iBAAiB,IAAK,aAAa,EAAE,CAGpD;AA6CD;;;GAGG;AACH,wBAAgB,uBAAuB,IAAK,MAAM,GAAG,IAAI,CAgBxD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAK,MAAM,EAAE,CAa/C;AA0CD;;GAEG;AACH,wBAAgB,iBAAiB,IAAK,cAAc,EAAE,CA8DrD"}
1
+ {"version":3,"file":"admin-auth.d.ts","sourceRoot":"","sources":["../../../src/core/auth/admin-auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAmC,cAAc,EAAE,MAAM,SAAS,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAarD,YAAY,EAAE,aAAa,EAAE,CAAC;AAI9B;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAK,aAAa,EAAE,CAKpD;AA6CD;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAK,MAAM,GAAG,IAAI,CAWxD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAK,MAAM,EAAE,CAa/C;AA0CD;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAK,cAAc,EAAE,CAmErD"}
@@ -1,7 +1,9 @@
1
1
  /**
2
2
  * Admin panel authentication middleware
3
3
  * Supports 4 authentication types: permanentServerTokens, basic, jwtToken, ntlm
4
- * adminAuth.type accepts a single type or an array of types
4
+ * adminPanel.authType accepts a single type or an array of types.
5
+ * When authType is absent / null / empty array / 'none' — admin panel opens
6
+ * without authentication (dev/debug convenience mode).
5
7
  */
6
8
  import chalk from 'chalk';
7
9
  import { appConfig } from '../bootstrap/init-config.js';
@@ -13,15 +15,20 @@ import { checkPermanentToken } from './permanent.js';
13
15
  import { isNTLMEnabled } from './token-generator/ntlm/ntlm-domain-config.js';
14
16
  import { setupNTLMAuthentication } from './token-generator/ntlm/ntlm-integration.js';
15
17
  const logger = lgr.getSubLogger({ name: chalk.yellow('admin-auth') });
16
- const { adminAuth, auth } = appConfig.webServer || {};
18
+ const { adminPanel } = appConfig;
19
+ const { auth } = appConfig.webServer || {};
17
20
  /**
18
- * Normalizes adminAuth.type to an array
21
+ * Normalizes adminPanel.authType to an array of real auth types.
22
+ * 'none', null, empty array and undefined all collapse to an empty array,
23
+ * which signals open-access mode.
19
24
  */
20
25
  export function getAdminAuthTypes() {
21
- if (!adminAuth?.type) {
26
+ const raw = adminPanel?.authType;
27
+ if (!raw || raw === 'none') {
22
28
  return [];
23
29
  }
24
- return Array.isArray(adminAuth.type) ? adminAuth.type : [adminAuth.type];
30
+ const list = Array.isArray(raw) ? raw : [raw];
31
+ return list.filter((t) => !!t && t !== 'none');
25
32
  }
26
33
  /**
27
34
  * Validates admin auth configuration for a single type
@@ -31,48 +38,45 @@ function validateSingleAuthType(authType) {
31
38
  case 'permanentServerTokens': {
32
39
  const tokens = auth?.permanentServerTokens;
33
40
  if (!Array.isArray(tokens) || !tokens.filter(Boolean).length) {
34
- return `adminAuth type "${authType}" but no tokens are configured in webServer.auth.permanentServerTokens`;
41
+ return `adminPanel.authType "${authType}" but no tokens are configured in webServer.auth.permanentServerTokens`;
35
42
  }
36
43
  break;
37
44
  }
38
45
  case 'basic': {
39
46
  const basic = auth?.basic;
40
47
  if (!basic?.username || !basic?.password) {
41
- return `adminAuth type "${authType}" but username or password is missing in webServer.auth.basic`;
48
+ return `adminPanel.authType "${authType}" but username or password is missing in webServer.auth.basic`;
42
49
  }
43
50
  break;
44
51
  }
45
52
  case 'jwtToken': {
46
53
  const jwt = auth?.jwtToken;
47
54
  if (!jwt?.encryptKey || jwt.encryptKey.length < 8) {
48
- return `adminAuth type "${authType}" but encryptKey is missing or too short in webServer.auth.jwtToken`;
55
+ return `adminPanel.authType "${authType}" but encryptKey is missing or too short in webServer.auth.jwtToken`;
49
56
  }
50
57
  break;
51
58
  }
52
59
  case 'ntlm': {
53
60
  if (!isNTLMEnabled) {
54
- return `adminAuth type "${authType}" but no AD configuration found (ad.domains is empty or missing)`;
61
+ return `adminPanel.authType "${authType}" but no AD configuration found (ad.domains is empty or missing)`;
55
62
  }
56
63
  break;
57
64
  }
58
65
  default:
59
- return `Unknown adminAuth type: ${authType}. Valid types: permanentServerTokens, basic, jwtToken, ntlm`;
66
+ return `Unknown adminPanel authType: ${authType}. Valid types: permanentServerTokens, basic, jwtToken, ntlm, none`;
60
67
  }
61
68
  return null;
62
69
  }
63
70
  /**
64
- * Validates admin auth configuration
65
- * Returns error message if configuration is invalid, null if valid
71
+ * Validates admin auth configuration.
72
+ * Returns error message if configuration is invalid, null if valid.
73
+ * Empty type list with enabled=true is valid and means open access.
66
74
  */
67
75
  export function validateAdminAuthConfig() {
68
- if (!adminAuth?.enabled) {
76
+ if (!adminPanel?.enabled) {
69
77
  return null; // Disabled, no validation needed
70
78
  }
71
- const types = getAdminAuthTypes();
72
- if (types.length === 0) {
73
- return 'adminAuth is enabled but no type is configured';
74
- }
75
- for (const t of types) {
79
+ for (const t of getAdminAuthTypes()) {
76
80
  const error = validateSingleAuthType(t);
77
81
  if (error) {
78
82
  return error;
@@ -85,7 +89,7 @@ export function validateAdminAuthConfig() {
85
89
  * Maps auth types to UI categories: 'token' (permanentServerTokens, jwtToken) or 'basic'.
86
90
  */
87
91
  export function getAdminAuthMethods() {
88
- if (!adminAuth?.enabled) {
92
+ if (!adminPanel?.enabled) {
89
93
  return [];
90
94
  }
91
95
  const types = getAdminAuthTypes();
@@ -140,14 +144,23 @@ function tryAuthType(authType, scheme, credentials) {
140
144
  }
141
145
  }
142
146
  /**
143
- * Creates admin authentication middleware based on adminAuth.type config
147
+ * Creates admin authentication middleware based on adminPanel.authType config.
148
+ * If enabled=false OR authType is empty/'none' — returns a pass-through middleware
149
+ * that stamps the request as an anonymous open-access session.
144
150
  */
145
151
  export function createAdminAuthMW() {
146
- // If admin auth is disabled, return pass-through middleware
147
- if (!adminAuth?.enabled) {
148
- logger.info('Admin authentication is DISABLED');
152
+ const types = getAdminAuthTypes();
153
+ // Open-access mode: panel mounted (enabled=true) but no auth type configured,
154
+ // or panel entirely disabled (shouldn't normally reach here since the route is
155
+ // not mounted, but we keep the branch defensive).
156
+ if (!adminPanel?.enabled || types.length === 0) {
157
+ if (adminPanel?.enabled) {
158
+ logger.info('Admin authentication is OPEN (no authType configured)');
159
+ }
160
+ else {
161
+ logger.info('Admin authentication is DISABLED');
162
+ }
149
163
  return [(req, res, next) => {
150
- // Set anonymous user info for compatibility
151
164
  req.ntlm = {
152
165
  isAuthenticated: false,
153
166
  username: 'Anonymous',
@@ -156,7 +169,6 @@ export function createAdminAuthMW() {
156
169
  next();
157
170
  }];
158
171
  }
159
- const types = getAdminAuthTypes();
160
172
  // If the only type is NTLM, use existing NTLM middleware
161
173
  if (types.length === 1 && types[0] === 'ntlm') {
162
174
  return setupNTLMAuthentication();
@@ -1 +1 @@
1
- {"version":3,"file":"admin-auth.js","sourceRoot":"","sources":["../../../src/core/auth/admin-auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-auth.js","sourceRoot":"","sources":["../../../src/core/auth/admin-auth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"startup-info.d.ts","sourceRoot":"","sources":["../../../src/core/bootstrap/startup-info.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,WAAW,GAAU,MAAM;IACtC,YAAY,EAAE,GAAG,CAAC;IAClB,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,SAAS,CAAC;CACpD,kBAiEA,CAAC"}
1
+ {"version":3,"file":"startup-info.d.ts","sourceRoot":"","sources":["../../../src/core/bootstrap/startup-info.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,WAAW,GAAU,MAAM;IACtC,YAAY,EAAE,GAAG,CAAC;IAClB,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,SAAS,CAAC;CACpD,kBAwEA,CAAC"}
@@ -29,14 +29,22 @@ export const startupInfo = async (args) => {
29
29
  const dbInfo = cfg.isMainDBUsed ? [...databasesInfo(cfg, ['main'])] : [['DB', 'not used']];
30
30
  // Authentication info
31
31
  const authConfig = cfg.webServer?.auth;
32
- const adminAuthConfig = cfg.webServer?.adminAuth;
32
+ const adminPanelConfig = cfg.adminPanel;
33
33
  const { configured: mcpAuthTypes, errors: authErrors } = detectAuthConfiguration();
34
34
  const mcpAuthInfo = authConfig?.enabled
35
35
  ? (mcpAuthTypes.length ? mcpAuthTypes.join(', ') : 'enabled but not configured')
36
36
  : 'disabled';
37
- const adminAuthInfo = adminAuthConfig?.enabled
38
- ? adminAuthConfig.type
39
- : 'disabled';
37
+ let adminPanelInfo;
38
+ if (!adminPanelConfig?.enabled) {
39
+ adminPanelInfo = 'disabled';
40
+ }
41
+ else {
42
+ const raw = adminPanelConfig.authType;
43
+ const types = !raw || raw === 'none'
44
+ ? []
45
+ : (Array.isArray(raw) ? raw.filter((t) => t && t !== 'none') : [raw]);
46
+ adminPanelInfo = types.length === 0 ? 'open (no auth)' : types.join(', ');
47
+ }
40
48
  // Log auth configuration errors if any
41
49
  if (Object.keys(authErrors).length > 0) {
42
50
  Object.entries(authErrors).forEach(([type, errors]) => {
@@ -53,7 +61,7 @@ export const startupInfo = async (args) => {
53
61
  useFileLogger ? ['Logs dir', fileLogger?.logDir] : '',
54
62
  ...dbInfo,
55
63
  ['MCP Auth', mcpAuthInfo],
56
- ['Admin Auth', adminAuthInfo],
64
+ ['Admin Panel', adminPanelInfo],
57
65
  ['Gen JWT API', cfg.webServer?.genJwtApiEnable ? 'POST /gen-jwt' : 'disabled'],
58
66
  ...(args.customStartupInfo || []),
59
67
  consulInfoItem,
@@ -1 +1 @@
1
- {"version":3,"file":"startup-info.js","sourceRoot":"","sources":["../../../src/core/bootstrap/startup-info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startup-info.js","sourceRoot":"","sources":["../../../src/core/bootstrap/startup-info.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Assemble an extended README for the `doc://readme` MCP resource.
3
+ *
4
+ * Reads the project's README.md, finds every link pointing into `readme-docs/`, appends those
5
+ * satellite Markdown files at the end (each separated by `\n\n---\n\n`), and rewrites the in-text
6
+ * links to `See "<heading>" below` so the assembled document reads naturally.
7
+ *
8
+ * This is what the MCP registry's RAG index consumes via `doc://readme` — so the whole
9
+ * documentation must be delivered as one searchable markdown blob.
10
+ */
11
+ export declare const SATELLITE_DIR_NAME = "readme-docs";
12
+ /**
13
+ * Build the extended README.
14
+ *
15
+ * @param projectRoot - Absolute path to the project root (where README.md lives).
16
+ * @returns The README content with satellites inlined. Empty string if README.md is missing.
17
+ * If `readme-docs/` is missing, returns the main README as-is.
18
+ */
19
+ export declare const assembleReadmeWithSatellites: (projectRoot: string) => string;
20
+ //# sourceMappingURL=readme-assembler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readme-assembler.d.ts","sourceRoot":"","sources":["../../../src/core/mcp/readme-assembler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AA6BhD;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,GAAI,aAAa,MAAM,KAAG,MAiDlE,CAAC"}