@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
@@ -9,15 +9,14 @@
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.migrateTestFile = migrateTestFile;
11
11
  exports.searchForGlobalZoneless = searchForGlobalZoneless;
12
- const node_fs_1 = require("node:fs");
13
- const promises_1 = require("node:fs/promises");
12
+ const node_path_1 = require("node:path");
14
13
  const workspace_utils_1 = require("../../workspace-utils");
15
14
  const prompts_1 = require("./prompts");
16
15
  const ts_utils_1 = require("./ts-utils");
17
- async function migrateTestFile(sourceFile) {
16
+ async function migrateTestFile(sourceFile, host) {
18
17
  const ts = await (0, ts_utils_1.loadTypescript)();
19
18
  // Check if tests use zoneless either by default through `initTestEnvironment` or by explicitly calling `provideZonelessChangeDetection`.
20
- let testsUseZonelessChangeDetection = await searchForGlobalZoneless(sourceFile.fileName);
19
+ let testsUseZonelessChangeDetection = await searchForGlobalZoneless(sourceFile.fileName, host);
21
20
  if (!testsUseZonelessChangeDetection) {
22
21
  ts.forEachChild(sourceFile, function visit(node) {
23
22
  if (ts.isCallExpression(node) &&
@@ -35,17 +34,18 @@ async function migrateTestFile(sourceFile) {
35
34
  // At this point, tests are using zoneless, so we look for any explicit uses of `provideZoneChangeDetection` that need to be fixed.
36
35
  return (0, prompts_1.createFixResponseForZoneTests)(sourceFile);
37
36
  }
38
- async function searchForGlobalZoneless(startPath) {
39
- const angularJsonDir = (0, workspace_utils_1.findAngularJsonDir)(startPath);
37
+ async function searchForGlobalZoneless(startPath, host) {
38
+ const angularJsonDir = (0, workspace_utils_1.findAngularJsonDir)(startPath, host);
40
39
  if (!angularJsonDir) {
41
40
  // Cannot determine project root, fallback to original behavior or assume false.
42
41
  // For now, let's assume no global setup if angular.json is not found.
43
42
  return false;
44
43
  }
45
44
  try {
46
- const files = (0, promises_1.glob)(`${angularJsonDir}/**/*.ts`);
45
+ const files = host.glob('**/*.ts', { cwd: angularJsonDir });
47
46
  for await (const file of files) {
48
- const content = (0, node_fs_1.readFileSync)(file, 'utf-8');
47
+ const fullPath = (0, node_path_1.join)(file.parentPath, file.name);
48
+ const content = await host.readFile(fullPath, 'utf-8');
49
49
  if (content.includes('initTestEnvironment') &&
50
50
  content.includes('provideZonelessChangeDetection')) {
51
51
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-test-file.js","sourceRoot":"","sources":["migrate-test-file.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAWH,0CAyBC;AAED,0DAwBC;AA5DD,qCAAmD;AACnD,+CAAwC;AAGxC,2DAA2D;AAC3D,uCAAoG;AACpG,yCAA4C;AAGrC,KAAK,UAAU,eAAe,CAAC,UAAsB;IAC1D,MAAM,EAAE,GAAG,MAAM,IAAA,yBAAc,GAAE,CAAC;IAClC,yIAAyI;IACzI,IAAI,+BAA+B,GAAG,MAAM,uBAAuB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzF,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACrC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,KAAK,CAAC,IAAI;YAC7C,IACE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBACzB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,gCAAgC,EACxE,CAAC;gBACD,+BAA+B,GAAG,IAAI,CAAC;gBAEvC,OAAO;YACT,CAAC;YACD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACrC,sEAAsE;QACtE,OAAO,IAAA,kDAAwC,EAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACvE,CAAC;IAED,mIAAmI;IACnI,OAAO,IAAA,uCAA6B,EAAC,UAAU,CAAC,CAAC;AACnD,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAAC,SAAiB;IAC7D,MAAM,cAAc,GAAG,IAAA,oCAAkB,EAAC,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,gFAAgF;QAChF,sEAAsE;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAA,eAAI,EAAC,GAAG,cAAc,UAAU,CAAC,CAAC;QAChD,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAA,sBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5C,IACE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBACvC,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAClD,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"migrate-test-file.js","sourceRoot":"","sources":["migrate-test-file.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAUH,0CA4BC;AAED,0DAyBC;AA/DD,yCAAiC;AAGjC,2DAA2D;AAC3D,uCAAoG;AACpG,yCAA4C;AAGrC,KAAK,UAAU,eAAe,CACnC,UAAsB,EACtB,IAAU;IAEV,MAAM,EAAE,GAAG,MAAM,IAAA,yBAAc,GAAE,CAAC;IAClC,yIAAyI;IACzI,IAAI,+BAA+B,GAAG,MAAM,uBAAuB,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/F,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACrC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,KAAK,CAAC,IAAI;YAC7C,IACE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBACzB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,gCAAgC,EACxE,CAAC;gBACD,+BAA+B,GAAG,IAAI,CAAC;gBAEvC,OAAO;YACT,CAAC;YACD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACrC,sEAAsE;QACtE,OAAO,IAAA,kDAAwC,EAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACvE,CAAC;IAED,mIAAmI;IACnI,OAAO,IAAA,uCAA6B,EAAC,UAAU,CAAC,CAAC;AACnD,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAAC,SAAiB,EAAE,IAAU;IACzE,MAAM,cAAc,GAAG,IAAA,oCAAkB,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,gFAAgF;QAChF,sEAAsE;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC;QAC5D,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvD,IACE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBACvC,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAClD,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -124,11 +124,11 @@ function generateZonelessMigrationInstructionsForComponent(filePath) {
124
124
  * **(Preferred) Convert to Signal**: The best approach is to convert the property to an Angular Signal. This is the most idiomatic and future-proof way to handle state in zoneless applications.
125
125
  * **(Alternative) Use \`markForCheck()\`**: If converting to a signal is too complex or would require extensive refactoring, you can instead inject \`ChangeDetectorRef\` and call \`this.cdr.markForCheck()\` immediately after the property is updated.
126
126
 
127
- #### Step 2: Add \`ChangeDetectionStrategy.Default\`
127
+ #### Step 2: Add \`ChangeDetectionStrategy.Eager\`
128
128
  After you have refactored all necessary properties, you must update the component's decorator to explicitly set the change detection strategy.
129
129
 
130
130
  1. Add \`ChangeDetectionStrategy\` to the import from \`@angular/core\`.
131
- 2. In the \`@Component\` decorator, add the property \`changeDetection: ChangeDetectionStrategy.Default\`.
131
+ 2. In the \`@Component\` decorator, add the property \`changeDetection: ChangeDetectionStrategy.Eager\`.
132
132
  3. Add a \`// TODO\` comment above this line explaining that the component should be fully migrated to \`OnPush\` after the application has been tested with these changes.
133
133
 
134
134
  Example:
@@ -137,14 +137,14 @@ function generateZonelessMigrationInstructionsForComponent(filePath) {
137
137
  ...
138
138
  // TODO: This component has been partially migrated to be zoneless-compatible.
139
139
  // After testing, this should be updated to ChangeDetectionStrategy.OnPush.
140
- changeDetection: ChangeDetectionStrategy.Default,
140
+ changeDetection: ChangeDetectionStrategy.Eager,
141
141
  })
142
142
  \`\`\`
143
143
 
144
144
  ### IMPORTANT: Rules and Constraints
145
145
  You must follow these rules without exception:
146
146
  1. **DO** apply one of the two refactoring strategies (signals or \`markForCheck()\`) for all relevant component properties.
147
- 2. **DO** add \`changeDetection: ChangeDetectionStrategy.Default\` with the specified TODO comment as the final code change.
147
+ 2. **DO** add \`changeDetection: ChangeDetectionStrategy.Eager\` with the specified TODO comment as the final code change.
148
148
  3. **DO NOT** use \`ChangeDetectionStrategy.OnPush\`. This will be the next step in the migration, but it is not part of this task.
149
149
  4. **DO NOT** modify properties that are already signals or are used with the \`async\` pipe in the template, as they are already zoneless-compatible.
150
150
  5. **DO NOT** make any changes to files other than the component file at \`${filePath}\` and its direct template/style files if necessary.
@@ -6,6 +6,7 @@
6
6
  * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
8
  import type ts from 'typescript';
9
+ import type { Host } from '../../host';
9
10
  export declare function loadTypescript(): Promise<typeof ts>;
10
11
  /**
11
12
  * Gets a top-level import specifier with a specific name that is imported from a particular module.
@@ -32,4 +33,4 @@ export declare function getImportSpecifier(sourceFile: ts.SourceFile, moduleName
32
33
  */
33
34
  export declare function findImportSpecifier(nodes: ts.NodeArray<ts.ImportSpecifier>, specifierName: string): ts.ImportSpecifier | undefined;
34
35
  /** Creates a TypeScript source file from a file path. */
35
- export declare function createSourceFile(file: string): Promise<ts.SourceFile>;
36
+ export declare function createSourceFile(file: string, host: Host): Promise<ts.SourceFile>;
@@ -44,7 +44,6 @@ exports.loadTypescript = loadTypescript;
44
44
  exports.getImportSpecifier = getImportSpecifier;
45
45
  exports.findImportSpecifier = findImportSpecifier;
46
46
  exports.createSourceFile = createSourceFile;
47
- const node_fs_1 = require("node:fs");
48
47
  let typescriptModule;
49
48
  async function loadTypescript() {
50
49
  return (typescriptModule ??= await Promise.resolve().then(() => __importStar(require('typescript'))));
@@ -128,8 +127,8 @@ function findImportSpecifier(nodes, specifierName) {
128
127
  });
129
128
  }
130
129
  /** Creates a TypeScript source file from a file path. */
131
- async function createSourceFile(file) {
132
- const content = (0, node_fs_1.readFileSync)(file, 'utf8');
130
+ async function createSourceFile(file, host) {
131
+ const content = await host.readFile(file, 'utf8');
133
132
  const ts = await loadTypescript();
134
133
  return ts.createSourceFile(file, content, ts.ScriptTarget.Latest, true);
135
134
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ts-utils.js","sourceRoot":"","sources":["ts-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ts-utils.js","sourceRoot":"","sources":["ts-utils.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,10 @@
8
8
  import type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol';
9
9
  import type { ServerNotification, ServerRequest } from '@modelcontextprotocol/sdk/types';
10
10
  import { z } from 'zod';
11
+ import type { Host } from '../../host';
11
12
  export declare const ZONELESS_MIGRATION_TOOL: import("../tool-registry").McpToolDeclaration<{
12
13
  fileOrDirPath: z.ZodString;
13
14
  }, Readonly<{
14
15
  [k: string]: z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
15
16
  }>>;
16
- export declare function registerZonelessMigrationTool(fileOrDirPath: string, extras: RequestHandlerExtra<ServerRequest, ServerNotification>): Promise<import("./types").MigrationResponse>;
17
+ export declare function registerZonelessMigrationTool(fileOrDirPath: string, host: Host, extras: RequestHandlerExtra<ServerRequest, ServerNotification>): Promise<import("./types").MigrationResponse>;
@@ -9,8 +9,7 @@
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.ZONELESS_MIGRATION_TOOL = void 0;
11
11
  exports.registerZonelessMigrationTool = registerZonelessMigrationTool;
12
- const node_fs_1 = require("node:fs");
13
- const promises_1 = require("node:fs/promises");
12
+ const node_path_1 = require("node:path");
14
13
  const zod_1 = require("zod");
15
14
  const tool_registry_1 = require("../tool-registry");
16
15
  const analyze_for_unsupported_zone_uses_1 = require("./analyze-for-unsupported-zone-uses");
@@ -24,46 +23,34 @@ exports.ZONELESS_MIGRATION_TOOL = (0, tool_registry_1.declareTool)({
24
23
  title: 'Plan migration to OnPush and/or zoneless',
25
24
  description: `
26
25
  <Purpose>
27
- Analyzes Angular code and provides a step-by-step, iterative plan to migrate it to \`OnPush\`
28
- change detection, a prerequisite for a zoneless application. This tool identifies the next single
29
- most important action to take in the migration journey.
26
+ Analyzes Angular code and provides a step-by-step, iterative plan to migrate it to 'OnPush'
27
+ change detection (a prerequisite for zoneless applications).
30
28
  </Purpose>
31
29
  <Use Cases>
32
- * **Step-by-Step Migration:** Running the tool repeatedly to get the next instruction for a full
33
- migration to \`OnPush\`.
34
- * **Pre-Migration Analysis:** Checking a component or directory for unsupported \`NgZone\` APIs that
35
- would block a zoneless migration.
36
- * **Generating Component Migrations:** Getting the exact instructions for converting a single
37
- component from the default change detection strategy to \`OnPush\`.
30
+ * Generating component-specific migrations from default change detection to OnPush.
31
+ * Checking a component or directory for unsupported 'NgZone' APIs blocking a zoneless migration.
32
+ * Iterative step-by-step guide for executing a complete zoneless migration.
38
33
  </Use Cases>
39
34
  <Operational Notes>
40
- * **Execution Model:** This tool **DOES NOT** modify code. It **PROVIDES INSTRUCTIONS** for a
41
- single action at a time. You **MUST** apply the changes it suggests, and then run the tool
42
- again to get the next step.
43
- * **Iterative Process:** The migration process is iterative. You must call this tool repeatedly,
44
- applying the suggested fix after each call, until the tool indicates that no more actions are
45
- needed.
46
- * **Relationship to \`modernize\`:** This tool is the specialized starting point for the zoneless/OnPush
47
- migration. For other migrations (like signal inputs), you should use the \`modernize\` tool first,
48
- as the zoneless migration may depend on them as prerequisites.
49
- * **Input:** The tool can operate on either a single file or an entire directory. Provide the
50
- absolute path.
35
+ * This tool is strictly read-only and does NOT modify code. It outputs EXACTLY ONE actionable step at a time.
36
+ * You must apply the suggested code edit, verify it, and then call this tool again to receive the next step in the migration journey.
37
+ * Run modernization schematics (e.g., Signal Inputs migrations) as prerequisites before starting this migration.
38
+ * Supported inputs: Absolute path to a single component/test file, or a directory containing multiple files.
51
39
  </Operational Notes>`,
52
40
  isReadOnly: true,
53
41
  isLocalOnly: true,
54
42
  inputSchema: {
55
43
  fileOrDirPath: zod_1.z
56
44
  .string()
57
- .describe('The absolute path of the directory or file with the component(s), directive(s), or service(s) to migrate.' +
58
- ' The contents are read with fs.readFileSync.'),
45
+ .describe('Absolute path to the TypeScript file or directory containing components/directives to migrate.'),
59
46
  },
60
- factory: () => ({ fileOrDirPath }, requestHandlerExtra) => registerZonelessMigrationTool(fileOrDirPath, requestHandlerExtra),
47
+ factory: ({ host }) => ({ fileOrDirPath }, requestHandlerExtra) => registerZonelessMigrationTool(fileOrDirPath, host, requestHandlerExtra),
61
48
  });
62
- async function registerZonelessMigrationTool(fileOrDirPath, extras) {
49
+ async function registerZonelessMigrationTool(fileOrDirPath, host, extras) {
63
50
  let filesWithComponents, componentTestFiles, zoneFiles, categorizationErrors;
64
51
  try {
65
52
  ({ filesWithComponents, componentTestFiles, zoneFiles, categorizationErrors } =
66
- await discoverAndCategorizeFiles(fileOrDirPath, extras));
53
+ await discoverAndCategorizeFiles(fileOrDirPath, host, extras));
67
54
  }
68
55
  catch (e) {
69
56
  return (0, prompts_1.createResponse)(`Error: Could not access the specified path. Please ensure the following path is correct ` +
@@ -82,14 +69,14 @@ async function registerZonelessMigrationTool(fileOrDirPath, extras) {
82
69
  ? await rankComponentFilesForMigration(extras, Array.from(filesWithComponents))
83
70
  : Array.from(filesWithComponents);
84
71
  for (const file of rankedFiles) {
85
- const result = await (0, migrate_single_file_1.migrateSingleFile)(file, extras);
72
+ const result = await (0, migrate_single_file_1.migrateSingleFile)(file, host, extras);
86
73
  if (result !== null) {
87
74
  return result;
88
75
  }
89
76
  }
90
77
  }
91
78
  for (const file of componentTestFiles) {
92
- const result = await (0, migrate_test_file_1.migrateTestFile)(file);
79
+ const result = await (0, migrate_test_file_1.migrateTestFile)(file, host);
93
80
  if (result !== null) {
94
81
  return result;
95
82
  }
@@ -101,7 +88,7 @@ async function registerZonelessMigrationTool(fileOrDirPath, extras) {
101
88
  }
102
89
  return (0, prompts_1.createTestDebuggingGuideForNonActionableInput)(fileOrDirPath);
103
90
  }
104
- async function discoverAndCategorizeFiles(fileOrDirPath, extras) {
91
+ async function discoverAndCategorizeFiles(fileOrDirPath, host, extras) {
105
92
  const filePaths = [];
106
93
  const componentTestFiles = new Set();
107
94
  const filesWithComponents = new Set();
@@ -109,20 +96,21 @@ async function discoverAndCategorizeFiles(fileOrDirPath, extras) {
109
96
  const categorizationErrors = [];
110
97
  let isDirectory;
111
98
  try {
112
- isDirectory = (0, node_fs_1.statSync)(fileOrDirPath).isDirectory();
99
+ isDirectory = (await host.stat(fileOrDirPath)).isDirectory();
113
100
  }
114
101
  catch (e) {
115
102
  // Re-throw to be handled by the main function as a user input error
116
- throw new Error(`Failed to access path: ${fileOrDirPath}`);
103
+ throw new Error(`Failed to access path: ${fileOrDirPath}`, { cause: e });
117
104
  }
118
105
  if (isDirectory) {
119
- for await (const file of (0, promises_1.glob)(`${fileOrDirPath}/**/*.ts`)) {
120
- filePaths.push(file);
106
+ const files = host.glob('**/*.ts', { cwd: fileOrDirPath });
107
+ for await (const file of files) {
108
+ filePaths.push((0, node_path_1.join)(file.parentPath, file.name));
121
109
  }
122
110
  }
123
111
  else {
124
112
  filePaths.push(fileOrDirPath);
125
- const maybeTestFile = await getTestFilePath(fileOrDirPath);
113
+ const maybeTestFile = await getTestFilePath(fileOrDirPath, host);
126
114
  if (maybeTestFile) {
127
115
  // Eagerly add the test file path for categorization.
128
116
  filePaths.push(maybeTestFile);
@@ -133,8 +121,8 @@ async function discoverAndCategorizeFiles(fileOrDirPath, extras) {
133
121
  while (filesToProcess.length > 0) {
134
122
  const batch = filesToProcess.splice(0, CONCURRENCY_LIMIT);
135
123
  const results = await Promise.allSettled(batch.map(async (filePath) => {
136
- const sourceFile = await (0, ts_utils_1.createSourceFile)(filePath);
137
- await categorizeFile(sourceFile, extras, {
124
+ const sourceFile = await (0, ts_utils_1.createSourceFile)(filePath, host);
125
+ await categorizeFile(sourceFile, host, extras, {
138
126
  filesWithComponents,
139
127
  componentTestFiles,
140
128
  zoneFiles,
@@ -151,7 +139,7 @@ async function discoverAndCategorizeFiles(fileOrDirPath, extras) {
151
139
  }
152
140
  return { filesWithComponents, componentTestFiles, zoneFiles, categorizationErrors };
153
141
  }
154
- async function categorizeFile(sourceFile, extras, categorizedFiles) {
142
+ async function categorizeFile(sourceFile, host, extras, categorizedFiles) {
155
143
  const { filesWithComponents, componentTestFiles, zoneFiles } = categorizedFiles;
156
144
  const content = sourceFile.getFullText();
157
145
  const componentSpecifier = await (0, ts_utils_1.getImportSpecifier)(sourceFile, '@angular/core', 'Component');
@@ -161,16 +149,15 @@ async function categorizeFile(sourceFile, extras, categorizedFiles) {
161
149
  componentTestFiles.add(sourceFile);
162
150
  }
163
151
  else if (componentSpecifier) {
164
- if (!content.includes('changeDetectionStrategy: ChangeDetectionStrategy.OnPush') &&
165
- !content.includes('changeDetectionStrategy: ChangeDetectionStrategy.Default')) {
152
+ if (!/changeDetectionStrategy:\s*ChangeDetectionStrategy\.(?:OnPush|Default|Eager)/.test(content)) {
166
153
  filesWithComponents.add(sourceFile);
167
154
  }
168
155
  else {
169
156
  (0, send_debug_message_1.sendDebugMessage)(`Component file already has change detection strategy: ${sourceFile.fileName}. Skipping migration.`, extras);
170
157
  }
171
- const testFilePath = await getTestFilePath(sourceFile.fileName);
158
+ const testFilePath = await getTestFilePath(sourceFile.fileName, host);
172
159
  if (testFilePath) {
173
- componentTestFiles.add(await (0, ts_utils_1.createSourceFile)(testFilePath));
160
+ componentTestFiles.add(await (0, ts_utils_1.createSourceFile)(testFilePath, host));
174
161
  }
175
162
  }
176
163
  else if (zoneSpecifier) {
@@ -214,9 +201,9 @@ async function rankComponentFilesForMigration({ sendRequest }, componentFiles) {
214
201
  catch { }
215
202
  return componentFiles; // Fallback to original order if the response fails
216
203
  }
217
- async function getTestFilePath(filePath) {
204
+ async function getTestFilePath(filePath, host) {
218
205
  const testFilePath = filePath.replace(/\.ts$/, '.spec.ts');
219
- if ((0, node_fs_1.existsSync)(testFilePath)) {
206
+ if (host.existsSync(testFilePath)) {
220
207
  return testFilePath;
221
208
  }
222
209
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"zoneless-migration.js","sourceRoot":"","sources":["zoneless-migration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zoneless-migration.js","sourceRoot":"","sources":["zoneless-migration.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@ export declare const LIST_PROJECTS_TOOL: import("./tool-registry").McpToolDeclar
34
34
  sass: "sass";
35
35
  scss: "scss";
36
36
  }>>;
37
+ targets: z.ZodArray<z.ZodString>;
37
38
  }, z.core.$strip>>;
38
39
  }, z.core.$strip>>;
39
40
  parsingErrors: z.ZodDefault<z.ZodArray<z.ZodObject<{
@@ -72,6 +72,9 @@ const listProjectsOutputSchema = {
72
72
  .optional()
73
73
  .describe('The default style language for the project (e.g., "scss"). ' +
74
74
  'This determines the file extension for new component styles.'),
75
+ targets: zod_1.z
76
+ .array(zod_1.z.string())
77
+ .describe('Available project targets (e.g., ["build", "test", "lint", "e2e"]).'),
75
78
  })),
76
79
  })),
77
80
  parsingErrors: zod_1.z
@@ -96,28 +99,20 @@ exports.LIST_PROJECTS_TOOL = (0, tool_registry_1.declareTool)({
96
99
  title: 'List Angular Projects',
97
100
  description: `
98
101
  <Purpose>
99
- Provides a comprehensive overview of all Angular workspaces and projects within the repository.
100
- It is essential to use this tool as a first step before performing any project-specific actions to understand the available projects,
101
- their types, and their locations.
102
+ Provides a comprehensive overview of all Angular workspaces, projects, and configured targets within the repository.
103
+ Always use this tool as a mandatory first step before performing any project-specific actions
104
+ to understand the available projects and locations.
102
105
  </Purpose>
103
106
  <Use Cases>
104
- * Finding the correct project name to use in other commands (e.g., \`ng generate component my-comp --project=my-app\`).
105
- * Identifying the \`root\` and \`sourceRoot\` of a project to read, analyze, or modify its files.
106
- * Determining a project's unit test framework (\`unitTestFramework\`) before writing or modifying tests.
107
- * Identifying the project's style language (\`styleLanguage\`) to use the correct file extension (e.g., \`.scss\`).
108
- * Getting the \`selectorPrefix\` for a project before generating a new component to ensure it follows conventions.
109
- * Identifying the major version of the Angular framework for each workspace, which is crucial for monorepos.
110
- * Determining a project's primary function by inspecting its builder (e.g., '@angular-devkit/build-angular:browser' for an application).
107
+ * Discovering project names, locations, builders, selector prefixes, and style languages before generating or building components.
108
+ * Determining a project's unit test framework (Jasmine, Jest, or Vitest) before writing or modifying tests.
109
+ * Identifying available execution targets (e.g., lint, e2e, serve, deploy) before attempting execution.
110
+ * Disambiguating multiple workspaces in monorepos.
111
111
  </Use Cases>
112
112
  <Operational Notes>
113
- * **Working Directory:** Shell commands for a project (like \`ng generate\`) **MUST**
114
- be executed from the parent directory of the \`path\` field for the relevant workspace.
115
- * **Unit Testing:** The \`unitTestFramework\` field tells you which testing API to use (e.g., Jasmine, Jest).
116
- If the value is 'unknown', you **MUST** inspect the project's configuration files
117
- (e.g., \`karma.conf.js\`, \`jest.config.js\`, or the 'test' target in \`angular.json\`) to determine the
118
- framework before generating tests.
119
- * **Disambiguation:** A monorepo may contain multiple workspaces (e.g., for different applications or even in output directories).
120
- Use the \`path\` of each workspace to understand its context and choose the correct project.
113
+ * Execute shell/CLI commands from the parent directory of the workspace's 'path' field.
114
+ * If 'unitTestFramework' is 'unknown', inspect local config files (e.g., jest.config.js, karma.conf.js)
115
+ or the 'test' target in 'angular.json' to determine the framework before creating tests.
121
116
  </Operational Notes>`,
122
117
  outputSchema: listProjectsOutputSchema,
123
118
  isReadOnly: true,
@@ -125,7 +120,7 @@ their types, and their locations.
125
120
  factory: createListProjectsHandler,
126
121
  });
127
122
  const EXCLUDED_DIRS = new Set(['node_modules', 'dist', 'out', 'coverage']);
128
- const IGNORED_FILE_SYSTEM_ERRORS = new Set(['EACCES', 'EPERM', 'ENOENT', 'EBUSY']);
123
+ const IGNORED_FILE_SYSTEM_ERRORS = new Set(['EACCES', 'EPERM', 'ENOENT', 'EBUSY', 'EBADF']);
129
124
  function isIgnorableFileError(error) {
130
125
  return !!error.code && IGNORED_FILE_SYSTEM_ERRORS.has(error.code);
131
126
  }
@@ -394,6 +389,7 @@ async function loadAndParseWorkspace(configFile, seenPaths) {
394
389
  const fullSourceRoot = (0, node_path_1.join)(workspaceRoot, sourceRoot);
395
390
  const unitTestFramework = getUnitTestFramework(project.targets.get('test'));
396
391
  const styleLanguage = await getProjectStyleLanguage(project, ws, fullSourceRoot);
392
+ const targets = Array.from(project.targets.keys());
397
393
  projects.push({
398
394
  name,
399
395
  type: project.extensions['projectType'],
@@ -403,6 +399,7 @@ async function loadAndParseWorkspace(configFile, seenPaths) {
403
399
  selectorPrefix: project.extensions['prefix'],
404
400
  unitTestFramework,
405
401
  styleLanguage,
402
+ targets,
406
403
  });
407
404
  }
408
405
  return { workspace: { path: configFile, projects }, error: null };
@@ -449,6 +446,26 @@ async function processConfigFile(configFile, searchRoot, seenPaths, versionCache
449
446
  };
450
447
  }
451
448
  }
449
+ /**
450
+ * Deduplicates overlapping search roots (e.g., if one is a child of another).
451
+ * Sorting by length ensures parent directories are processed before children.
452
+ * @param roots A list of normalized absolute paths used as search roots.
453
+ * @returns A deduplicated list of search roots.
454
+ */
455
+ function deduplicateSearchRoots(roots) {
456
+ const sortedRoots = [...roots].sort((a, b) => a.length - b.length);
457
+ const deduplicated = [];
458
+ for (const root of sortedRoots) {
459
+ const isSubdirectory = deduplicated.some((existing) => {
460
+ const rel = (0, node_path_1.relative)(existing, root);
461
+ return rel === '' || (!rel.startsWith('..') && !(0, node_path_1.isAbsolute)(rel));
462
+ });
463
+ if (!isSubdirectory) {
464
+ deduplicated.push(root);
465
+ }
466
+ }
467
+ return deduplicated;
468
+ }
452
469
  async function createListProjectsHandler({ server }) {
453
470
  return async () => {
454
471
  const workspaces = [];
@@ -466,6 +483,7 @@ async function createListProjectsHandler({ server }) {
466
483
  // Fallback to the current working directory if client does not support roots
467
484
  searchRoots = [process.cwd()];
468
485
  }
486
+ searchRoots = deduplicateSearchRoots(searchRoots);
469
487
  // Pre-resolve allowed roots to handle their own symlinks or normalizations.
470
488
  // We ignore failures here; if a root is broken, we simply won't match against it.
471
489
  const realAllowedRoots = searchRoots
@@ -1 +1 @@
1
- {"version":3,"file":"projects.js","sourceRoot":"","sources":["projects.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;AAEH,qCAAuC;AACvC,+CAA2D;AAC3D,yCAAoG;AACpG,uCAAyC;AACzC,oDAA4B;AAC5B,6BAAwB;AACxB,sDAA6D;AAC7D,oDAAyD;AACzD,mDAAmE;AAEnE,sEAAsE;AACtE,MAAM,mBAAmB,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEpE,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,OAAO,CAAC;AAE1D,2DAA2D;AAC3D,MAAM,2BAA2B,GAAiC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAElG,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ,IAAK,qBAA+C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC9F,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CAAC,SAAiB;IACtD,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB;IAEzE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED,MAAM,wBAAwB,GAAG;IAC/B,UAAU,EAAE,OAAC,CAAC,KAAK,CACjB,OAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;QACpF,gBAAgB,EAAE,OAAC;aAChB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,2FAA2F,CAC5F;QACH,QAAQ,EAAE,OAAC,CAAC,KAAK,CACf,OAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,OAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CAAC,iEAAiE,CAAC;YAC9E,IAAI,EAAE,OAAC;iBACJ,IAAI,CAAC,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;iBAChC,QAAQ,EAAE;iBACV,QAAQ,CAAC,6DAA6D,CAAC;YAC1E,OAAO,EAAE,OAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,yEAAyE,CAAC;YACtF,IAAI,EAAE,OAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CAAC,oEAAoE,CAAC;YACjF,UAAU,EAAE,OAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,CACP,mFAAmF,CACpF;YACH,cAAc,EAAE,OAAC;iBACd,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,4CAA4C;gBAC1C,sFAAsF,CACzF;YACH,iBAAiB,EAAE,OAAC;iBACjB,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;iBAC9C,QAAQ,EAAE;iBACV,QAAQ,CACP,iFAAiF;gBAC/E,0EAA0E;gBAC1E,yFAAyF,CAC5F;YACH,aAAa,EAAE,mBAAmB;iBAC/B,QAAQ,EAAE;iBACV,QAAQ,CACP,6DAA6D;gBAC3D,8DAA8D,CACjE;SACJ,CAAC,CACH;KACF,CAAC,CACH;IACD,aAAa,EAAE,OAAC;SACb,KAAK,CACJ,OAAC,CAAC,MAAM,CAAC;QACP,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;QAC/E,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;KAChF,CAAC,CACH;SACA,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,kEAAkE,CAAC;IAC/E,gBAAgB,EAAE,OAAC;SAChB,KAAK,CACJ,OAAC,CAAC,MAAM,CAAC;QACP,QAAQ,EAAE,OAAC;aACR,MAAM,EAAE;aACR,QAAQ,CAAC,uEAAuE,CAAC;QACpF,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;KACnF,CAAC,CACH;SACA,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,+EAA+E,CAAC;CAC7F,CAAC;AAEW,QAAA,kBAAkB,GAAG,IAAA,2BAAW,EAAC;IAC5C,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,uBAAuB;IAC9B,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;qBAwBM;IACnB,YAAY,EAAE,wBAAwB;IACtC,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,yBAAyB;CACnC,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;AAC3E,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAEnF,SAAS,oBAAoB,CAAC,KAAgC;IAC5D,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,SAAS,CAAC,CAAC,oBAAoB,CAClC,OAAe,EACf,gBAAuC;IAEvC,MAAM,iBAAiB,GAAG,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAa,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,IAAA,eAAI,EAAC,OAAO,CAAC,CAAC;QACtC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;QACrB,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,gDAAgD;QAC1D,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACjD,MAAM,iBAAiB,GAAa,EAAE,CAAC;QAEvC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACvC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAA,kBAAO,EAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5D,MAAM,cAAc,GAAa,EAAE,CAAC;gBACpC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,MAAM,QAAQ,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBACvC,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;wBAClD,qEAAqE;wBACrE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;4BAChE,SAAS;wBACX,CAAC;wBAED,IAAI,UAAU,CAAC;wBACf,IAAI,CAAC;4BACH,UAAU,GAAG,MAAM,IAAA,eAAI,EAAC,QAAQ,CAAC,CAAC;4BAClC,IAAI,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gCACnC,SAAS,CAAC,uDAAuD;4BACnE,CAAC;4BACD,8DAA8D;4BAC9D,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;gCAC9B,SAAS;4BACX,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC;4BACP,kDAAkD;4BAClD,SAAS;wBACX,CAAC;wBAED,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;4BAC3B,IAAI,CAAC;gCACH,MAAM,UAAU,GAAG,IAAA,sBAAY,EAAC,QAAQ,CAAC,CAAC;gCAC1C,6DAA6D;gCAC7D,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;oCAC/C,MAAM,GAAG,GAAG,IAAA,oBAAQ,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;oCAEvC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAA,sBAAU,EAAC,GAAG,CAAC,CAAC;gCACnD,CAAC,CAAC,CAAC;gCAEH,IAAI,CAAC,SAAS,EAAE,CAAC;oCACf,SAAS;gCACX,CAAC;4BACH,CAAC;4BAAC,MAAM,CAAC;gCACP,uBAAuB;gCACvB,SAAS;4BACX,CAAC;wBACH,CAAC;wBAED,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBAC/B,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAChC,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;wBACzC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC;gBAED,OAAO,cAAc,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;gBACrB,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChC,OAAO,EAAE,CAAC,CAAC,qCAAqC;gBAClD,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QAEpC,KAAK,CAAC,CAAC,iBAAiB,CAAC;IAC3B,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,sBAAsB,CACnC,QAAgB,EAChB,KAAsC,EACtC,UAAkB;IAElB,IAAI,UAAU,GAAG,QAAQ,CAAC;IAC1B,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,OAAO,UAAU,EAAE,CAAC;QAClB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC3C,mDAAmD;YACnD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC9B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAC/B,CAAC;YAED,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,MAAM,OAAO,GAAG,IAAA,gBAAI,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,IAAA,mBAAQ,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,gBAAgB,GACpB,GAAG,CAAC,YAAY,EAAE,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,eAAe,CAAC,CAAC;YAEhF,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,UAAU,GAAG,gBAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;gBACvD,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACjE,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;oBAC9B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACzB,CAAC;gBAED,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;YACrB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,+DAA+D;gBAC/D,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM;QACR,CAAC;QACD,MAAM,SAAS,GAAG,IAAA,mBAAO,EAAC,UAAU,CAAC,CAAC;QACtC,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,CAAC,+BAA+B;QACxC,CAAC;QACD,UAAU,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,mDAAmD;IACnD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAOD;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAC3B,UAAkF;IAElF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,mFAAmF;IACnF,IAAI,UAAU,CAAC,OAAO,KAAK,0BAA0B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAmC,CAAC;QAChF,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC,CAAC,mDAAmD;QACvE,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC,CAAC,uDAAuD;QACxE,CAAC;IACH,CAAC;IAED,qFAAqF;IACrF,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC;QACvC,IACE,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC7B,WAAW,KAAK,+CAA+C,EAC/D,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1C,OAAO,QAAQ,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,uBAAuB,CACpC,OAAoE,EACpE,SAA2B,EAC3B,cAAsB;IAEtB,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,UAEhC,CAAC;IACd,MAAM,mBAAmB,GAAG,SAAS,CAAC,UAAU,CAAC,UAEpC,CAAC;IAEd,qDAAqD;IACrD,IAAI,KAAK,GAAG,iBAAiB,EAAE,CAAC,+BAA+B,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAC5E,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oDAAoD;IACpD,KAAK,GAAG,mBAAmB,EAAE,CAAC,+BAA+B,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAC1E,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;QACzB,+DAA+D;QAC/D,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACnD,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,+CAA+C;QAC/C,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAyB,CAAC;QACrE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,6BAA6B,CAAC,IAAA,mBAAO,EAAC,SAAS,CAAC,CAAC,CAAC;gBAChE,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,KAAK,MAAM,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,IAAA,eAAI,EAAC,IAAA,gBAAI,EAAC,cAAc,EAAE,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC;YAElD,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;YAClE,4DAA4D;QAC9D,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,qBAAqB,CAClC,UAAkB,EAClB,SAAsB;IAEtB,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAA,mBAAO,EAAC,UAAU,CAAC,CAAC;QACzC,IAAI,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,2BAA2B;QACtE,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAE5B,MAAM,EAAE,GAAG,MAAM,yBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,MAAM,aAAa,GAAG,IAAA,mBAAO,EAAC,UAAU,CAAC,CAAC;QAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACpD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,iBAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACzE,MAAM,cAAc,GAAG,IAAA,gBAAI,EAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YACvD,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5E,MAAM,aAAa,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;YAEjF,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI;gBACJ,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,aAAa,CAA0C;gBAChF,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO;gBAC9C,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,UAAU;gBACV,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAW;gBACtD,iBAAiB;gBACjB,aAAa;aACd,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACpE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,CAAC;QACZ,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,mDAAmD,CAAC;QAChE,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;IACvE,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,iBAAiB,CAC9B,UAAkB,EAClB,UAAkB,EAClB,SAAsB,EACtB,YAA6C;IAM7C,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAChF,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,CAAC,CAAC,kCAAkC;IAC/C,CAAC;IAED,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAA,mBAAO,EAAC,UAAU,CAAC,CAAC;QACzC,SAAS,CAAC,gBAAgB,GAAG,MAAM,sBAAsB,CACvD,YAAY,EACZ,YAAY,EACZ,UAAU,CACX,CAAC;QAEF,OAAO,EAAE,SAAS,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO;YACL,SAAS;YACT,eAAe,EAAE;gBACf,QAAQ,EAAE,SAAS,CAAC,IAAI;gBACxB,OAAO,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B;aACvE;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,EAAE,MAAM,EAAkB;IACjE,OAAO,KAAK,IAAI,EAAE;QAChB,MAAM,UAAU,GAAoB,EAAE,CAAC;QACvC,MAAM,aAAa,GAAmB,EAAE,CAAC;QACzC,MAAM,gBAAgB,GAA8D,EAAE,CAAC;QACvF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,MAAM,YAAY,GAAG,IAAI,GAAG,EAA8B,CAAC;QAE3D,IAAI,WAAqB,CAAC;QAC1B,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;QACjE,IAAI,kBAAkB,EAAE,KAAK,EAAE,CAAC;YAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAClD,WAAW,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,qBAAS,EAAC,IAAA,wBAAa,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,6EAA6E;YAC7E,WAAW,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAChC,CAAC;QAED,4EAA4E;QAC5E,kFAAkF;QAClF,MAAM,gBAAgB,GAAG,WAAW;aACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,IAAI,CAAC;gBACH,OAAO,IAAA,sBAAY,EAAC,CAAC,CAAC,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAE1C,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,IAAI,KAAK,EAAE,MAAM,UAAU,IAAI,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE,CAAC;gBAC5E,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,MAAM,iBAAiB,CAC1E,UAAU,EACV,IAAI,EACJ,SAAS,EACT,YAAY,CACb,CAAC;gBAEF,IAAI,SAAS,EAAE,CAAC;oBACd,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,CAAC;gBACD,IAAI,YAAY,EAAE,CAAC;oBACjB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACnC,CAAC;gBACD,IAAI,eAAe,EAAE,CAAC;oBACpB,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1D,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EACF,6BAA6B;4BAC7B,+DAA+D;4BAC/D,kFAAkF;qBACrF;iBACF;gBACD,iBAAiB,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;aACtC,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,GAAG,SAAS,UAAU,CAAC,MAAM,mBAAmB,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QACzF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,IAAI,8BAA8B,aAAa,CAAC,MAAM,kDAAkD,CAAC;YAC7G,IAAI,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,IAAI,wDAAwD,gBAAgB,CAAC,MAAM,0CAA0C,CAAC;YAClI,IAAI,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClF,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC;YAC1C,iBAAiB,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE;SACnE,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["projects.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ import type { McpToolContext } from '../tool-registry';
9
+ import type { TargetStrategy } from './strategy';
10
+ import type { RunTargetOutput, StrategyExecutionContext } from './types';
11
+ export declare class BuildTargetStrategy implements TargetStrategy {
12
+ canHandle(targetName: string, builder?: string): boolean;
13
+ execute(input: StrategyExecutionContext, context: McpToolContext): Promise<RunTargetOutput>;
14
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.BuildTargetStrategy = void 0;
11
+ const utils_1 = require("../../utils");
12
+ const options_serializer_1 = require("./options-serializer");
13
+ class BuildTargetStrategy {
14
+ canHandle(targetName, builder) {
15
+ return (targetName === 'build' &&
16
+ (builder === '@angular-devkit/build-angular:application' ||
17
+ builder === '@angular-devkit/build-angular:browser' ||
18
+ builder === '@angular/build:application' ||
19
+ builder === '@angular-devkit/build-angular:ng-packagr'));
20
+ }
21
+ async execute(input, context) {
22
+ const args = ['build', input.projectName];
23
+ if (input.configuration) {
24
+ args.push('-c', input.configuration);
25
+ }
26
+ args.push(...(0, options_serializer_1.serializeOptions)(input.options));
27
+ let status = 'success';
28
+ let logs;
29
+ try {
30
+ const result = await context.host.executeNgCommand(args, { cwd: input.workspacePath });
31
+ logs = result.logs;
32
+ }
33
+ catch (e) {
34
+ status = 'failure';
35
+ logs = (0, utils_1.getCommandErrorLogs)(e);
36
+ }
37
+ let outputPath;
38
+ for (const line of logs) {
39
+ const match = line.match(/Output location: (.*)/);
40
+ if (match) {
41
+ outputPath = match[1].trim();
42
+ break;
43
+ }
44
+ }
45
+ return {
46
+ status,
47
+ logs,
48
+ extensions: outputPath ? { outputPath } : undefined,
49
+ };
50
+ }
51
+ }
52
+ exports.BuildTargetStrategy = BuildTargetStrategy;
53
+ //# sourceMappingURL=build-target-strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-target-strategy.js","sourceRoot":"","sources":["build-target-strategy.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,uCAAkD;AAElD,6DAAwD;AAIxD,MAAa,mBAAmB;IAC9B,SAAS,CAAC,UAAkB,EAAE,OAAgB;QAC5C,OAAO,CACL,UAAU,KAAK,OAAO;YACtB,CAAC,OAAO,KAAK,2CAA2C;gBACtD,OAAO,KAAK,uCAAuC;gBACnD,OAAO,KAAK,4BAA4B;gBACxC,OAAO,KAAK,0CAA0C,CAAC,CAC1D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CACX,KAA+B,EAC/B,OAAuB;QAEvB,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,IAAA,qCAAgB,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAE9C,IAAI,MAAM,GAA0B,SAAS,CAAC;QAC9C,IAAI,IAAc,CAAC;QAEnB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;YACvF,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,GAAG,SAAS,CAAC;YACnB,IAAI,GAAG,IAAA,2BAAmB,EAAC,CAAC,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,UAA8B,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAClD,IAAI,KAAK,EAAE,CAAC;gBACV,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7B,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO;YACL,MAAM;YACN,IAAI;YACJ,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS;SACpD,CAAC;IACJ,CAAC;CACF;AAhDD,kDAgDC"}