@angular/cli 22.0.0-next.7 → 22.0.0-next.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.
Files changed (47) hide show
  1. package/bin/ng.js +2 -2
  2. package/lib/config/schema.json +5 -0
  3. package/lib/config/workspace-schema.d.ts +4 -0
  4. package/package.json +16 -16
  5. package/src/commands/mcp/devserver.js +1 -1
  6. package/src/commands/mcp/devserver.js.map +1 -1
  7. package/src/commands/mcp/host.d.ts +8 -12
  8. package/src/commands/mcp/host.js +96 -11
  9. package/src/commands/mcp/host.js.map +1 -1
  10. package/src/commands/mcp/mcp-server.d.ts +0 -20
  11. package/src/commands/mcp/mcp-server.js +38 -9
  12. package/src/commands/mcp/mcp-server.js.map +1 -1
  13. package/src/commands/mcp/tools/build.js +2 -1
  14. package/src/commands/mcp/tools/build.js.map +1 -1
  15. package/src/commands/mcp/tools/devserver/devserver-start.js +1 -0
  16. package/src/commands/mcp/tools/devserver/devserver-start.js.map +1 -1
  17. package/src/commands/mcp/tools/devserver/devserver-stop.js +1 -0
  18. package/src/commands/mcp/tools/devserver/devserver-stop.js.map +1 -1
  19. package/src/commands/mcp/tools/devserver/devserver-wait-for-build.js +1 -0
  20. package/src/commands/mcp/tools/devserver/devserver-wait-for-build.js.map +1 -1
  21. package/src/commands/mcp/tools/e2e.js +2 -1
  22. package/src/commands/mcp/tools/e2e.js.map +1 -1
  23. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-single-file.d.ts +2 -1
  24. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-single-file.js +2 -2
  25. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-single-file.js.map +1 -1
  26. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-test-file.d.ts +3 -2
  27. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-test-file.js +8 -8
  28. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-test-file.js.map +1 -1
  29. package/src/commands/mcp/tools/onpush-zoneless-migration/ts-utils.d.ts +2 -1
  30. package/src/commands/mcp/tools/onpush-zoneless-migration/ts-utils.js +2 -3
  31. package/src/commands/mcp/tools/onpush-zoneless-migration/ts-utils.js.map +1 -1
  32. package/src/commands/mcp/tools/onpush-zoneless-migration/zoneless-migration.d.ts +2 -1
  33. package/src/commands/mcp/tools/onpush-zoneless-migration/zoneless-migration.js +21 -21
  34. package/src/commands/mcp/tools/onpush-zoneless-migration/zoneless-migration.js.map +1 -1
  35. package/src/commands/mcp/tools/test.js +1 -1
  36. package/src/commands/mcp/tools/test.js.map +1 -1
  37. package/src/commands/mcp/workspace-utils.d.ts +2 -1
  38. package/src/commands/mcp/workspace-utils.js +43 -1
  39. package/src/commands/mcp/workspace-utils.js.map +1 -1
  40. package/src/package-managers/parsers.d.ts +0 -5
  41. package/src/package-managers/parsers.js +43 -1
  42. package/src/package-managers/parsers.js.map +1 -1
  43. package/src/utilities/node-version.js +1 -1
  44. package/src/utilities/version.js +1 -1
  45. package/src/commands/mcp/tools/modernize.d.ts +0 -43
  46. package/src/commands/mcp/tools/modernize.js +0 -165
  47. package/src/commands/mcp/tools/modernize.js.map +0 -1
package/bin/ng.js CHANGED
@@ -45,13 +45,13 @@ if (rawCommandName === '--get-yargs-completions' || rawCommandName === 'completi
45
45
  // These would then crash with a hard to diagnose error message.
46
46
  const [major] = process.versions.node.split('.', 1).map((part) => Number(part));
47
47
 
48
- if (major % 2 === 1) {
48
+ if (major === 23 || major === 25) {
49
49
  // Allow new odd numbered releases with a warning.
50
50
  console.warn(
51
51
  'Node.js version ' +
52
52
  process.version +
53
53
  ' detected.\n' +
54
- 'Odd numbered Node.js versions will not enter LTS status and should not be used for production.' +
54
+ 'Prior to version 27, odd numbered Node.js versions will not enter LTS status and should not be used for production.' +
55
55
  ' For more information, please see https://nodejs.org/en/about/previous-releases/.',
56
56
  );
57
57
 
@@ -1948,6 +1948,11 @@
1948
1948
  "type": "boolean",
1949
1949
  "default": true,
1950
1950
  "description": "When true, the 'type' option will be appended to the generated class name. When false, only the file name will include the type."
1951
+ },
1952
+ "injectable": {
1953
+ "type": "boolean",
1954
+ "default": false,
1955
+ "description": "When true, generates an `@Injectable` instead of `@Service`."
1951
1956
  }
1952
1957
  }
1953
1958
  },
@@ -969,6 +969,10 @@ export type AngularServiceOptionsSchema = {
969
969
  * folder with the service's name will be created to contain the files.
970
970
  */
971
971
  flat?: boolean;
972
+ /**
973
+ * When true, generates an `@Injectable` instead of `@Service`.
974
+ */
975
+ injectable?: boolean;
972
976
  /**
973
977
  * The name for the new service. This will be used to create the service's class and spec
974
978
  * files (e.g., `my-service.service.ts` and `my-service.service.spec.ts`).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/cli",
3
- "version": "22.0.0-next.7",
3
+ "version": "22.0.0-next.8",
4
4
  "description": "CLI tool for Angular",
5
5
  "main": "lib/cli/index.js",
6
6
  "bin": {
@@ -25,15 +25,15 @@
25
25
  },
26
26
  "homepage": "https://github.com/angular/angular-cli",
27
27
  "dependencies": {
28
- "@angular-devkit/architect": "0.2200.0-next.7",
29
- "@angular-devkit/core": "22.0.0-next.7",
30
- "@angular-devkit/schematics": "22.0.0-next.7",
28
+ "@angular-devkit/architect": "0.2200.0-next.8",
29
+ "@angular-devkit/core": "22.0.0-next.8",
30
+ "@angular-devkit/schematics": "22.0.0-next.8",
31
31
  "@inquirer/prompts": "8.4.2",
32
32
  "@listr2/prompt-adapter-inquirer": "4.2.3",
33
33
  "@modelcontextprotocol/sdk": "1.29.0",
34
- "@schematics/angular": "22.0.0-next.7",
34
+ "@schematics/angular": "22.0.0-next.8",
35
35
  "@yarnpkg/lockfile": "1.1.0",
36
- "algoliasearch": "5.50.2",
36
+ "algoliasearch": "5.52.1",
37
37
  "ini": "6.0.0",
38
38
  "jsonc-parser": "3.3.1",
39
39
  "listr2": "10.2.1",
@@ -42,24 +42,24 @@
42
42
  "parse5-html-rewriting-stream": "8.0.1",
43
43
  "semver": "7.7.4",
44
44
  "yargs": "18.0.0",
45
- "zod": "4.3.6"
45
+ "zod": "4.4.3"
46
46
  },
47
47
  "ng-update": {
48
48
  "migrations": "@schematics/angular/migrations/migration-collection.json",
49
49
  "packageGroup": {
50
- "@angular/cli": "22.0.0-next.7",
51
- "@angular/build": "22.0.0-next.7",
52
- "@angular/ssr": "22.0.0-next.7",
53
- "@angular-devkit/architect": "0.2200.0-next.7",
54
- "@angular-devkit/build-angular": "22.0.0-next.7",
55
- "@angular-devkit/build-webpack": "0.2200.0-next.7",
56
- "@angular-devkit/core": "22.0.0-next.7",
57
- "@angular-devkit/schematics": "22.0.0-next.7"
50
+ "@angular/cli": "22.0.0-next.8",
51
+ "@angular/build": "22.0.0-next.8",
52
+ "@angular/ssr": "22.0.0-next.8",
53
+ "@angular-devkit/architect": "0.2200.0-next.8",
54
+ "@angular-devkit/build-angular": "22.0.0-next.8",
55
+ "@angular-devkit/build-webpack": "0.2200.0-next.8",
56
+ "@angular-devkit/core": "22.0.0-next.8",
57
+ "@angular-devkit/schematics": "22.0.0-next.8"
58
58
  }
59
59
  },
60
60
  "packageManager": "pnpm@10.33.2",
61
61
  "engines": {
62
- "node": "^22.22.0 || >=24.13.1",
62
+ "node": "^22.22.0 || ^24.13.1 || >=26.0.0",
63
63
  "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
64
64
  "yarn": ">= 1.13.0"
65
65
  }
@@ -51,7 +51,7 @@ class LocalDevserver {
51
51
  args.push(this.project);
52
52
  }
53
53
  args.push(`--port=${this.port}`);
54
- this.devserverProcess = this.host.spawn('ng', args, {
54
+ this.devserverProcess = this.host.startNgProcess(args, {
55
55
  stdio: 'pipe',
56
56
  cwd: this.workspacePath,
57
57
  });
@@ -1 +1 @@
1
- {"version":3,"file":"devserver.js","sourceRoot":"","sources":["devserver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devserver.js","sourceRoot":"","sources":["devserver.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ export interface Host {
37
37
  * @param encoding The encoding to use.
38
38
  * @returns A promise that resolves to the file content.
39
39
  */
40
- readFile(path: string, encoding: 'utf-8'): Promise<string>;
40
+ readFile(path: string, encoding: BufferEncoding): Promise<string>;
41
41
  /**
42
42
  * Finds files matching a glob pattern.
43
43
  * @param pattern The glob pattern.
@@ -51,22 +51,14 @@ export interface Host {
51
51
  parentPath: string;
52
52
  isFile(): boolean;
53
53
  }>;
54
- /**
55
- * Resolves a module request from a given path.
56
- * @param request The module request to resolve.
57
- * @param from The path from which to resolve the request.
58
- * @returns The resolved module path.
59
- */
60
- resolveModule(request: string, from: string): string;
61
54
  /**
62
55
  * Spawns a child process and returns a promise that resolves with the process's
63
56
  * output or rejects with a structured error.
64
- * @param command The command to run.
65
57
  * @param args The arguments to pass to the command.
66
58
  * @param options Options for the child process.
67
59
  * @returns A promise that resolves with the standard output and standard error of the command.
68
60
  */
69
- runCommand(command: string, args: readonly string[], options?: {
61
+ executeNgCommand(args: readonly string[], options?: {
70
62
  timeout?: number;
71
63
  stdio?: 'pipe' | 'ignore';
72
64
  cwd?: string;
@@ -76,12 +68,11 @@ export interface Host {
76
68
  }>;
77
69
  /**
78
70
  * Spawns a long-running child process and returns the `ChildProcess` object.
79
- * @param command The command to run.
80
71
  * @param args The arguments to pass to the command.
81
72
  * @param options Options for the child process.
82
73
  * @returns The spawned `ChildProcess` instance.
83
74
  */
84
- spawn(command: string, args: readonly string[], options?: {
75
+ startNgProcess(args: readonly string[], options?: {
85
76
  stdio?: 'pipe' | 'ignore';
86
77
  cwd?: string;
87
78
  env?: Record<string, string>;
@@ -94,8 +85,13 @@ export interface Host {
94
85
  * Checks whether a TCP port is available on the system.
95
86
  */
96
87
  isPortAvailable(port: number): Promise<boolean>;
88
+ /**
89
+ * Sets the allowed roots for this host.
90
+ */
91
+ setRoots(roots: string[]): void;
97
92
  }
98
93
  /**
99
94
  * A concrete implementation of the `Host` interface that runs on a local workspace.
100
95
  */
101
96
  export declare const LocalWorkspaceHost: Host;
97
+ export declare function createRootRestrictedHost(baseHost: Host, initialRoots?: string[]): Host;
@@ -8,6 +8,7 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.LocalWorkspaceHost = exports.CommandError = void 0;
11
+ exports.createRootRestrictedHost = createRootRestrictedHost;
11
12
  /**
12
13
  * @fileoverview
13
14
  * This file defines an abstraction layer for operating-system or file-system operations, such as
@@ -16,6 +17,7 @@ exports.LocalWorkspaceHost = exports.CommandError = void 0;
16
17
  */
17
18
  const fs_1 = require("fs");
18
19
  const node_child_process_1 = require("node:child_process");
20
+ const node_fs_1 = require("node:fs");
19
21
  const promises_1 = require("node:fs/promises");
20
22
  const node_module_1 = require("node:module");
21
23
  const node_net_1 = require("node:net");
@@ -33,9 +35,10 @@ class CommandError extends Error {
33
35
  }
34
36
  }
35
37
  exports.CommandError = CommandError;
36
- function resolveCommand(command, args, cwd) {
37
- if (command !== 'ng' || !cwd) {
38
- return { command, args };
38
+ function resolveNgCommand(args, cwd) {
39
+ const defaultCommand = { command: 'ng', args };
40
+ if (!cwd) {
41
+ return defaultCommand;
39
42
  }
40
43
  try {
41
44
  const workspaceRequire = (0, node_module_1.createRequire)((0, node_path_1.join)(cwd, 'package.json'));
@@ -53,7 +56,7 @@ function resolveCommand(command, args, cwd) {
53
56
  catch {
54
57
  // Failed to resolve the CLI binary, fall back to assuming `ng` is on PATH.
55
58
  }
56
- return { command, args };
59
+ return defaultCommand;
57
60
  }
58
61
  /**
59
62
  * A concrete implementation of the `Host` interface that runs on a local workspace.
@@ -65,11 +68,8 @@ exports.LocalWorkspaceHost = {
65
68
  glob: function (pattern, options) {
66
69
  return (0, promises_1.glob)(pattern, { ...options, withFileTypes: true });
67
70
  },
68
- resolveModule(request, from) {
69
- return (0, node_module_1.createRequire)(from).resolve(request);
70
- },
71
- runCommand: async (command, args, options = {}) => {
72
- const resolved = resolveCommand(command, args, options.cwd);
71
+ executeNgCommand: async (args, options = {}) => {
72
+ const resolved = resolveNgCommand(args, options.cwd);
73
73
  const signal = options.timeout ? AbortSignal.timeout(options.timeout) : undefined;
74
74
  return new Promise((resolve, reject) => {
75
75
  const childProcess = (0, node_child_process_1.spawn)(resolved.command, resolved.args, {
@@ -105,8 +105,8 @@ exports.LocalWorkspaceHost = {
105
105
  });
106
106
  });
107
107
  },
108
- spawn(command, args, options = {}) {
109
- const resolved = resolveCommand(command, args, options.cwd);
108
+ startNgProcess(args, options = {}) {
109
+ const resolved = resolveNgCommand(args, options.cwd);
110
110
  return (0, node_child_process_1.spawn)(resolved.command, resolved.args, {
111
111
  shell: false,
112
112
  stdio: options.stdio ?? 'pipe',
@@ -150,5 +150,90 @@ exports.LocalWorkspaceHost = {
150
150
  });
151
151
  });
152
152
  },
153
+ setRoots(roots) {
154
+ // LocalWorkspaceHost does not enforce roots, so this is a no-op.
155
+ },
153
156
  };
157
+ function createRootRestrictedHost(baseHost, initialRoots = [process.cwd()]) {
158
+ let roots = initialRoots;
159
+ function checkPath(path) {
160
+ const resolvedPath = (0, node_path_1.resolve)(path);
161
+ let realPath;
162
+ try {
163
+ realPath = (0, node_fs_1.realpathSync)(resolvedPath);
164
+ }
165
+ catch (e) {
166
+ if (e.code === 'ENOENT') {
167
+ // Path does not exist. Find the first existing ancestor.
168
+ let current = resolvedPath;
169
+ while (current) {
170
+ try {
171
+ realPath = (0, node_fs_1.realpathSync)(current);
172
+ break;
173
+ }
174
+ catch (err) {
175
+ if (err.code !== 'ENOENT') {
176
+ throw err;
177
+ }
178
+ const parent = (0, node_path_1.dirname)(current);
179
+ if (parent === current) {
180
+ // Reached filesystem root
181
+ throw err;
182
+ }
183
+ current = parent;
184
+ }
185
+ }
186
+ }
187
+ else {
188
+ throw e;
189
+ }
190
+ }
191
+ const isAllowed = roots.some((root) => {
192
+ const rel = (0, node_path_1.relative)(root, realPath);
193
+ return !rel.startsWith('..') && !(0, node_path_1.isAbsolute)(rel);
194
+ });
195
+ if (!isAllowed) {
196
+ throw new Error(`Access denied: path '${path}' is outside allowed roots.`);
197
+ }
198
+ }
199
+ return {
200
+ ...baseHost,
201
+ setRoots(newRoots) {
202
+ roots = newRoots;
203
+ },
204
+ stat(path) {
205
+ checkPath(path);
206
+ return baseHost.stat(path);
207
+ },
208
+ existsSync(path) {
209
+ checkPath(path);
210
+ return baseHost.existsSync(path);
211
+ },
212
+ readFile(path, encoding) {
213
+ checkPath(path);
214
+ return baseHost.readFile(path, encoding);
215
+ },
216
+ glob(pattern, options) {
217
+ if (pattern.includes('..')) {
218
+ throw new Error(`Access denied: glob pattern '${pattern}' contains path traversal sequences.`);
219
+ }
220
+ checkPath(options.cwd);
221
+ const firstWildcardIndex = pattern.search(/[*?[{]/);
222
+ const basePath = firstWildcardIndex >= 0 ? pattern.substring(0, firstWildcardIndex) : pattern;
223
+ const targetDir = (0, node_path_1.resolve)(options.cwd, basePath);
224
+ checkPath(targetDir);
225
+ return baseHost.glob(pattern, options);
226
+ },
227
+ executeNgCommand(args, options = {}) {
228
+ const effectiveCwd = options?.cwd ?? process.cwd();
229
+ checkPath(effectiveCwd);
230
+ return baseHost.executeNgCommand(args, options);
231
+ },
232
+ startNgProcess(args, options = {}) {
233
+ const effectiveCwd = options?.cwd ?? process.cwd();
234
+ checkPath(effectiveCwd);
235
+ return baseHost.startNgProcess(args, options);
236
+ },
237
+ };
238
+ }
154
239
  //# sourceMappingURL=host.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["host.ts"],"names":[],"mappings":"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"}
@@ -32,16 +32,6 @@ export declare const EXPERIMENTAL_TOOLS: readonly [import("./tools/tool-registry
32
32
  failure: "failure";
33
33
  }>;
34
34
  logs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
35
- }>, import("./tools/tool-registry").McpToolDeclaration<{
36
- transformations: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEnum<{
37
- [x: string]: string;
38
- }>>>;
39
- path: import("zod").ZodOptional<import("zod").ZodString>;
40
- workspace: import("zod").ZodOptional<import("zod").ZodString>;
41
- project: import("zod").ZodOptional<import("zod").ZodString>;
42
- }, {
43
- instructions: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
44
- logs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
45
35
  }>, import("./tools/tool-registry").McpToolDeclaration<{
46
36
  filter: import("zod").ZodOptional<import("zod").ZodString>;
47
37
  workspace: import("zod").ZodOptional<import("zod").ZodString>;
@@ -104,16 +94,6 @@ export declare const EXPERIMENTAL_TOOL_GROUPS: {
104
94
  failure: "failure";
105
95
  }>;
106
96
  logs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
107
- }>, import("./tools/tool-registry").McpToolDeclaration<{
108
- transformations: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEnum<{
109
- [x: string]: string;
110
- }>>>;
111
- path: import("zod").ZodOptional<import("zod").ZodString>;
112
- workspace: import("zod").ZodOptional<import("zod").ZodString>;
113
- project: import("zod").ZodOptional<import("zod").ZodString>;
114
- }, {
115
- instructions: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
116
- logs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
117
97
  }>, import("./tools/tool-registry").McpToolDeclaration<{
118
98
  filter: import("zod").ZodOptional<import("zod").ZodString>;
119
99
  workspace: import("zod").ZodOptional<import("zod").ZodString>;
@@ -11,7 +11,9 @@ exports.EXPERIMENTAL_TOOL_GROUPS = exports.EXPERIMENTAL_TOOLS = void 0;
11
11
  exports.createMcpServer = createMcpServer;
12
12
  exports.assembleToolDeclarations = assembleToolDeclarations;
13
13
  const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
14
+ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
14
15
  const node_path_1 = require("node:path");
16
+ const node_url_1 = require("node:url");
15
17
  const version_1 = require("../../utilities/version");
16
18
  const host_1 = require("./host");
17
19
  const instructions_1 = require("./resources/instructions");
@@ -23,7 +25,6 @@ const devserver_stop_1 = require("./tools/devserver/devserver-stop");
23
25
  const devserver_wait_for_build_1 = require("./tools/devserver/devserver-wait-for-build");
24
26
  const doc_search_1 = require("./tools/doc-search");
25
27
  const e2e_1 = require("./tools/e2e");
26
- const modernize_1 = require("./tools/modernize");
27
28
  const zoneless_migration_1 = require("./tools/onpush-zoneless-migration/zoneless-migration");
28
29
  const projects_1 = require("./tools/projects");
29
30
  const test_1 = require("./tools/test");
@@ -47,13 +48,7 @@ const STABLE_TOOLS = [
47
48
  * The set of tools that are available but not enabled by default.
48
49
  * These tools are considered experimental and may have limitations.
49
50
  */
50
- exports.EXPERIMENTAL_TOOLS = [
51
- build_1.BUILD_TOOL,
52
- e2e_1.E2E_TOOL,
53
- modernize_1.MODERNIZE_TOOL,
54
- test_1.TEST_TOOL,
55
- ...DEVSERVER_TOOLS,
56
- ];
51
+ exports.EXPERIMENTAL_TOOLS = [build_1.BUILD_TOOL, e2e_1.E2E_TOOL, test_1.TEST_TOOL, ...DEVSERVER_TOOLS];
57
52
  /**
58
53
  * Experimental tools that are grouped together under a single name.
59
54
  *
@@ -92,6 +87,12 @@ equivalent actions.
92
87
 
93
88
  * **3. Answer User Questions:**
94
89
  - For conceptual questions ("what is..."), use \`search_documentation\`.
90
+
91
+ * **4. Discover Schematics for Modernization:** Since this server does not provide a
92
+ specific tool for listing available schematics, you can use a shell command (if
93
+ available) with \`ng generate <package-name>: --help\` to discover what migrations
94
+ are available in a package (e.g., running \`ng generate @angular/core: --help\`
95
+ will list migrations like \`control-flow\` and \`standalone\`).
95
96
  </Core Workflows & Tool Guide>
96
97
 
97
98
  <Key Concepts>
@@ -107,12 +108,40 @@ equivalent actions.
107
108
  ...options,
108
109
  logger,
109
110
  });
111
+ const restrictedHost = (0, host_1.createRootRestrictedHost)(host_1.LocalWorkspaceHost);
112
+ server.server.oninitialized = () => {
113
+ void (async () => {
114
+ try {
115
+ const clientCapabilities = server.server.getClientCapabilities();
116
+ if (clientCapabilities?.roots) {
117
+ const { roots } = await server.server.listRoots();
118
+ const searchRoots = roots?.map((r) => (0, node_path_1.normalize)((0, node_url_1.fileURLToPath)(r.uri))) ?? [];
119
+ restrictedHost.setRoots(searchRoots);
120
+ if (clientCapabilities.roots.listChanged) {
121
+ server.server.setNotificationHandler(types_js_1.RootsListChangedNotificationSchema, async () => {
122
+ try {
123
+ const { roots: updatedRoots } = await server.server.listRoots();
124
+ const updatedSearchRoots = updatedRoots?.map((r) => (0, node_path_1.normalize)((0, node_url_1.fileURLToPath)(r.uri))) ?? [];
125
+ restrictedHost.setRoots(updatedSearchRoots);
126
+ }
127
+ catch (e) {
128
+ logger.warn(`Failed to update roots on notification: ${e instanceof Error ? e.message : e}`);
129
+ }
130
+ });
131
+ }
132
+ }
133
+ }
134
+ catch (e) {
135
+ logger.warn(`Failed to initialize roots on connection: ${e instanceof Error ? e.message : e}`);
136
+ }
137
+ })();
138
+ };
110
139
  await (0, tool_registry_1.registerTools)(server, {
111
140
  workspace: options.workspace,
112
141
  logger,
113
142
  exampleDatabasePath: (0, node_path_1.join)(__dirname, '../../../lib/code-examples.db'),
114
143
  devservers: new Map(),
115
- host: host_1.LocalWorkspaceHost,
144
+ host: restrictedHost,
116
145
  }, toolDeclarations);
117
146
  return server;
118
147
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["mcp-server.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ const buildToolOutputSchema = zod_1.z.object({
31
31
  async function runBuild(input, context) {
32
32
  const { workspacePath, projectName } = await (0, workspace_utils_1.resolveWorkspaceAndProject)({
33
33
  host: context.host,
34
+ server: context.server,
34
35
  workspacePathInput: input.workspace,
35
36
  projectNameInput: input.project,
36
37
  mcpWorkspace: context.workspace,
@@ -41,7 +42,7 @@ async function runBuild(input, context) {
41
42
  let logs;
42
43
  let outputPath;
43
44
  try {
44
- logs = (await context.host.runCommand('ng', args, { cwd: workspacePath })).logs;
45
+ logs = (await context.host.executeNgCommand(args, { cwd: workspacePath })).logs;
45
46
  }
46
47
  catch (e) {
47
48
  status = 'failure';
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["build.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,7 @@ function localhostAddress(port) {
36
36
  async function startDevserver(input, context) {
37
37
  const { workspacePath, projectName } = await (0, workspace_utils_1.resolveWorkspaceAndProject)({
38
38
  host: context.host,
39
+ server: context.server,
39
40
  workspacePathInput: input.workspace,
40
41
  projectNameInput: input.project,
41
42
  mcpWorkspace: context.workspace,
@@ -1 +1 @@
1
- {"version":3,"file":"devserver-start.js","sourceRoot":"","sources":["devserver-start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devserver-start.js","sourceRoot":"","sources":["devserver-start.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ const devserverStopToolOutputSchema = zod_1.z.object({
25
25
  async function stopDevserver(input, context) {
26
26
  const { workspacePath, projectName } = await (0, workspace_utils_1.resolveWorkspaceAndProject)({
27
27
  host: context.host,
28
+ server: context.server,
28
29
  workspacePathInput: input.workspace,
29
30
  projectNameInput: input.project,
30
31
  mcpWorkspace: context.workspace,
@@ -1 +1 @@
1
- {"version":3,"file":"devserver-stop.js","sourceRoot":"","sources":["devserver-stop.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAsBH,sCAqBC;AAzCD,6BAAwB;AACxB,+CAAgF;AAChF,yDAAkE;AAClE,uCAA4D;AAC5D,2DAAmE;AACnE,oDAA6F;AAE7F,MAAM,4BAA4B,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,GAAG,2CAA0B;CAC9B,CAAC,CAAC;AAIH,MAAM,6BAA6B,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IACjF,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CACpF,CAAC,CAAC;AAII,KAAK,UAAU,aAAa,CAAC,KAA6B,EAAE,OAAuB;IACxF,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,4CAA0B,EAAC;QACtE,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,kBAAkB,EAAE,KAAK,CAAC,SAAS;QACnC,gBAAgB,EAAE,KAAK,CAAC,OAAO;QAC/B,YAAY,EAAE,OAAO,CAAC,SAAS;KAChC,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,IAAA,2BAAe,EAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE9C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAA,wCAA4B,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC;IAED,SAAS,CAAC,IAAI,EAAE,CAAC;IACjB,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAE/B,OAAO,IAAA,qCAA6B,EAAC;QACnC,OAAO,EAAE,mCAAmC,WAAW,YAAY;QACnE,IAAI,EAAE,SAAS,CAAC,aAAa,EAAE;KAChC,CAAC,CAAC;AACL,CAAC;AAEY,QAAA,mBAAmB,GAG5B,IAAA,2BAAW,EAAC;IACd,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,yBAAyB;IAChC,WAAW,EAAE;;;;;;;;;;;;CAYd;IACC,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,4BAA4B,CAAC,KAAK;IAC/C,YAAY,EAAE,6BAA6B,CAAC,KAAK;IACjD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9B,OAAO,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"devserver-stop.js","sourceRoot":"","sources":["devserver-stop.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAsBH,sCAsBC;AA1CD,6BAAwB;AACxB,+CAAgF;AAChF,yDAAkE;AAClE,uCAA4D;AAC5D,2DAAmE;AACnE,oDAA6F;AAE7F,MAAM,4BAA4B,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,GAAG,2CAA0B;CAC9B,CAAC,CAAC;AAIH,MAAM,6BAA6B,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IACjF,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CACpF,CAAC,CAAC;AAII,KAAK,UAAU,aAAa,CAAC,KAA6B,EAAE,OAAuB;IACxF,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,4CAA0B,EAAC;QACtE,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,kBAAkB,EAAE,KAAK,CAAC,SAAS;QACnC,gBAAgB,EAAE,KAAK,CAAC,OAAO;QAC/B,YAAY,EAAE,OAAO,CAAC,SAAS;KAChC,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,IAAA,2BAAe,EAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE9C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAA,wCAA4B,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC;IAED,SAAS,CAAC,IAAI,EAAE,CAAC;IACjB,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAE/B,OAAO,IAAA,qCAA6B,EAAC;QACnC,OAAO,EAAE,mCAAmC,WAAW,YAAY;QACnE,IAAI,EAAE,SAAS,CAAC,aAAa,EAAE;KAChC,CAAC,CAAC;AACL,CAAC;AAEY,QAAA,mBAAmB,GAG5B,IAAA,2BAAW,EAAC;IACd,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,yBAAyB;IAChC,WAAW,EAAE;;;;;;;;;;;;CAYd;IACC,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,4BAA4B,CAAC,KAAK;IAC/C,YAAY,EAAE,6BAA6B,CAAC,KAAK;IACjD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9B,OAAO,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;CACF,CAAC,CAAC"}
@@ -45,6 +45,7 @@ function wait(ms) {
45
45
  async function waitForDevserverBuild(input, context) {
46
46
  const { workspacePath, projectName } = await (0, workspace_utils_1.resolveWorkspaceAndProject)({
47
47
  host: context.host,
48
+ server: context.server,
48
49
  workspacePathInput: input.workspace,
49
50
  projectNameInput: input.project,
50
51
  mcpWorkspace: context.workspace,
@@ -1 +1 @@
1
- {"version":3,"file":"devserver-wait-for-build.js","sourceRoot":"","sources":["devserver-wait-for-build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devserver-wait-for-build.js","sourceRoot":"","sources":["devserver-wait-for-build.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ const e2eToolOutputSchema = zod_1.z.object({
25
25
  async function runE2e(input, host, context) {
26
26
  const { workspacePath, workspace, projectName } = await (0, workspace_utils_1.resolveWorkspaceAndProject)({
27
27
  host,
28
+ server: context.server,
28
29
  workspacePathInput: input.workspace,
29
30
  projectNameInput: input.project,
30
31
  mcpWorkspace: context.workspace,
@@ -50,7 +51,7 @@ async function runE2e(input, host, context) {
50
51
  let status = 'success';
51
52
  let logs;
52
53
  try {
53
- logs = (await host.runCommand('ng', args, { cwd: workspacePath })).logs;
54
+ logs = (await host.executeNgCommand(args, { cwd: workspacePath })).logs;
54
55
  }
55
56
  catch (e) {
56
57
  status = 'failure';