@yinuo-ngm/mcp-server 0.1.2 → 0.1.3

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 (214) hide show
  1. package/README.md +191 -208
  2. package/lib/audit/audit-event.d.ts +14 -0
  3. package/lib/audit/audit-event.js +2 -0
  4. package/lib/audit/audit-log.service.d.ts +7 -0
  5. package/lib/audit/audit-log.service.js +187 -0
  6. package/lib/audit/redact.d.ts +3 -0
  7. package/lib/audit/redact.js +28 -0
  8. package/lib/catalog/capabilities/blocked-local-actions.d.ts +1 -0
  9. package/lib/catalog/capabilities/blocked-local-actions.js +18 -0
  10. package/lib/catalog/capabilities/frontend-standard.d.ts +2 -0
  11. package/lib/catalog/capabilities/frontend-standard.js +36 -0
  12. package/lib/catalog/capabilities/hub-v2.d.ts +2 -0
  13. package/lib/catalog/capabilities/hub-v2.js +34 -0
  14. package/lib/catalog/capabilities/nginx.d.ts +2 -0
  15. package/lib/catalog/capabilities/nginx.js +23 -0
  16. package/lib/catalog/capabilities/project.d.ts +2 -0
  17. package/lib/catalog/capabilities/project.js +23 -0
  18. package/lib/catalog/capabilities/router.d.ts +2 -0
  19. package/lib/catalog/capabilities/router.js +11 -0
  20. package/lib/catalog/capabilities/runtime.d.ts +2 -0
  21. package/lib/catalog/capabilities/runtime.js +17 -0
  22. package/lib/catalog/capabilities/workspace.d.ts +2 -0
  23. package/lib/catalog/capabilities/workspace.js +23 -0
  24. package/lib/catalog/helpers.d.ts +3 -0
  25. package/lib/catalog/helpers.js +42 -0
  26. package/lib/catalog/index.d.ts +4 -0
  27. package/lib/catalog/index.js +23 -0
  28. package/lib/catalog/tools/frontend-standard.d.ts +2 -0
  29. package/lib/catalog/tools/frontend-standard.js +166 -0
  30. package/lib/catalog/tools/hub-v2-api.d.ts +2 -0
  31. package/lib/catalog/tools/hub-v2-api.js +124 -0
  32. package/lib/catalog/tools/hub-v2-docs.d.ts +2 -0
  33. package/lib/catalog/tools/hub-v2-docs.js +40 -0
  34. package/lib/catalog/tools/nginx.d.ts +2 -0
  35. package/lib/catalog/tools/nginx.js +96 -0
  36. package/lib/catalog/tools/project.d.ts +2 -0
  37. package/lib/catalog/tools/project.js +138 -0
  38. package/lib/catalog/tools/router.d.ts +2 -0
  39. package/lib/catalog/tools/router.js +26 -0
  40. package/lib/catalog/tools/runtime.d.ts +2 -0
  41. package/lib/catalog/tools/runtime.js +47 -0
  42. package/lib/catalog/tools/workspace.d.ts +2 -0
  43. package/lib/catalog/tools/workspace.js +75 -0
  44. package/lib/catalog/types.d.ts +15 -0
  45. package/lib/catalog/types.js +2 -0
  46. package/lib/context/create-tool-context.js +11 -10
  47. package/lib/context/local-server-client.d.ts +2 -0
  48. package/lib/context/local-server-client.js +174 -0
  49. package/lib/context/tool-context.d.ts +36 -0
  50. package/lib/doctor.d.ts +8 -0
  51. package/lib/doctor.js +221 -0
  52. package/lib/errors/error-codes.d.ts +12 -0
  53. package/lib/errors/error-codes.js +14 -0
  54. package/lib/errors/mcp-tool-error.d.ts +8 -0
  55. package/lib/errors/mcp-tool-error.js +14 -0
  56. package/lib/filesystem/project-files.d.ts +18 -0
  57. package/lib/filesystem/project-files.js +112 -0
  58. package/lib/git/local-git-read-service.d.ts +2 -0
  59. package/lib/git/local-git-read-service.js +96 -0
  60. package/lib/index.d.ts +1 -0
  61. package/lib/index.js +4 -0
  62. package/lib/policy/assert-tool-policy.js +10 -1
  63. package/lib/register-tools.js +67 -10
  64. package/lib/registry/tool-names.d.ts +95 -0
  65. package/lib/registry/tool-names.js +97 -0
  66. package/lib/services/path-guard.service.d.ts +4 -0
  67. package/lib/services/path-guard.service.js +75 -0
  68. package/lib/services/permission.service.d.ts +5 -0
  69. package/lib/services/permission.service.js +38 -0
  70. package/lib/services/project-resolver.service.d.ts +32 -0
  71. package/lib/services/project-resolver.service.js +95 -0
  72. package/lib/standard/frontend-standard.default.d.ts +2 -0
  73. package/lib/standard/frontend-standard.default.js +51 -0
  74. package/lib/standard/frontend-standard.schema.d.ts +196 -0
  75. package/lib/standard/frontend-standard.schema.js +61 -0
  76. package/lib/standard/frontend-standard.service.d.ts +79 -0
  77. package/lib/standard/frontend-standard.service.js +115 -0
  78. package/lib/standard/project-scan.d.ts +9 -0
  79. package/lib/standard/project-scan.js +91 -0
  80. package/lib/standard/validators/angular-structure.validator.d.ts +4 -0
  81. package/lib/standard/validators/angular-structure.validator.js +75 -0
  82. package/lib/standard/validators/component.validator.d.ts +4 -0
  83. package/lib/standard/validators/component.validator.js +94 -0
  84. package/lib/standard/validators/git.validator.d.ts +8 -0
  85. package/lib/standard/validators/git.validator.js +32 -0
  86. package/lib/standard/validators/review.validator.d.ts +15 -0
  87. package/lib/standard/validators/review.validator.js +67 -0
  88. package/lib/standard/validators/test.validator.d.ts +19 -0
  89. package/lib/standard/validators/test.validator.js +89 -0
  90. package/lib/tool-catalog.d.ts +2 -0
  91. package/lib/tool-catalog.js +6 -0
  92. package/lib/tools/angular/angular-standard.tools.d.ts +2 -0
  93. package/lib/tools/angular/angular-standard.tools.js +53 -0
  94. package/lib/tools/angular/index.d.ts +1 -0
  95. package/lib/tools/angular/index.js +5 -0
  96. package/lib/tools/capability.tools.d.ts +2 -0
  97. package/lib/tools/capability.tools.js +205 -0
  98. package/lib/tools/controlled/index.d.ts +2 -0
  99. package/lib/tools/controlled/index.js +13 -0
  100. package/lib/tools/controlled/local-server.d.ts +6 -0
  101. package/lib/tools/controlled/local-server.js +17 -0
  102. package/lib/tools/controlled/operation-policy.d.ts +22 -0
  103. package/lib/tools/controlled/operation-policy.js +50 -0
  104. package/lib/tools/controlled/operation-result.d.ts +30 -0
  105. package/lib/tools/controlled/operation-result.js +33 -0
  106. package/lib/tools/controlled/schemas.d.ts +159 -0
  107. package/lib/tools/controlled/schemas.js +49 -0
  108. package/lib/tools/controlled.tools.d.ts +1 -0
  109. package/lib/tools/controlled.tools.js +5 -0
  110. package/lib/tools/file-write.tools.d.ts +2 -0
  111. package/lib/tools/file-write.tools.js +70 -0
  112. package/lib/tools/git.tools.js +109 -8
  113. package/lib/tools/hub-v2/client.d.ts +6 -1
  114. package/lib/tools/hub-v2/client.js +15 -0
  115. package/lib/tools/hub-v2/config/config-paths.d.ts +2 -0
  116. package/lib/tools/hub-v2/config/config-paths.js +17 -0
  117. package/lib/tools/hub-v2/config/env.d.ts +1 -0
  118. package/lib/tools/hub-v2/config/env.js +12 -0
  119. package/lib/tools/hub-v2/config/index.d.ts +8 -0
  120. package/lib/tools/hub-v2/config/index.js +18 -0
  121. package/lib/tools/hub-v2/config/jsonc.d.ts +5 -0
  122. package/lib/tools/hub-v2/config/jsonc.js +86 -0
  123. package/lib/tools/hub-v2/config/load-config.d.ts +18 -0
  124. package/lib/tools/hub-v2/config/load-config.js +93 -0
  125. package/lib/tools/hub-v2/config/project-selector.d.ts +5 -0
  126. package/lib/tools/hub-v2/config/project-selector.js +92 -0
  127. package/lib/tools/hub-v2/config/resolve-context.d.ts +13 -0
  128. package/lib/tools/hub-v2/config/resolve-context.js +33 -0
  129. package/lib/tools/hub-v2/docs.tools.js +138 -4
  130. package/lib/tools/hub-v2/index.js +2 -0
  131. package/lib/tools/hub-v2/issues-workflow.tools.d.ts +2 -0
  132. package/lib/tools/hub-v2/issues-workflow.tools.js +199 -0
  133. package/lib/tools/hub-v2/issues.tools.js +96 -6
  134. package/lib/tools/hub-v2/projects.tools.js +16 -3
  135. package/lib/tools/hub-v2/raw.d.ts +8 -0
  136. package/lib/tools/hub-v2/raw.js +33 -0
  137. package/lib/tools/hub-v2/rd.tools.js +167 -8
  138. package/lib/tools/hub-v2/schemas.d.ts +668 -71
  139. package/lib/tools/hub-v2/schemas.js +152 -1
  140. package/lib/tools/hub-v2/upload.tools.js +53 -5
  141. package/lib/tools/index.d.ts +1 -0
  142. package/lib/tools/index.js +22 -0
  143. package/lib/tools/log.tools.js +33 -6
  144. package/lib/tools/nginx/index.d.ts +1 -0
  145. package/lib/tools/nginx/index.js +5 -0
  146. package/lib/tools/nginx/nginx-control.tools.d.ts +2 -0
  147. package/lib/tools/nginx/nginx-control.tools.js +133 -0
  148. package/lib/tools/nginx/nginx-proxy.d.ts +24 -0
  149. package/lib/tools/nginx/nginx-proxy.js +154 -0
  150. package/lib/tools/nginx.tools.d.ts +2 -0
  151. package/lib/tools/nginx.tools.js +111 -0
  152. package/lib/tools/project/index.d.ts +2 -0
  153. package/lib/tools/project/index.js +7 -0
  154. package/lib/tools/project/launch-status.d.ts +10 -0
  155. package/lib/tools/project/launch-status.js +78 -0
  156. package/lib/tools/project/local-diagnostics.d.ts +19 -0
  157. package/lib/tools/project/local-diagnostics.js +97 -0
  158. package/lib/tools/project/observe-redaction.d.ts +3 -0
  159. package/lib/tools/project/observe-redaction.js +25 -0
  160. package/lib/tools/project/observe-runtime.d.ts +72 -0
  161. package/lib/tools/project/observe-runtime.js +147 -0
  162. package/lib/tools/project/project-control.tools.d.ts +2 -0
  163. package/lib/tools/project/project-control.tools.js +216 -0
  164. package/lib/tools/project/project-observe.tools.d.ts +2 -0
  165. package/lib/tools/project/project-observe.tools.js +191 -0
  166. package/lib/tools/project/runtime-config.d.ts +7 -0
  167. package/lib/tools/project/runtime-config.js +50 -0
  168. package/lib/tools/project-observe.tools.d.ts +1 -0
  169. package/lib/tools/project-observe.tools.js +5 -0
  170. package/lib/tools/project.tools.d.ts +8 -0
  171. package/lib/tools/project.tools.js +97 -6
  172. package/lib/tools/proxy.tools.js +4 -4
  173. package/lib/tools/review/index.d.ts +1 -0
  174. package/lib/tools/review/index.js +5 -0
  175. package/lib/tools/review/review.tools.d.ts +2 -0
  176. package/lib/tools/review/review.tools.js +152 -0
  177. package/lib/tools/runtime/index.d.ts +1 -0
  178. package/lib/tools/runtime/index.js +5 -0
  179. package/lib/tools/runtime/runtime-control.tools.d.ts +2 -0
  180. package/lib/tools/runtime/runtime-control.tools.js +89 -0
  181. package/lib/tools/runtime.tools.js +41 -4
  182. package/lib/tools/standard/index.d.ts +1 -0
  183. package/lib/tools/standard/index.js +5 -0
  184. package/lib/tools/standard/standard.tools.d.ts +2 -0
  185. package/lib/tools/standard/standard.tools.js +91 -0
  186. package/lib/tools/task.tools.js +44 -9
  187. package/lib/tools/test/index.d.ts +1 -0
  188. package/lib/tools/test/index.js +5 -0
  189. package/lib/tools/test/test-standard.tools.d.ts +2 -0
  190. package/lib/tools/test/test-standard.tools.js +51 -0
  191. package/lib/tools/tool-catalog.d.ts +2 -0
  192. package/lib/tools/tool-catalog.js +7 -0
  193. package/lib/tools/workflow/frontend-workflow.tools.d.ts +2 -0
  194. package/lib/tools/workflow/frontend-workflow.tools.js +364 -0
  195. package/lib/tools/workflow/index.d.ts +1 -0
  196. package/lib/tools/workflow/index.js +5 -0
  197. package/lib/tools/workspace-package.d.ts +22 -0
  198. package/lib/tools/workspace-package.js +130 -0
  199. package/lib/tools/workspace.tools.d.ts +7 -0
  200. package/lib/tools/workspace.tools.js +336 -0
  201. package/lib/utils/errors.js +6 -1
  202. package/lib/utils/result.d.ts +9 -0
  203. package/lib/utils/result.js +9 -0
  204. package/lib/workflow/frontend-task.schema.d.ts +83 -0
  205. package/lib/workflow/frontend-task.schema.js +25 -0
  206. package/lib/workflow/frontend-task.service.d.ts +57 -0
  207. package/lib/workflow/frontend-task.service.js +195 -0
  208. package/lib/workflow/workflow-status.d.ts +2 -0
  209. package/lib/workflow/workflow-status.js +14 -0
  210. package/lib/workflow/workflow-transition.d.ts +9 -0
  211. package/lib/workflow/workflow-transition.js +38 -0
  212. package/package.json +5 -3
  213. package/lib/tools/hub-v2/config.d.ts +0 -34
  214. package/lib/tools/hub-v2/config.js +0 -297
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.blockedLocalActions = void 0;
4
+ exports.blockedLocalActions = [
5
+ "run package scripts without confirm=true and NGM_MCP_ALLOW_EXECUTE=true",
6
+ "stop local project processes without confirm=true and NGM_MCP_ALLOW_EXECUTE=true",
7
+ "restart local project processes",
8
+ "install, uninstall, or switch Node versions",
9
+ "change project runtime binding without confirm=true and NGM_MCP_ALLOW_WRITE=true",
10
+ "start or stop Nginx",
11
+ "reload Nginx without config validation, confirm=true, and NGM_MCP_ALLOW_EXECUTE=true",
12
+ "write Nginx proxy rules without confirm=true and NGM_MCP_ALLOW_WRITE=true",
13
+ "execute arbitrary shell commands",
14
+ "kill arbitrary PIDs",
15
+ "write arbitrary project-external file paths",
16
+ "write frontend standard, review, or workflow files outside project-local .ng-manager/**",
17
+ "apply patch previews to source files; ngm_workspace_apply_patch_preview never writes files",
18
+ ];
@@ -0,0 +1,2 @@
1
+ import type { CapabilityCatalogEntry } from "../types";
2
+ export declare const frontendStandardCapabilities: CapabilityCatalogEntry[];
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.frontendStandardCapabilities = void 0;
4
+ exports.frontendStandardCapabilities = [
5
+ {
6
+ id: "frontend-standard",
7
+ label: "Enterprise frontend standard, Angular structure checks, test guidance, code review reports, and workflow task files",
8
+ skills: ["ngm-frontend-standard"],
9
+ tools: [
10
+ "ngm_standard_get",
11
+ "ngm_standard_init",
12
+ "ngm_standard_validate_project",
13
+ "ngm_git_validate_branch_name",
14
+ "ngm_git_validate_commit_message",
15
+ "ngm_git_generate_commit_message",
16
+ "ngm_git_generate_review_summary",
17
+ "ngm_test_detect_missing_specs",
18
+ "ngm_test_generate_spec_plan",
19
+ "ngm_test_validate_naming",
20
+ "ngm_angular_validate_structure",
21
+ "ngm_angular_validate_component_naming",
22
+ "ngm_angular_validate_component_boundary",
23
+ "ngm_review_scan_changed_files",
24
+ "ngm_review_generate_checklist",
25
+ "ngm_review_detect_risks",
26
+ "ngm_review_generate_report",
27
+ "ngm_workflow_create_frontend_task",
28
+ "ngm_workflow_generate_dev_plan",
29
+ "ngm_workflow_advance_status",
30
+ "ngm_workflow_validate_before_write",
31
+ "ngm_workflow_validate_before_commit",
32
+ "ngm_workflow_generate_delivery_report",
33
+ ],
34
+ notes: ["Write tools only write project-local .ng-manager files and require confirm=true plus NGM_MCP_ALLOW_WRITE=true."],
35
+ },
36
+ ];
@@ -0,0 +1,2 @@
1
+ import type { CapabilityCatalogEntry } from "../types";
2
+ export declare const hubV2Capabilities: CapabilityCatalogEntry[];
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hubV2Capabilities = void 0;
4
+ exports.hubV2Capabilities = [
5
+ {
6
+ id: "hub-v2",
7
+ label: "Hub V2 collaboration data: issues, RD workflows, documents, members, and uploads",
8
+ skills: ["hub-v2-api", "hub-v2-docs"],
9
+ tools: [
10
+ "hub_v2_projects_list",
11
+ "hub_v2_projects_get",
12
+ "hub_v2_project_members_list",
13
+ "hub_v2_docs_list",
14
+ "hub_v2_docs_get",
15
+ "hub_v2_docs_get_by_slug",
16
+ "hub_v2_docs_create",
17
+ "hub_v2_docs_update",
18
+ "hub_v2_issues_list",
19
+ "hub_v2_issues_get",
20
+ "hub_v2_issues_create",
21
+ "hub_v2_issues_comment",
22
+ "hub_v2_issues_assign",
23
+ "hub_v2_issues_update",
24
+ "hub_v2_upload_markdown_image",
25
+ "hub_v2_rd_list",
26
+ "hub_v2_rd_get",
27
+ "hub_v2_rd_stage_tasks_list",
28
+ "hub_v2_rd_create",
29
+ "hub_v2_rd_advance_stage",
30
+ "hub_v2_rd_stage_tasks_create",
31
+ "hub_v2_rd_update_progress",
32
+ ],
33
+ },
34
+ ];
@@ -0,0 +1,2 @@
1
+ import type { CapabilityCatalogEntry } from "../types";
2
+ export declare const nginxCapabilities: CapabilityCatalogEntry[];
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nginxCapabilities = void 0;
4
+ exports.nginxCapabilities = [
5
+ {
6
+ id: "nginx",
7
+ label: "Local Nginx status, server blocks, upstreams, config validation, and logs",
8
+ skills: ["ngm-nginx"],
9
+ tools: [
10
+ "ngm_nginx_status",
11
+ "ngm_nginx_servers_list",
12
+ "ngm_nginx_server_get",
13
+ "ngm_nginx_upstreams_list",
14
+ "ngm_nginx_config_validate",
15
+ "ngm_nginx_config_get_main",
16
+ "ngm_nginx_logs_tail",
17
+ "ngm_nginx_reload",
18
+ "ngm_nginx_proxy_save",
19
+ "ngm_proxy_list",
20
+ "ngm_proxy_validate",
21
+ ],
22
+ },
23
+ ];
@@ -0,0 +1,2 @@
1
+ import type { CapabilityCatalogEntry } from "../types";
2
+ export declare const projectCapabilities: CapabilityCatalogEntry[];
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.projectCapabilities = void 0;
4
+ exports.projectCapabilities = [
5
+ {
6
+ id: "project",
7
+ label: "Local project entries, package.json scripts, task views, process status, and logs",
8
+ skills: ["ngm-project"],
9
+ tools: [
10
+ "ngm_project_managed_list",
11
+ "ngm_project_find",
12
+ "ngm_project_get",
13
+ "ngm_project_get_scripts",
14
+ "ngm_project_read_package_json",
15
+ "ngm_file_write",
16
+ "ngm_project_run_script",
17
+ "ngm_project_stop",
18
+ "ngm_task_list",
19
+ "ngm_task_get_status",
20
+ "ngm_log_tail",
21
+ ],
22
+ },
23
+ ];
@@ -0,0 +1,2 @@
1
+ import type { CapabilityCatalogEntry } from "../types";
2
+ export declare const routerCapabilities: CapabilityCatalogEntry[];
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.routerCapabilities = void 0;
4
+ exports.routerCapabilities = [
5
+ {
6
+ id: "routing",
7
+ label: "Skill routing and MCP capability discovery",
8
+ skills: ["ngm-router"],
9
+ tools: ["ngm_capabilities", "ngm_doctor", "ngm_route_task"],
10
+ },
11
+ ];
@@ -0,0 +1,2 @@
1
+ import type { CapabilityCatalogEntry } from "../types";
2
+ export declare const runtimeCapabilities: CapabilityCatalogEntry[];
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runtimeCapabilities = void 0;
4
+ exports.runtimeCapabilities = [
5
+ {
6
+ id: "runtime",
7
+ label: "Node runtime, Node version manager, and project runtime resolution",
8
+ skills: ["ngm-runtime"],
9
+ tools: [
10
+ "ngm_runtime_current",
11
+ "ngm_runtime_list",
12
+ "ngm_runtime_resolve_for_project",
13
+ "ngm_runtime_detect_requirement",
14
+ "ngm_runtime_set_for_project",
15
+ ],
16
+ },
17
+ ];
@@ -0,0 +1,2 @@
1
+ import type { CapabilityCatalogEntry } from "../types";
2
+ export declare const workspaceCapabilities: CapabilityCatalogEntry[];
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.workspaceCapabilities = void 0;
4
+ exports.workspaceCapabilities = [
5
+ {
6
+ id: "workspace",
7
+ label: "Local ng-manager workspace, monorepo, package metadata, MCP tools, API debugging, design handoff, and CodeGraph availability",
8
+ skills: ["ngm-workspace"],
9
+ tools: [
10
+ "ngm_workspace_summary",
11
+ "ngm_workspace_list_packages",
12
+ "ngm_workspace_get_package",
13
+ "ngm_workspace_mcp_tools",
14
+ "ngm_workspace_capability_map",
15
+ "ngm_workspace_diff",
16
+ "ngm_workspace_apply_patch_preview",
17
+ "ngm_git_status",
18
+ "ngm_git_diff",
19
+ "ngm_log_search",
20
+ ],
21
+ notes: ["CodeGraph DB is not exposed directly by this MCP server in the current read-only phase."],
22
+ },
23
+ ];
@@ -0,0 +1,3 @@
1
+ import type { CapabilityCatalogEntry, ToolCatalogEntry } from "./types";
2
+ export declare function buildToolCatalog(...groups: ReadonlyArray<readonly ToolCatalogEntry[]>): ToolCatalogEntry[];
3
+ export declare function buildCapabilityCatalog(tools: readonly ToolCatalogEntry[], ...groups: ReadonlyArray<readonly CapabilityCatalogEntry[]>): CapabilityCatalogEntry[];
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildToolCatalog = buildToolCatalog;
4
+ exports.buildCapabilityCatalog = buildCapabilityCatalog;
5
+ function assertNoDuplicateToolNames(tools) {
6
+ const seen = new Set();
7
+ const duplicates = new Set();
8
+ for (const tool of tools) {
9
+ if (seen.has(tool.name)) {
10
+ duplicates.add(tool.name);
11
+ continue;
12
+ }
13
+ seen.add(tool.name);
14
+ }
15
+ if (duplicates.size > 0) {
16
+ throw new Error(`Duplicate tool name(s) found in tool catalog: ${[...duplicates].sort().join(", ")}`);
17
+ }
18
+ }
19
+ function assertCapabilityToolReferences(capabilities, tools) {
20
+ const toolNames = new Set(tools.map((tool) => tool.name));
21
+ const unknownReferences = [];
22
+ for (const capability of capabilities) {
23
+ for (const toolName of capability.tools) {
24
+ if (!toolNames.has(toolName)) {
25
+ unknownReferences.push(`${capability.id}:${toolName}`);
26
+ }
27
+ }
28
+ }
29
+ if (unknownReferences.length > 0) {
30
+ throw new Error(`Unknown capability tool reference(s): ${unknownReferences.sort().join(", ")}`);
31
+ }
32
+ }
33
+ function buildToolCatalog(...groups) {
34
+ const tools = groups.flatMap((group) => group);
35
+ assertNoDuplicateToolNames(tools);
36
+ return tools;
37
+ }
38
+ function buildCapabilityCatalog(tools, ...groups) {
39
+ const capabilities = groups.flatMap((group) => group);
40
+ assertCapabilityToolReferences(capabilities, tools);
41
+ return capabilities;
42
+ }
@@ -0,0 +1,4 @@
1
+ import { blockedLocalActions } from "./capabilities/blocked-local-actions";
2
+ export declare const toolCatalog: import("./types").ToolCatalogEntry[];
3
+ export declare const capabilityCatalog: import("./types").CapabilityCatalogEntry[];
4
+ export { blockedLocalActions };
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.blockedLocalActions = exports.capabilityCatalog = exports.toolCatalog = void 0;
4
+ const helpers_1 = require("./helpers");
5
+ const blocked_local_actions_1 = require("./capabilities/blocked-local-actions");
6
+ Object.defineProperty(exports, "blockedLocalActions", { enumerable: true, get: function () { return blocked_local_actions_1.blockedLocalActions; } });
7
+ const frontend_standard_1 = require("./capabilities/frontend-standard");
8
+ const hub_v2_1 = require("./capabilities/hub-v2");
9
+ const nginx_1 = require("./capabilities/nginx");
10
+ const project_1 = require("./capabilities/project");
11
+ const router_1 = require("./capabilities/router");
12
+ const runtime_1 = require("./capabilities/runtime");
13
+ const workspace_1 = require("./capabilities/workspace");
14
+ const frontend_standard_2 = require("./tools/frontend-standard");
15
+ const hub_v2_api_1 = require("./tools/hub-v2-api");
16
+ const hub_v2_docs_1 = require("./tools/hub-v2-docs");
17
+ const nginx_2 = require("./tools/nginx");
18
+ const project_2 = require("./tools/project");
19
+ const router_2 = require("./tools/router");
20
+ const runtime_2 = require("./tools/runtime");
21
+ const workspace_2 = require("./tools/workspace");
22
+ exports.toolCatalog = (0, helpers_1.buildToolCatalog)(router_2.routerTools, workspace_2.workspaceTools, project_2.projectTools, runtime_2.runtimeTools, nginx_2.nginxTools, frontend_standard_2.frontendStandardTools, hub_v2_docs_1.hubV2DocsTools, hub_v2_api_1.hubV2ApiTools);
23
+ exports.capabilityCatalog = (0, helpers_1.buildCapabilityCatalog)(exports.toolCatalog, router_1.routerCapabilities, workspace_1.workspaceCapabilities, frontend_standard_1.frontendStandardCapabilities, project_1.projectCapabilities, runtime_1.runtimeCapabilities, nginx_1.nginxCapabilities, hub_v2_1.hubV2Capabilities);
@@ -0,0 +1,2 @@
1
+ import type { ToolCatalogEntry } from "../types";
2
+ export declare const frontendStandardTools: ToolCatalogEntry[];
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.frontendStandardTools = void 0;
4
+ exports.frontendStandardTools = [
5
+ {
6
+ name: "ngm_git_validate_branch_name",
7
+ skill: "ngm-frontend-standard",
8
+ capability: "frontend-standard",
9
+ riskLevel: "read",
10
+ description: "Validate a branch name against configured frontend workflow patterns.",
11
+ },
12
+ {
13
+ name: "ngm_git_validate_commit_message",
14
+ skill: "ngm-frontend-standard",
15
+ capability: "frontend-standard",
16
+ riskLevel: "read",
17
+ description: "Validate a commit message against configured frontend commit rules.",
18
+ },
19
+ {
20
+ name: "ngm_git_generate_commit_message",
21
+ skill: "ngm-frontend-standard",
22
+ capability: "frontend-standard",
23
+ riskLevel: "read",
24
+ description: "Generate a conventional frontend commit message.",
25
+ },
26
+ {
27
+ name: "ngm_git_generate_review_summary",
28
+ skill: "ngm-frontend-standard",
29
+ capability: "frontend-review",
30
+ riskLevel: "read",
31
+ description: "Generate a compact review summary from changed files and Git context.",
32
+ },
33
+ {
34
+ name: "ngm_standard_get",
35
+ skill: "ngm-frontend-standard",
36
+ capability: "frontend-standard",
37
+ riskLevel: "read",
38
+ description: "Read frontend standard config or defaults.",
39
+ },
40
+ {
41
+ name: "ngm_standard_init",
42
+ skill: "ngm-frontend-standard",
43
+ capability: "frontend-standard",
44
+ riskLevel: "write",
45
+ description: "Preview or create .ng-manager/frontend-standard.json.",
46
+ },
47
+ {
48
+ name: "ngm_standard_validate_project",
49
+ skill: "ngm-frontend-standard",
50
+ capability: "frontend-standard",
51
+ riskLevel: "read",
52
+ description: "Run lightweight frontend project standard checks.",
53
+ },
54
+ {
55
+ name: "ngm_test_detect_missing_specs",
56
+ skill: "ngm-frontend-standard",
57
+ capability: "frontend-testing",
58
+ riskLevel: "read",
59
+ description: "Detect suggested missing frontend specs.",
60
+ },
61
+ {
62
+ name: "ngm_test_generate_spec_plan",
63
+ skill: "ngm-frontend-standard",
64
+ capability: "frontend-testing",
65
+ riskLevel: "read",
66
+ description: "Generate a lightweight frontend spec plan.",
67
+ },
68
+ {
69
+ name: "ngm_test_validate_naming",
70
+ skill: "ngm-frontend-standard",
71
+ capability: "frontend-testing",
72
+ riskLevel: "read",
73
+ description: "Validate frontend test naming conventions.",
74
+ },
75
+ {
76
+ name: "ngm_angular_validate_structure",
77
+ skill: "ngm-frontend-standard",
78
+ capability: "frontend-angular",
79
+ riskLevel: "read",
80
+ description: "Validate Angular directory structure.",
81
+ },
82
+ {
83
+ name: "ngm_angular_validate_component_naming",
84
+ skill: "ngm-frontend-standard",
85
+ capability: "frontend-angular",
86
+ riskLevel: "read",
87
+ description: "Validate Angular component naming.",
88
+ },
89
+ {
90
+ name: "ngm_angular_validate_component_boundary",
91
+ skill: "ngm-frontend-standard",
92
+ capability: "frontend-angular",
93
+ riskLevel: "read",
94
+ description: "Detect large components, obvious any usage, and hardcoded API URLs.",
95
+ },
96
+ {
97
+ name: "ngm_review_scan_changed_files",
98
+ skill: "ngm-frontend-standard",
99
+ capability: "frontend-review",
100
+ riskLevel: "read",
101
+ description: "Read changed files for review workflows.",
102
+ },
103
+ {
104
+ name: "ngm_review_generate_checklist",
105
+ skill: "ngm-frontend-standard",
106
+ capability: "frontend-review",
107
+ riskLevel: "read",
108
+ description: "Generate frontend review checklist.",
109
+ },
110
+ {
111
+ name: "ngm_review_detect_risks",
112
+ skill: "ngm-frontend-standard",
113
+ capability: "frontend-review",
114
+ riskLevel: "read",
115
+ description: "Detect lightweight review risks in changed files.",
116
+ },
117
+ {
118
+ name: "ngm_review_generate_report",
119
+ skill: "ngm-frontend-standard",
120
+ capability: "frontend-review",
121
+ riskLevel: "write",
122
+ description: "Preview or write frontend review report under .ng-manager/frontend-tasks/{taskId}/review-report.md.",
123
+ },
124
+ {
125
+ name: "ngm_workflow_create_frontend_task",
126
+ skill: "ngm-frontend-standard",
127
+ capability: "frontend-workflow",
128
+ riskLevel: "write",
129
+ description: "Preview or create frontend workflow task metadata.",
130
+ },
131
+ {
132
+ name: "ngm_workflow_generate_dev_plan",
133
+ skill: "ngm-frontend-standard",
134
+ capability: "frontend-workflow",
135
+ riskLevel: "write",
136
+ description: "Preview or write frontend workflow dev plan.",
137
+ },
138
+ {
139
+ name: "ngm_workflow_advance_status",
140
+ skill: "ngm-frontend-standard",
141
+ capability: "frontend-workflow",
142
+ riskLevel: "write",
143
+ description: "Preview or advance a frontend workflow task status through controlled transitions.",
144
+ },
145
+ {
146
+ name: "ngm_workflow_validate_before_write",
147
+ skill: "ngm-frontend-standard",
148
+ capability: "frontend-workflow",
149
+ riskLevel: "write",
150
+ description: "Preview or persist frontend project checks before AI writes source changes.",
151
+ },
152
+ {
153
+ name: "ngm_workflow_validate_before_commit",
154
+ skill: "ngm-frontend-standard",
155
+ capability: "frontend-workflow",
156
+ riskLevel: "write",
157
+ description: "Preview or persist frontend standard/test/review/Git checks before commit.",
158
+ },
159
+ {
160
+ name: "ngm_workflow_generate_delivery_report",
161
+ skill: "ngm-frontend-standard",
162
+ capability: "frontend-workflow",
163
+ riskLevel: "write",
164
+ description: "Preview or write frontend workflow delivery report.",
165
+ },
166
+ ];
@@ -0,0 +1,2 @@
1
+ import type { ToolCatalogEntry } from "../types";
2
+ export declare const hubV2ApiTools: ToolCatalogEntry[];
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hubV2ApiTools = void 0;
4
+ exports.hubV2ApiTools = [
5
+ {
6
+ name: "hub_v2_projects_list",
7
+ skill: "hub-v2-api",
8
+ capability: "hub-v2",
9
+ riskLevel: "read",
10
+ description: "List configured Hub V2 projects.",
11
+ },
12
+ {
13
+ name: "hub_v2_projects_get",
14
+ skill: "hub-v2-api",
15
+ capability: "hub-v2",
16
+ riskLevel: "read",
17
+ description: "Get one configured Hub V2 project.",
18
+ },
19
+ {
20
+ name: "hub_v2_project_members_list",
21
+ skill: "hub-v2-api",
22
+ capability: "hub-v2",
23
+ riskLevel: "read",
24
+ description: "List Hub V2 project members.",
25
+ },
26
+ {
27
+ name: "hub_v2_issues_list",
28
+ skill: "hub-v2-api",
29
+ capability: "hub-v2",
30
+ riskLevel: "read",
31
+ description: "List Hub V2 issues.",
32
+ },
33
+ {
34
+ name: "hub_v2_issues_get",
35
+ skill: "hub-v2-api",
36
+ capability: "hub-v2",
37
+ riskLevel: "read",
38
+ description: "Get one Hub V2 issue.",
39
+ },
40
+ {
41
+ name: "hub_v2_issues_create",
42
+ skill: "hub-v2-api",
43
+ capability: "hub-v2",
44
+ riskLevel: "write",
45
+ description: "Preview or create a Hub V2 issue with explicit confirmation.",
46
+ },
47
+ {
48
+ name: "hub_v2_issues_comment",
49
+ skill: "hub-v2-api",
50
+ capability: "hub-v2",
51
+ riskLevel: "write",
52
+ description: "Preview or add a Hub V2 issue comment with explicit confirmation.",
53
+ },
54
+ {
55
+ name: "hub_v2_issues_assign",
56
+ skill: "hub-v2-api",
57
+ capability: "hub-v2",
58
+ riskLevel: "write",
59
+ description: "Preview or assign a Hub V2 issue with explicit confirmation.",
60
+ },
61
+ {
62
+ name: "hub_v2_issues_update",
63
+ skill: "hub-v2-api",
64
+ capability: "hub-v2",
65
+ riskLevel: "write",
66
+ description: "Preview or update a Hub V2 issue with explicit confirmation.",
67
+ },
68
+ {
69
+ name: "hub_v2_upload_markdown_image",
70
+ skill: "hub-v2-api",
71
+ capability: "hub-v2",
72
+ riskLevel: "write",
73
+ description: "Preview or upload a Markdown image for Hub V2 write workflows.",
74
+ },
75
+ {
76
+ name: "hub_v2_rd_list",
77
+ skill: "hub-v2-api",
78
+ capability: "hub-v2",
79
+ riskLevel: "read",
80
+ description: "List Hub V2 RD items.",
81
+ },
82
+ {
83
+ name: "hub_v2_rd_get",
84
+ skill: "hub-v2-api",
85
+ capability: "hub-v2",
86
+ riskLevel: "read",
87
+ description: "Get one Hub V2 RD item.",
88
+ },
89
+ {
90
+ name: "hub_v2_rd_stage_tasks_list",
91
+ skill: "hub-v2-api",
92
+ capability: "hub-v2",
93
+ riskLevel: "read",
94
+ description: "List stage tasks for one Hub V2 RD item.",
95
+ },
96
+ {
97
+ name: "hub_v2_rd_create",
98
+ skill: "hub-v2-api",
99
+ capability: "hub-v2",
100
+ riskLevel: "write",
101
+ description: "Preview or create a Hub V2 RD item with explicit confirmation.",
102
+ },
103
+ {
104
+ name: "hub_v2_rd_advance_stage",
105
+ skill: "hub-v2-api",
106
+ capability: "hub-v2",
107
+ riskLevel: "write",
108
+ description: "Preview or advance a Hub V2 RD stage with explicit confirmation.",
109
+ },
110
+ {
111
+ name: "hub_v2_rd_stage_tasks_create",
112
+ skill: "hub-v2-api",
113
+ capability: "hub-v2",
114
+ riskLevel: "write",
115
+ description: "Preview or create Hub V2 RD stage tasks with explicit confirmation.",
116
+ },
117
+ {
118
+ name: "hub_v2_rd_update_progress",
119
+ skill: "hub-v2-api",
120
+ capability: "hub-v2",
121
+ riskLevel: "write",
122
+ description: "Preview or update Hub V2 RD progress with explicit confirmation.",
123
+ },
124
+ ];
@@ -0,0 +1,2 @@
1
+ import type { ToolCatalogEntry } from "../types";
2
+ export declare const hubV2DocsTools: ToolCatalogEntry[];
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hubV2DocsTools = void 0;
4
+ exports.hubV2DocsTools = [
5
+ {
6
+ name: "hub_v2_docs_list",
7
+ skill: "hub-v2-docs",
8
+ capability: "hub-v2",
9
+ riskLevel: "read",
10
+ description: "List Hub V2 project documents.",
11
+ },
12
+ {
13
+ name: "hub_v2_docs_get",
14
+ skill: "hub-v2-docs",
15
+ capability: "hub-v2",
16
+ riskLevel: "read",
17
+ description: "Read a Hub V2 project document by id.",
18
+ },
19
+ {
20
+ name: "hub_v2_docs_get_by_slug",
21
+ skill: "hub-v2-docs",
22
+ capability: "hub-v2",
23
+ riskLevel: "read",
24
+ description: "Read a Hub V2 project document by slug.",
25
+ },
26
+ {
27
+ name: "hub_v2_docs_create",
28
+ skill: "hub-v2-docs",
29
+ capability: "hub-v2",
30
+ riskLevel: "write",
31
+ description: "Preview or create a Hub V2 project document draft with explicit confirmation.",
32
+ },
33
+ {
34
+ name: "hub_v2_docs_update",
35
+ skill: "hub-v2-docs",
36
+ capability: "hub-v2",
37
+ riskLevel: "write",
38
+ description: "Preview or update a Hub V2 project document with explicit confirmation.",
39
+ },
40
+ ];
@@ -0,0 +1,2 @@
1
+ import type { ToolCatalogEntry } from "../types";
2
+ export declare const nginxTools: ToolCatalogEntry[];