@depup/angular__cli 21.2.7-depup.0 → 22.0.7-depup.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/README.md +12 -9
  2. package/bin/ng.js +10 -7
  3. package/changes.json +28 -16
  4. package/lib/cli/index.js +3 -5
  5. package/lib/cli/index.js.map +1 -1
  6. package/lib/config/schema.json +18 -392
  7. package/lib/config/workspace-schema.d.ts +5 -1
  8. package/lib/config/workspace-schema.js +1 -1
  9. package/lib/config/workspace-schema.js.map +1 -1
  10. package/package.json +64 -53
  11. package/src/command-builder/command-module.js +9 -2
  12. package/src/command-builder/command-module.js.map +1 -1
  13. package/src/commands/add/cli.d.ts +3 -0
  14. package/src/commands/add/cli.js +121 -50
  15. package/src/commands/add/cli.js.map +1 -1
  16. package/src/commands/mcp/cli.js +0 -4
  17. package/src/commands/mcp/cli.js.map +1 -1
  18. package/src/commands/mcp/devserver.d.ts +1 -1
  19. package/src/commands/mcp/devserver.js +5 -8
  20. package/src/commands/mcp/devserver.js.map +1 -1
  21. package/src/commands/mcp/host.d.ts +14 -12
  22. package/src/commands/mcp/host.js +139 -9
  23. package/src/commands/mcp/host.js.map +1 -1
  24. package/src/commands/mcp/mcp-server.d.ts +2 -160
  25. package/src/commands/mcp/mcp-server.js +56 -36
  26. package/src/commands/mcp/mcp-server.js.map +1 -1
  27. package/src/commands/mcp/resources/ai-tutor.md +5 -7
  28. package/src/commands/mcp/resources/best-practices.md +4 -2
  29. package/src/commands/mcp/tools/best-practices.js +9 -17
  30. package/src/commands/mcp/tools/best-practices.js.map +1 -1
  31. package/src/commands/mcp/tools/devserver/devserver-start.js +1 -0
  32. package/src/commands/mcp/tools/devserver/devserver-start.js.map +1 -1
  33. package/src/commands/mcp/tools/devserver/devserver-stop.js +1 -0
  34. package/src/commands/mcp/tools/devserver/devserver-stop.js.map +1 -1
  35. package/src/commands/mcp/tools/devserver/devserver-wait-for-build.js +1 -0
  36. package/src/commands/mcp/tools/devserver/devserver-wait-for-build.js.map +1 -1
  37. package/src/commands/mcp/tools/doc-search.js +11 -33
  38. package/src/commands/mcp/tools/doc-search.js.map +1 -1
  39. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-single-file.d.ts +2 -1
  40. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-single-file.js +5 -8
  41. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-single-file.js.map +1 -1
  42. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-test-file.d.ts +3 -2
  43. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-test-file.js +8 -8
  44. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-test-file.js.map +1 -1
  45. package/src/commands/mcp/tools/onpush-zoneless-migration/prompts.js +4 -4
  46. package/src/commands/mcp/tools/onpush-zoneless-migration/ts-utils.d.ts +2 -1
  47. package/src/commands/mcp/tools/onpush-zoneless-migration/ts-utils.js +2 -3
  48. package/src/commands/mcp/tools/onpush-zoneless-migration/ts-utils.js.map +1 -1
  49. package/src/commands/mcp/tools/onpush-zoneless-migration/zoneless-migration.d.ts +2 -1
  50. package/src/commands/mcp/tools/onpush-zoneless-migration/zoneless-migration.js +31 -44
  51. package/src/commands/mcp/tools/onpush-zoneless-migration/zoneless-migration.js.map +1 -1
  52. package/src/commands/mcp/tools/projects.d.ts +1 -0
  53. package/src/commands/mcp/tools/projects.js +37 -19
  54. package/src/commands/mcp/tools/projects.js.map +1 -1
  55. package/src/commands/mcp/tools/run-target/build-target-strategy.d.ts +14 -0
  56. package/src/commands/mcp/tools/run-target/build-target-strategy.js +53 -0
  57. package/src/commands/mcp/tools/run-target/build-target-strategy.js.map +1 -0
  58. package/src/commands/mcp/tools/run-target/generic-target-strategy.d.ts +14 -0
  59. package/src/commands/mcp/tools/run-target/generic-target-strategy.js +63 -0
  60. package/src/commands/mcp/tools/run-target/generic-target-strategy.js.map +1 -0
  61. package/src/commands/mcp/tools/run-target/options-serializer.d.ts +13 -0
  62. package/src/commands/mcp/tools/run-target/options-serializer.js +41 -0
  63. package/src/commands/mcp/tools/run-target/options-serializer.js.map +1 -0
  64. package/src/commands/mcp/tools/run-target/run-target.d.ts +34 -0
  65. package/src/commands/mcp/tools/run-target/run-target.js +69 -0
  66. package/src/commands/mcp/tools/run-target/run-target.js.map +1 -0
  67. package/src/commands/mcp/tools/run-target/strategy.d.ts +15 -0
  68. package/src/commands/mcp/tools/run-target/strategy.js +10 -0
  69. package/src/commands/mcp/tools/run-target/strategy.js.map +1 -0
  70. package/src/commands/mcp/tools/run-target/types.d.ts +39 -0
  71. package/src/commands/mcp/tools/run-target/types.js +41 -0
  72. package/src/commands/mcp/tools/run-target/types.js.map +1 -0
  73. package/src/commands/mcp/tools/run-target/unit-test-strategy.d.ts +14 -0
  74. package/src/commands/mcp/tools/run-target/unit-test-strategy.js +56 -0
  75. package/src/commands/mcp/tools/run-target/unit-test-strategy.js.map +1 -0
  76. package/src/commands/mcp/workspace-utils.d.ts +2 -1
  77. package/src/commands/mcp/workspace-utils.js +45 -3
  78. package/src/commands/mcp/workspace-utils.js.map +1 -1
  79. package/src/commands/update/cli.js +4 -3
  80. package/src/commands/update/cli.js.map +1 -1
  81. package/src/commands/update/schematic/index.js +262 -92
  82. package/src/commands/update/schematic/index.js.map +1 -1
  83. package/src/commands/update/schematic/schema.d.ts +4 -0
  84. package/src/commands/update/schematic/schema.js.map +1 -1
  85. package/src/commands/update/schematic/schema.json +4 -0
  86. package/src/commands/update/utilities/cli-version.js +1 -1
  87. package/src/commands/update/utilities/cli-version.js.map +1 -1
  88. package/src/commands/update/utilities/migration.js +5 -2
  89. package/src/commands/update/utilities/migration.js.map +1 -1
  90. package/src/commands/version/version-info.js +2 -8
  91. package/src/commands/version/version-info.js.map +1 -1
  92. package/src/package-managers/package-manager-descriptor.d.ts +15 -1
  93. package/src/package-managers/package-manager-descriptor.js +29 -0
  94. package/src/package-managers/package-manager-descriptor.js.map +1 -1
  95. package/src/package-managers/package-manager.d.ts +4 -0
  96. package/src/package-managers/package-manager.js +218 -36
  97. package/src/package-managers/package-manager.js.map +1 -1
  98. package/src/package-managers/parsers.d.ts +3 -21
  99. package/src/package-managers/parsers.js +83 -33
  100. package/src/package-managers/parsers.js.map +1 -1
  101. package/src/utilities/completion.js +1 -1
  102. package/src/utilities/completion.js.map +1 -1
  103. package/src/utilities/config.js +1 -2
  104. package/src/utilities/config.js.map +1 -1
  105. package/src/utilities/node-version.d.ts +21 -0
  106. package/src/utilities/node-version.js +65 -0
  107. package/src/utilities/node-version.js.map +1 -0
  108. package/src/utilities/package-metadata.d.ts +0 -10
  109. package/src/utilities/package-metadata.js +0 -62
  110. package/src/utilities/package-metadata.js.map +1 -1
  111. package/src/utilities/prompt.js +1 -1
  112. package/src/utilities/prompt.js.map +1 -1
  113. package/src/utilities/version.js +1 -1
  114. package/lib/code-examples.db +0 -0
  115. package/src/commands/mcp/tools/build.d.ts +0 -37
  116. package/src/commands/mcp/tools/build.js +0 -89
  117. package/src/commands/mcp/tools/build.js.map +0 -1
  118. package/src/commands/mcp/tools/e2e.d.ts +0 -44
  119. package/src/commands/mcp/tools/e2e.js +0 -87
  120. package/src/commands/mcp/tools/e2e.js.map +0 -1
  121. package/src/commands/mcp/tools/examples/database-discovery.d.ts +0 -34
  122. package/src/commands/mcp/tools/examples/database-discovery.js +0 -87
  123. package/src/commands/mcp/tools/examples/database-discovery.js.map +0 -1
  124. package/src/commands/mcp/tools/examples/database.d.ts +0 -35
  125. package/src/commands/mcp/tools/examples/database.js +0 -125
  126. package/src/commands/mcp/tools/examples/database.js.map +0 -1
  127. package/src/commands/mcp/tools/examples/index.d.ts +0 -26
  128. package/src/commands/mcp/tools/examples/index.js +0 -149
  129. package/src/commands/mcp/tools/examples/index.js.map +0 -1
  130. package/src/commands/mcp/tools/examples/query-escaper.d.ts +0 -20
  131. package/src/commands/mcp/tools/examples/query-escaper.js +0 -68
  132. package/src/commands/mcp/tools/examples/query-escaper.js.map +0 -1
  133. package/src/commands/mcp/tools/examples/runtime-database.d.ts +0 -10
  134. package/src/commands/mcp/tools/examples/runtime-database.js +0 -192
  135. package/src/commands/mcp/tools/examples/runtime-database.js.map +0 -1
  136. package/src/commands/mcp/tools/examples/schemas.d.ts +0 -29
  137. package/src/commands/mcp/tools/examples/schemas.js +0 -101
  138. package/src/commands/mcp/tools/examples/schemas.js.map +0 -1
  139. package/src/commands/mcp/tools/examples/utils.d.ts +0 -14
  140. package/src/commands/mcp/tools/examples/utils.js +0 -31
  141. package/src/commands/mcp/tools/examples/utils.js.map +0 -1
  142. package/src/commands/mcp/tools/modernize.d.ts +0 -43
  143. package/src/commands/mcp/tools/modernize.js +0 -165
  144. package/src/commands/mcp/tools/modernize.js.map +0 -1
  145. package/src/commands/mcp/tools/test.d.ts +0 -35
  146. package/src/commands/mcp/tools/test.js +0 -79
  147. package/src/commands/mcp/tools/test.js.map +0 -1
@@ -5,7 +5,7 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
- import type { Host } from './host';
8
+ import { type Host } from './host';
9
9
  export type BuildStatus = 'success' | 'failure' | 'unknown';
10
10
  /**
11
11
  * An Angular development server managed by the MCP server.
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.LocalDevserver = void 0;
11
11
  exports.getDevserverKey = getDevserverKey;
12
12
  exports.createDevServerNotFoundError = createDevServerNotFoundError;
13
+ const host_1 = require("./host");
13
14
  // Log messages that we want to catch to identify the build status.
14
15
  const BUILD_SUCCEEDED_MESSAGE = 'Application bundle generation complete.';
15
16
  const BUILD_FAILED_MESSAGE = 'Application bundle generation failed.';
@@ -51,17 +52,13 @@ class LocalDevserver {
51
52
  args.push(this.project);
52
53
  }
53
54
  args.push(`--port=${this.port}`);
54
- this.devserverProcess = this.host.spawn('ng', args, {
55
+ this.devserverProcess = this.host.startNgProcess(args, {
55
56
  stdio: 'pipe',
56
57
  cwd: this.workspacePath,
57
58
  });
58
- this.devserverProcess.stdout?.on('data', (data) => {
59
- this.addLog(data.toString());
60
- });
61
- this.devserverProcess.stderr?.on('data', (data) => {
62
- this.addLog(data.toString());
63
- });
64
- this.devserverProcess.stderr?.on('close', () => {
59
+ (0, host_1.processStreamLines)(this.devserverProcess.stdout, (line) => this.addLog(line));
60
+ (0, host_1.processStreamLines)(this.devserverProcess.stderr, (line) => this.addLog(line));
61
+ this.devserverProcess.on('close', () => {
65
62
  this.stop();
66
63
  });
67
64
  this.buildInProgress = true;
@@ -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,19 @@ 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;
98
+ /**
99
+ * Binds a readline interface to the given stream to process each line.
100
+ * Sanitizes lines by removing VT/ANSI control characters, trimming trailing whitespace,
101
+ * and preserving leading indentation.
102
+ */
103
+ export declare function processStreamLines(stream: NodeJS.ReadableStream | undefined | null, lineCallback: (line: string) => void): void;
@@ -8,6 +8,8 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.LocalWorkspaceHost = exports.CommandError = void 0;
11
+ exports.createRootRestrictedHost = createRootRestrictedHost;
12
+ exports.processStreamLines = processStreamLines;
11
13
  /**
12
14
  * @fileoverview
13
15
  * This file defines an abstraction layer for operating-system or file-system operations, such as
@@ -16,9 +18,13 @@ exports.LocalWorkspaceHost = exports.CommandError = void 0;
16
18
  */
17
19
  const fs_1 = require("fs");
18
20
  const node_child_process_1 = require("node:child_process");
21
+ const node_fs_1 = require("node:fs");
19
22
  const promises_1 = require("node:fs/promises");
20
23
  const node_module_1 = require("node:module");
21
24
  const node_net_1 = require("node:net");
25
+ const node_path_1 = require("node:path");
26
+ const node_readline_1 = require("node:readline");
27
+ const node_util_1 = require("node:util");
22
28
  /**
23
29
  * An error thrown when a command fails to execute.
24
30
  */
@@ -32,6 +38,29 @@ class CommandError extends Error {
32
38
  }
33
39
  }
34
40
  exports.CommandError = CommandError;
41
+ function resolveNgCommand(args, cwd) {
42
+ const defaultCommand = { command: 'ng', args };
43
+ if (!cwd) {
44
+ return defaultCommand;
45
+ }
46
+ try {
47
+ const workspaceRequire = (0, node_module_1.createRequire)((0, node_path_1.join)(cwd, 'package.json'));
48
+ const pkgJsonPath = workspaceRequire.resolve('@angular/cli/package.json');
49
+ const pkgJson = workspaceRequire(pkgJsonPath);
50
+ const binPath = typeof pkgJson.bin === 'string' ? pkgJson.bin : pkgJson.bin?.['ng'];
51
+ if (binPath) {
52
+ const ngJsPath = (0, node_path_1.resolve)((0, node_path_1.dirname)(pkgJsonPath), binPath);
53
+ return {
54
+ command: process.execPath,
55
+ args: [ngJsPath, ...args],
56
+ };
57
+ }
58
+ }
59
+ catch {
60
+ // Failed to resolve the CLI binary, fall back to assuming `ng` is on PATH.
61
+ }
62
+ return defaultCommand;
63
+ }
35
64
  /**
36
65
  * A concrete implementation of the `Host` interface that runs on a local workspace.
37
66
  */
@@ -42,13 +71,11 @@ exports.LocalWorkspaceHost = {
42
71
  glob: function (pattern, options) {
43
72
  return (0, promises_1.glob)(pattern, { ...options, withFileTypes: true });
44
73
  },
45
- resolveModule(request, from) {
46
- return (0, node_module_1.createRequire)(from).resolve(request);
47
- },
48
- runCommand: async (command, args, options = {}) => {
74
+ executeNgCommand: async (args, options = {}) => {
75
+ const resolved = resolveNgCommand(args, options.cwd);
49
76
  const signal = options.timeout ? AbortSignal.timeout(options.timeout) : undefined;
50
77
  return new Promise((resolve, reject) => {
51
- const childProcess = (0, node_child_process_1.spawn)(command, args, {
78
+ const childProcess = (0, node_child_process_1.spawn)(resolved.command, resolved.args, {
52
79
  shell: false,
53
80
  stdio: options.stdio ?? 'pipe',
54
81
  signal,
@@ -59,8 +86,8 @@ exports.LocalWorkspaceHost = {
59
86
  },
60
87
  });
61
88
  const logs = [];
62
- childProcess.stdout?.on('data', (data) => logs.push(data.toString()));
63
- childProcess.stderr?.on('data', (data) => logs.push(data.toString()));
89
+ processStreamLines(childProcess.stdout, (line) => logs.push(line));
90
+ processStreamLines(childProcess.stderr, (line) => logs.push(line));
64
91
  childProcess.on('close', (code) => {
65
92
  if (code === 0) {
66
93
  resolve({ logs });
@@ -81,8 +108,9 @@ exports.LocalWorkspaceHost = {
81
108
  });
82
109
  });
83
110
  },
84
- spawn(command, args, options = {}) {
85
- return (0, node_child_process_1.spawn)(command, args, {
111
+ startNgProcess(args, options = {}) {
112
+ const resolved = resolveNgCommand(args, options.cwd);
113
+ return (0, node_child_process_1.spawn)(resolved.command, resolved.args, {
86
114
  shell: false,
87
115
  stdio: options.stdio ?? 'pipe',
88
116
  cwd: options.cwd,
@@ -125,5 +153,107 @@ exports.LocalWorkspaceHost = {
125
153
  });
126
154
  });
127
155
  },
156
+ setRoots(roots) {
157
+ // LocalWorkspaceHost does not enforce roots, so this is a no-op.
158
+ },
128
159
  };
160
+ function createRootRestrictedHost(baseHost, initialRoots = [process.cwd()]) {
161
+ let roots = initialRoots;
162
+ function checkPath(path) {
163
+ const resolvedPath = (0, node_path_1.resolve)(path);
164
+ let realPath;
165
+ try {
166
+ realPath = (0, node_fs_1.realpathSync)(resolvedPath);
167
+ }
168
+ catch (e) {
169
+ if (e.code === 'ENOENT') {
170
+ // Path does not exist. Find the first existing ancestor.
171
+ let current = resolvedPath;
172
+ while (current) {
173
+ try {
174
+ realPath = (0, node_fs_1.realpathSync)(current);
175
+ break;
176
+ }
177
+ catch (err) {
178
+ if (err.code !== 'ENOENT') {
179
+ throw err;
180
+ }
181
+ const parent = (0, node_path_1.dirname)(current);
182
+ if (parent === current) {
183
+ // Reached filesystem root
184
+ throw err;
185
+ }
186
+ current = parent;
187
+ }
188
+ }
189
+ }
190
+ else {
191
+ throw e;
192
+ }
193
+ }
194
+ const isAllowed = roots.some((root) => {
195
+ const rel = (0, node_path_1.relative)(root, realPath);
196
+ return !rel.startsWith('..') && !(0, node_path_1.isAbsolute)(rel);
197
+ });
198
+ if (!isAllowed) {
199
+ throw new Error(`Access denied: path '${path}' is outside allowed roots.`);
200
+ }
201
+ }
202
+ return {
203
+ ...baseHost,
204
+ setRoots(newRoots) {
205
+ roots = newRoots;
206
+ },
207
+ stat(path) {
208
+ checkPath(path);
209
+ return baseHost.stat(path);
210
+ },
211
+ existsSync(path) {
212
+ checkPath(path);
213
+ return baseHost.existsSync(path);
214
+ },
215
+ readFile(path, encoding) {
216
+ checkPath(path);
217
+ return baseHost.readFile(path, encoding);
218
+ },
219
+ glob(pattern, options) {
220
+ if (pattern.includes('..')) {
221
+ throw new Error(`Access denied: glob pattern '${pattern}' contains path traversal sequences.`);
222
+ }
223
+ checkPath(options.cwd);
224
+ const firstWildcardIndex = pattern.search(/[*?[{]/);
225
+ const basePath = firstWildcardIndex >= 0 ? pattern.substring(0, firstWildcardIndex) : pattern;
226
+ const targetDir = (0, node_path_1.resolve)(options.cwd, basePath);
227
+ checkPath(targetDir);
228
+ return baseHost.glob(pattern, options);
229
+ },
230
+ executeNgCommand(args, options = {}) {
231
+ const effectiveCwd = options?.cwd ?? process.cwd();
232
+ checkPath(effectiveCwd);
233
+ return baseHost.executeNgCommand(args, options);
234
+ },
235
+ startNgProcess(args, options = {}) {
236
+ const effectiveCwd = options?.cwd ?? process.cwd();
237
+ checkPath(effectiveCwd);
238
+ return baseHost.startNgProcess(args, options);
239
+ },
240
+ };
241
+ }
242
+ /**
243
+ * Binds a readline interface to the given stream to process each line.
244
+ * Sanitizes lines by removing VT/ANSI control characters, trimming trailing whitespace,
245
+ * and preserving leading indentation.
246
+ */
247
+ function processStreamLines(stream, lineCallback) {
248
+ if (!stream) {
249
+ return;
250
+ }
251
+ const rl = (0, node_readline_1.createInterface)({ input: stream, terminal: false });
252
+ rl.on('line', (line) => {
253
+ const cleanLine = (0, node_util_1.stripVTControlCharacters)(line).trimEnd();
254
+ if (cleanLine.length > 0) {
255
+ lineCallback(cleanLine);
256
+ }
257
+ });
258
+ }
129
259
  //# 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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"}
@@ -12,171 +12,13 @@ import { type AnyMcpToolDeclaration } from './tools/tool-registry';
12
12
  * The set of tools that are available but not enabled by default.
13
13
  * These tools are considered experimental and may have limitations.
14
14
  */
15
- export declare const EXPERIMENTAL_TOOLS: readonly [import("./tools/tool-registry").McpToolDeclaration<{
16
- configuration: import("zod").ZodOptional<import("zod").ZodString>;
17
- workspace: import("zod").ZodOptional<import("zod").ZodString>;
18
- project: import("zod").ZodOptional<import("zod").ZodString>;
19
- }, {
20
- status: import("zod").ZodEnum<{
21
- success: "success";
22
- failure: "failure";
23
- }>;
24
- logs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
25
- path: import("zod").ZodOptional<import("zod").ZodString>;
26
- }>, import("./tools/tool-registry").McpToolDeclaration<{
27
- workspace: import("zod").ZodOptional<import("zod").ZodString>;
28
- project: import("zod").ZodOptional<import("zod").ZodString>;
29
- }, {
30
- status: import("zod").ZodEnum<{
31
- success: "success";
32
- failure: "failure";
33
- }>;
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
- }>, import("./tools/tool-registry").McpToolDeclaration<{
46
- filter: import("zod").ZodOptional<import("zod").ZodString>;
47
- workspace: import("zod").ZodOptional<import("zod").ZodString>;
48
- project: import("zod").ZodOptional<import("zod").ZodString>;
49
- }, {
50
- status: import("zod").ZodEnum<{
51
- success: "success";
52
- failure: "failure";
53
- }>;
54
- logs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
55
- }>, ...(import("./tools/tool-registry").McpToolDeclaration<{
56
- port: import("zod").ZodOptional<import("zod").ZodNumber>;
57
- workspace: import("zod").ZodOptional<import("zod").ZodString>;
58
- project: import("zod").ZodOptional<import("zod").ZodString>;
59
- }, {
60
- message: import("zod").ZodString;
61
- address: import("zod").ZodOptional<import("zod").ZodString>;
62
- }> | import("./tools/tool-registry").McpToolDeclaration<{
63
- workspace: import("zod").ZodOptional<import("zod").ZodString>;
64
- project: import("zod").ZodOptional<import("zod").ZodString>;
65
- }, {
66
- message: import("zod").ZodString;
67
- logs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
68
- }> | import("./tools/tool-registry").McpToolDeclaration<{
69
- timeout: import("zod").ZodDefault<import("zod").ZodNumber>;
70
- workspace: import("zod").ZodOptional<import("zod").ZodString>;
71
- project: import("zod").ZodOptional<import("zod").ZodString>;
72
- }, {
73
- status: import("zod").ZodEnum<{
74
- success: "success";
75
- timeout: "timeout";
76
- failure: "failure";
77
- unknown: "unknown";
78
- }>;
79
- logs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
80
- }>)[]];
15
+ export declare const EXPERIMENTAL_TOOLS: readonly AnyMcpToolDeclaration[];
81
16
  /**
82
17
  * Experimental tools that are grouped together under a single name.
83
18
  *
84
19
  * Used for enabling them as a group.
85
20
  */
86
- export declare const EXPERIMENTAL_TOOL_GROUPS: {
87
- all: readonly [import("./tools/tool-registry").McpToolDeclaration<{
88
- configuration: import("zod").ZodOptional<import("zod").ZodString>;
89
- workspace: import("zod").ZodOptional<import("zod").ZodString>;
90
- project: import("zod").ZodOptional<import("zod").ZodString>;
91
- }, {
92
- status: import("zod").ZodEnum<{
93
- success: "success";
94
- failure: "failure";
95
- }>;
96
- logs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
97
- path: import("zod").ZodOptional<import("zod").ZodString>;
98
- }>, import("./tools/tool-registry").McpToolDeclaration<{
99
- workspace: import("zod").ZodOptional<import("zod").ZodString>;
100
- project: import("zod").ZodOptional<import("zod").ZodString>;
101
- }, {
102
- status: import("zod").ZodEnum<{
103
- success: "success";
104
- failure: "failure";
105
- }>;
106
- 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
- }>, import("./tools/tool-registry").McpToolDeclaration<{
118
- filter: import("zod").ZodOptional<import("zod").ZodString>;
119
- workspace: import("zod").ZodOptional<import("zod").ZodString>;
120
- project: import("zod").ZodOptional<import("zod").ZodString>;
121
- }, {
122
- status: import("zod").ZodEnum<{
123
- success: "success";
124
- failure: "failure";
125
- }>;
126
- logs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
127
- }>, ...(import("./tools/tool-registry").McpToolDeclaration<{
128
- port: import("zod").ZodOptional<import("zod").ZodNumber>;
129
- workspace: import("zod").ZodOptional<import("zod").ZodString>;
130
- project: import("zod").ZodOptional<import("zod").ZodString>;
131
- }, {
132
- message: import("zod").ZodString;
133
- address: import("zod").ZodOptional<import("zod").ZodString>;
134
- }> | import("./tools/tool-registry").McpToolDeclaration<{
135
- workspace: import("zod").ZodOptional<import("zod").ZodString>;
136
- project: import("zod").ZodOptional<import("zod").ZodString>;
137
- }, {
138
- message: import("zod").ZodString;
139
- logs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
140
- }> | import("./tools/tool-registry").McpToolDeclaration<{
141
- timeout: import("zod").ZodDefault<import("zod").ZodNumber>;
142
- workspace: import("zod").ZodOptional<import("zod").ZodString>;
143
- project: import("zod").ZodOptional<import("zod").ZodString>;
144
- }, {
145
- status: import("zod").ZodEnum<{
146
- success: "success";
147
- timeout: "timeout";
148
- failure: "failure";
149
- unknown: "unknown";
150
- }>;
151
- logs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
152
- }>)[]];
153
- devserver: (import("./tools/tool-registry").McpToolDeclaration<{
154
- port: import("zod").ZodOptional<import("zod").ZodNumber>;
155
- workspace: import("zod").ZodOptional<import("zod").ZodString>;
156
- project: import("zod").ZodOptional<import("zod").ZodString>;
157
- }, {
158
- message: import("zod").ZodString;
159
- address: import("zod").ZodOptional<import("zod").ZodString>;
160
- }> | import("./tools/tool-registry").McpToolDeclaration<{
161
- workspace: import("zod").ZodOptional<import("zod").ZodString>;
162
- project: import("zod").ZodOptional<import("zod").ZodString>;
163
- }, {
164
- message: import("zod").ZodString;
165
- logs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
166
- }> | import("./tools/tool-registry").McpToolDeclaration<{
167
- timeout: import("zod").ZodDefault<import("zod").ZodNumber>;
168
- workspace: import("zod").ZodOptional<import("zod").ZodString>;
169
- project: import("zod").ZodOptional<import("zod").ZodString>;
170
- }, {
171
- status: import("zod").ZodEnum<{
172
- success: "success";
173
- timeout: "timeout";
174
- failure: "failure";
175
- unknown: "unknown";
176
- }>;
177
- logs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
178
- }>)[];
179
- };
21
+ export declare const EXPERIMENTAL_TOOL_GROUPS: Record<string, readonly AnyMcpToolDeclaration[]>;
180
22
  export declare function createMcpServer(options: {
181
23
  workspace?: AngularWorkspace;
182
24
  readOnly?: boolean;