erosolar-cli 1.7.210 → 1.7.212

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 (45) hide show
  1. package/dist/capabilities/buildCapability.d.ts +24 -0
  2. package/dist/capabilities/buildCapability.d.ts.map +1 -0
  3. package/dist/capabilities/buildCapability.js +25 -0
  4. package/dist/capabilities/buildCapability.js.map +1 -0
  5. package/dist/capabilities/index.d.ts +1 -0
  6. package/dist/capabilities/index.d.ts.map +1 -1
  7. package/dist/capabilities/index.js +1 -0
  8. package/dist/capabilities/index.js.map +1 -1
  9. package/dist/core/aiErrorFixer.d.ts +70 -0
  10. package/dist/core/aiErrorFixer.d.ts.map +1 -0
  11. package/dist/core/aiErrorFixer.js +402 -0
  12. package/dist/core/aiErrorFixer.js.map +1 -0
  13. package/dist/plugins/tools/build/buildPlugin.d.ts +9 -0
  14. package/dist/plugins/tools/build/buildPlugin.d.ts.map +1 -0
  15. package/dist/plugins/tools/build/buildPlugin.js +20 -0
  16. package/dist/plugins/tools/build/buildPlugin.js.map +1 -0
  17. package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -1
  18. package/dist/plugins/tools/nodeDefaults.js +2 -0
  19. package/dist/plugins/tools/nodeDefaults.js.map +1 -1
  20. package/dist/providers/openaiChatCompletionsProvider.d.ts.map +1 -1
  21. package/dist/providers/openaiChatCompletionsProvider.js +12 -5
  22. package/dist/providers/openaiChatCompletionsProvider.js.map +1 -1
  23. package/dist/shell/interactiveShell.d.ts +5 -0
  24. package/dist/shell/interactiveShell.d.ts.map +1 -1
  25. package/dist/shell/interactiveShell.js +32 -8
  26. package/dist/shell/interactiveShell.js.map +1 -1
  27. package/dist/shell/terminalInput.d.ts +4 -1
  28. package/dist/shell/terminalInput.d.ts.map +1 -1
  29. package/dist/shell/terminalInput.js +19 -9
  30. package/dist/shell/terminalInput.js.map +1 -1
  31. package/dist/shell/updateManager.d.ts.map +1 -1
  32. package/dist/shell/updateManager.js +3 -102
  33. package/dist/shell/updateManager.js.map +1 -1
  34. package/dist/tools/bashTools.d.ts.map +1 -1
  35. package/dist/tools/bashTools.js +25 -1
  36. package/dist/tools/bashTools.js.map +1 -1
  37. package/dist/tools/buildTools.d.ts +9 -0
  38. package/dist/tools/buildTools.d.ts.map +1 -0
  39. package/dist/tools/buildTools.js +344 -0
  40. package/dist/tools/buildTools.js.map +1 -0
  41. package/dist/ui/display.d.ts +4 -1
  42. package/dist/ui/display.d.ts.map +1 -1
  43. package/dist/ui/display.js +18 -4
  44. package/dist/ui/display.js.map +1 -1
  45. package/package.json +1 -1
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Build Capability Module
3
+ *
4
+ * Provides build and test tools with AI-powered error analysis.
5
+ * Auto-enabled by default for all coding sessions.
6
+ *
7
+ * Tools:
8
+ * - run_build: Run project build with AI error analysis
9
+ * - run_tests: Run tests with AI failure analysis
10
+ * - check_package_info: Get project information
11
+ */
12
+ import type { CapabilityContribution, CapabilityContext, CapabilityModule } from '../runtime/agentHost.js';
13
+ export interface BuildCapabilityOptions {
14
+ id?: string;
15
+ description?: string;
16
+ workingDir?: string;
17
+ }
18
+ export declare class BuildCapabilityModule implements CapabilityModule {
19
+ readonly id = "capability.build";
20
+ private readonly options;
21
+ constructor(options?: BuildCapabilityOptions);
22
+ create(context: CapabilityContext): Promise<CapabilityContribution>;
23
+ }
24
+ //# sourceMappingURL=buildCapability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildCapability.d.ts","sourceRoot":"","sources":["../../src/capabilities/buildCapability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3G,MAAM,WAAW,sBAAsB;IACrC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,qBAAsB,YAAW,gBAAgB;IAC5D,QAAQ,CAAC,EAAE,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;gBAErC,OAAO,GAAE,sBAA2B;IAI1C,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAgB1E"}
@@ -0,0 +1,25 @@
1
+ import { createBuildTools } from '../tools/buildTools.js';
2
+ export class BuildCapabilityModule {
3
+ id = 'capability.build';
4
+ options;
5
+ constructor(options = {}) {
6
+ this.options = options;
7
+ }
8
+ async create(context) {
9
+ const workingDir = this.options.workingDir ?? context.workingDir;
10
+ return {
11
+ id: this.options.id ?? 'build.tools.ai',
12
+ description: this.options.description ?? 'Build and test tools with AI-powered error analysis.',
13
+ toolSuite: {
14
+ id: 'build',
15
+ description: 'Build and test execution with AI error fixing',
16
+ tools: createBuildTools(workingDir),
17
+ },
18
+ metadata: {
19
+ workingDir,
20
+ aiErrorAnalysis: true,
21
+ },
22
+ };
23
+ }
24
+ }
25
+ //# sourceMappingURL=buildCapability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildCapability.js","sourceRoot":"","sources":["../../src/capabilities/buildCapability.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAQ1D,MAAM,OAAO,qBAAqB;IACvB,EAAE,GAAG,kBAAkB,CAAC;IAChB,OAAO,CAAyB;IAEjD,YAAY,UAAkC,EAAE;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAA0B;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC;QACjE,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,gBAAgB;YACvC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,sDAAsD;YAC/F,SAAS,EAAE;gBACT,EAAE,EAAE,OAAO;gBACX,WAAW,EAAE,+CAA+C;gBAC5D,KAAK,EAAE,gBAAgB,CAAC,UAAU,CAAC;aACpC;YACD,QAAQ,EAAE;gBACR,UAAU;gBACV,eAAe,EAAE,IAAI;aACtB;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -22,4 +22,5 @@ export { CloudCapabilityModule, type CloudCapabilityOptions, } from './cloudCapa
22
22
  export { FrontendTestingCapabilityModule, type FrontendTestingCapabilityOptions, } from './frontendTestingCapability.js';
23
23
  export { BrowserAutomationCapabilityModule, type BrowserAutomationCapabilityOptions, } from './browserAutomationCapability.js';
24
24
  export { ValidationCapabilityModule, type ValidationCapabilityOptions, } from './validationCapability.js';
25
+ export { BuildCapabilityModule, type BuildCapabilityOptions, } from './buildCapability.js';
25
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,KAAK,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,4BAA4B,EAC5B,KAAK,6BAA6B,GACnC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,EACnB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,EAC3B,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,2BAA2B,EAC3B,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kCAAkC,EAClC,KAAK,mCAAmC,GACzC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,uBAAuB,EACvB,KAAK,wBAAwB,GAC9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACL,wCAAwC,EACxC,KAAK,yCAAyC,GAC/C,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,sCAAsC,EACtC,KAAK,uCAAuC,GAC7C,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,mCAAmC,EACnC,KAAK,oCAAoC,GAC1C,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,+BAA+B,EAC/B,KAAK,gCAAgC,GACtC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,iCAAiC,EACjC,KAAK,kCAAkC,GACxC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,0BAA0B,EAC1B,KAAK,2BAA2B,GACjC,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,KAAK,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,4BAA4B,EAC5B,KAAK,6BAA6B,GACnC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,EACnB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,EAC3B,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,2BAA2B,EAC3B,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kCAAkC,EAClC,KAAK,mCAAmC,GACzC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,uBAAuB,EACvB,KAAK,wBAAwB,GAC9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACL,wCAAwC,EACxC,KAAK,yCAAyC,GAC/C,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,sCAAsC,EACtC,KAAK,uCAAuC,GAC7C,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,mCAAmC,EACnC,KAAK,oCAAoC,GAC1C,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,+BAA+B,EAC/B,KAAK,gCAAgC,GACtC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,iCAAiC,EACjC,KAAK,kCAAkC,GACxC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,0BAA0B,EAC1B,KAAK,2BAA2B,GACjC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,sBAAsB,CAAC"}
@@ -22,4 +22,5 @@ export { CloudCapabilityModule, } from './cloudCapability.js';
22
22
  export { FrontendTestingCapabilityModule, } from './frontendTestingCapability.js';
23
23
  export { BrowserAutomationCapabilityModule, } from './browserAutomationCapability.js';
24
24
  export { ValidationCapabilityModule, } from './validationCapability.js';
25
+ export { BuildCapabilityModule, } from './buildCapability.js';
25
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAoC,MAAM,2BAA2B,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAA8B,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAgC,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,4BAA4B,GAE7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,GAEpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,GAE5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,2BAA2B,GAE5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kCAAkC,GAEnC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,uBAAuB,GAExB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACL,wCAAwC,GAEzC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,sCAAsC,GAEvC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,mCAAmC,GAEpC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,GAEpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,+BAA+B,GAEhC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,iCAAiC,GAElC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,0BAA0B,GAE3B,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAoC,MAAM,2BAA2B,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAA8B,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAgC,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,4BAA4B,GAE7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,GAEpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,GAE5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,2BAA2B,GAE5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kCAAkC,GAEnC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,uBAAuB,GAExB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACL,wCAAwC,GAEzC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,sCAAsC,GAEvC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,mCAAmC,GAEpC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,GAEpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,+BAA+B,GAEhC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,iCAAiC,GAElC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,0BAA0B,GAE3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * AI-Powered Error Analysis and Auto-Fix System
3
+ */
4
+ export declare enum ErrorType {
5
+ BUILD_ERROR = "build_error",
6
+ TEST_FAILURE = "test_failure",
7
+ TYPE_ERROR = "type_error",
8
+ LINT_ERROR = "lint_error",
9
+ IMPORT_ERROR = "import_error",
10
+ SYNTAX_ERROR = "syntax_error",
11
+ FILE_NOT_FOUND = "file_not_found",
12
+ PERMISSION_ERROR = "permission_error",
13
+ EDIT_CONFLICT = "edit_conflict",
14
+ NEWLINE_IN_STRING = "newline_in_string",
15
+ UNKNOWN = "unknown"
16
+ }
17
+ export interface ErrorLocation {
18
+ filePath: string;
19
+ lineNumber?: number;
20
+ column?: number;
21
+ }
22
+ export interface ErrorFix {
23
+ description: string;
24
+ filePath: string;
25
+ oldContent: string;
26
+ newContent: string;
27
+ confidence: number;
28
+ autoApplicable: boolean;
29
+ requiresConfirmation: boolean;
30
+ }
31
+ export interface ParsedError {
32
+ errorType: ErrorType;
33
+ message: string;
34
+ rawOutput: string;
35
+ locations: ErrorLocation[];
36
+ suggestedFixes: ErrorFix[];
37
+ relatedErrors: string[];
38
+ metadata: Record<string, unknown>;
39
+ }
40
+ export interface TestSummary {
41
+ passed: number;
42
+ failed: number;
43
+ skipped: number;
44
+ total: number;
45
+ }
46
+ export declare class AIErrorFixer {
47
+ private readonly workingDir;
48
+ constructor(options?: {
49
+ workingDir?: string;
50
+ });
51
+ analyzeOutput(output: string, command?: string): ParsedError[];
52
+ parseTestSummary(output: string): TestSummary;
53
+ getFixSuggestions(errors: ParsedError[]): string;
54
+ formatForAI(errors: ParsedError[]): string;
55
+ private detectOutputType;
56
+ private parseTypeScriptErrors;
57
+ private parseNpmErrors;
58
+ private parseTestErrors;
59
+ private parseEditErrors;
60
+ private parseGenericErrors;
61
+ private generateFixes;
62
+ private generateTypeScriptFixes;
63
+ private generateImportFixes;
64
+ private generateNewlineFixes;
65
+ private generateEditConflictFixes;
66
+ }
67
+ export declare function createErrorFixer(options?: {
68
+ workingDir?: string;
69
+ }): AIErrorFixer;
70
+ //# sourceMappingURL=aiErrorFixer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aiErrorFixer.d.ts","sourceRoot":"","sources":["../../src/core/aiErrorFixer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,oBAAY,SAAS;IACnB,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IACvC,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,cAAc,EAAE,QAAQ,EAAE,CAAC;IAC3B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AASD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO;IAIjD,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE;IAuB9D,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW;IAgB7C,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM;IAiChD,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM;IA6B1C,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,qBAAqB;IA0B7B,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,eAAe;IA2CvB,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,uBAAuB;IAwC/B,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,oBAAoB;IAuB5B,OAAO,CAAC,yBAAyB;CAqClC;AAED,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,CAEhF"}
@@ -0,0 +1,402 @@
1
+ /**
2
+ * AI-Powered Error Analysis and Auto-Fix System
3
+ */
4
+ export var ErrorType;
5
+ (function (ErrorType) {
6
+ ErrorType["BUILD_ERROR"] = "build_error";
7
+ ErrorType["TEST_FAILURE"] = "test_failure";
8
+ ErrorType["TYPE_ERROR"] = "type_error";
9
+ ErrorType["LINT_ERROR"] = "lint_error";
10
+ ErrorType["IMPORT_ERROR"] = "import_error";
11
+ ErrorType["SYNTAX_ERROR"] = "syntax_error";
12
+ ErrorType["FILE_NOT_FOUND"] = "file_not_found";
13
+ ErrorType["PERMISSION_ERROR"] = "permission_error";
14
+ ErrorType["EDIT_CONFLICT"] = "edit_conflict";
15
+ ErrorType["NEWLINE_IN_STRING"] = "newline_in_string";
16
+ ErrorType["UNKNOWN"] = "unknown";
17
+ })(ErrorType || (ErrorType = {}));
18
+ const TS_ERROR_PATTERN = /([^\s:]+\.tsx?):(\d+):(\d+)\s*-\s*error\s+TS(\d+):\s*(.+)/gm;
19
+ const NPM_DEP_PATTERN = /(?:Cannot find|Module not found).*['"]([^'"]+)['"]/gm;
20
+ const TEST_FAIL_PATTERN = /FAIL\s+([^\n]+)/gm;
21
+ const EDIT_NEWLINE_PATTERN = /(?:newlines?\s+detected|contains?\s+newlines?).*old_string/i;
22
+ const EDIT_NOT_FOUND_PATTERN = /old_string\s+not\s+found|exact\s+text\s+must\s+match/i;
23
+ const EDIT_MULTI_PATTERN = /appears?\s+(\d+)\s+times?\s+in\s+the\s+file/i;
24
+ export class AIErrorFixer {
25
+ workingDir;
26
+ constructor(options = {}) {
27
+ this.workingDir = options.workingDir ?? process.cwd();
28
+ }
29
+ analyzeOutput(output, command) {
30
+ const errors = [];
31
+ const outputType = this.detectOutputType(output, command);
32
+ if (outputType === 'typescript') {
33
+ errors.push(...this.parseTypeScriptErrors(output));
34
+ }
35
+ else if (outputType === 'npm') {
36
+ errors.push(...this.parseNpmErrors(output));
37
+ }
38
+ else if (outputType === 'test') {
39
+ errors.push(...this.parseTestErrors(output));
40
+ }
41
+ else if (outputType === 'edit') {
42
+ errors.push(...this.parseEditErrors(output));
43
+ }
44
+ else {
45
+ errors.push(...this.parseGenericErrors(output));
46
+ }
47
+ for (const error of errors) {
48
+ error.suggestedFixes = this.generateFixes(error);
49
+ }
50
+ return errors;
51
+ }
52
+ parseTestSummary(output) {
53
+ const summary = { passed: 0, failed: 0, skipped: 0, total: 0 };
54
+ const passedMatch = output.match(/(\d+)\s*passed/i);
55
+ if (passedMatch?.[1])
56
+ summary.passed = parseInt(passedMatch[1], 10);
57
+ const failedMatch = output.match(/(\d+)\s*failed/i);
58
+ if (failedMatch?.[1])
59
+ summary.failed = parseInt(failedMatch[1], 10);
60
+ const skippedMatch = output.match(/(\d+)\s*(?:skipped|pending)/i);
61
+ if (skippedMatch?.[1])
62
+ summary.skipped = parseInt(skippedMatch[1], 10);
63
+ summary.total = summary.passed + summary.failed + summary.skipped;
64
+ return summary;
65
+ }
66
+ getFixSuggestions(errors) {
67
+ if (errors.length === 0)
68
+ return 'No errors found.';
69
+ const lines = ['Error Analysis and Fix Suggestions:', '═'.repeat(50), ''];
70
+ for (let i = 0; i < errors.length; i++) {
71
+ const error = errors[i];
72
+ if (!error)
73
+ continue;
74
+ lines.push(`${i + 1}. [${error.errorType}] ${error.message.slice(0, 100)}`);
75
+ const loc = error.locations[0];
76
+ if (loc) {
77
+ lines.push(` Location: ${loc.filePath}:${loc.lineNumber ?? '?'}`);
78
+ }
79
+ if (error.suggestedFixes.length > 0) {
80
+ lines.push(' Suggested fixes:');
81
+ for (let j = 0; j < error.suggestedFixes.length; j++) {
82
+ const fix = error.suggestedFixes[j];
83
+ if (!fix)
84
+ continue;
85
+ const confidence = `(${Math.round(fix.confidence * 100)}% confidence)`;
86
+ const auto = fix.autoApplicable ? '[auto-fix]' : '[manual]';
87
+ lines.push(` ${j + 1}. ${fix.description} ${confidence} ${auto}`);
88
+ }
89
+ }
90
+ else {
91
+ lines.push(' No automatic fix available');
92
+ }
93
+ lines.push('');
94
+ }
95
+ return lines.join('\n');
96
+ }
97
+ formatForAI(errors) {
98
+ if (errors.length === 0)
99
+ return '';
100
+ const lines = ['', '═══ AI ERROR ANALYSIS ═══', ''];
101
+ for (let i = 0; i < Math.min(errors.length, 5); i++) {
102
+ const error = errors[i];
103
+ if (!error)
104
+ continue;
105
+ lines.push(`• ${error.errorType.toUpperCase()}: ${error.message.slice(0, 150)}`);
106
+ const loc = error.locations[0];
107
+ if (loc) {
108
+ lines.push(` at ${loc.filePath}:${loc.lineNumber ?? '?'}`);
109
+ }
110
+ const bestFix = error.suggestedFixes[0];
111
+ if (bestFix) {
112
+ lines.push(` FIX: ${bestFix.description}`);
113
+ }
114
+ lines.push('');
115
+ }
116
+ if (errors.length > 5) {
117
+ lines.push(`... and ${errors.length - 5} more errors`);
118
+ }
119
+ return lines.join('\n');
120
+ }
121
+ detectOutputType(output, command) {
122
+ const outputLower = output.toLowerCase();
123
+ const commandLower = (command ?? '').toLowerCase();
124
+ if (commandLower.includes('tsc') || commandLower.includes('typescript'))
125
+ return 'typescript';
126
+ if (commandLower.includes('test') || commandLower.includes('jest') || commandLower.includes('vitest'))
127
+ return 'test';
128
+ if (commandLower.includes('npm') || commandLower.includes('yarn') || commandLower.includes('pnpm')) {
129
+ if (commandLower.includes('build'))
130
+ return 'typescript';
131
+ return 'npm';
132
+ }
133
+ if (commandLower.includes('edit'))
134
+ return 'edit';
135
+ if (outputLower.includes('error ts') || output.includes('.tsx:') || output.includes('.ts:'))
136
+ return 'typescript';
137
+ if (outputLower.includes('test') && (outputLower.includes('passed') || outputLower.includes('failed')))
138
+ return 'test';
139
+ if (outputLower.includes('npm err!'))
140
+ return 'npm';
141
+ if (outputLower.includes('old_string') || outputLower.includes('newlines'))
142
+ return 'edit';
143
+ return 'generic';
144
+ }
145
+ parseTypeScriptErrors(output) {
146
+ const errors = [];
147
+ const regex = new RegExp(TS_ERROR_PATTERN.source, 'gm');
148
+ let match;
149
+ while ((match = regex.exec(output)) !== null) {
150
+ const [, file, line, col, code, msg] = match;
151
+ if (!file || !code || !msg)
152
+ continue;
153
+ errors.push({
154
+ errorType: ErrorType.TYPE_ERROR,
155
+ message: `TS${code}: ${msg}`,
156
+ rawOutput: match[0],
157
+ locations: [{
158
+ filePath: file,
159
+ lineNumber: line ? parseInt(line, 10) : undefined,
160
+ column: col ? parseInt(col, 10) : undefined,
161
+ }],
162
+ suggestedFixes: [],
163
+ relatedErrors: [],
164
+ metadata: { tsCode: code },
165
+ });
166
+ }
167
+ return errors;
168
+ }
169
+ parseNpmErrors(output) {
170
+ const errors = [];
171
+ const regex = new RegExp(NPM_DEP_PATTERN.source, 'gm');
172
+ let match;
173
+ while ((match = regex.exec(output)) !== null) {
174
+ const [, dep] = match;
175
+ if (!dep)
176
+ continue;
177
+ errors.push({
178
+ errorType: ErrorType.IMPORT_ERROR,
179
+ message: `Missing dependency: ${dep}`,
180
+ rawOutput: match[0],
181
+ locations: [],
182
+ suggestedFixes: [],
183
+ relatedErrors: [],
184
+ metadata: { missingDep: dep },
185
+ });
186
+ }
187
+ return errors;
188
+ }
189
+ parseTestErrors(output) {
190
+ const errors = [];
191
+ const regex = new RegExp(TEST_FAIL_PATTERN.source, 'gm');
192
+ let match;
193
+ while ((match = regex.exec(output)) !== null) {
194
+ const [, file] = match;
195
+ if (!file)
196
+ continue;
197
+ errors.push({
198
+ errorType: ErrorType.TEST_FAILURE,
199
+ message: `Test failed: ${file}`,
200
+ rawOutput: match[0],
201
+ locations: [{ filePath: file.trim() }],
202
+ suggestedFixes: [],
203
+ relatedErrors: [],
204
+ metadata: {},
205
+ });
206
+ }
207
+ return errors;
208
+ }
209
+ parseEditErrors(output) {
210
+ const errors = [];
211
+ if (EDIT_NEWLINE_PATTERN.test(output)) {
212
+ errors.push({
213
+ errorType: ErrorType.NEWLINE_IN_STRING,
214
+ message: 'Edit failed: old_string contains newlines - ensure proper escaping or use single-line context',
215
+ rawOutput: output,
216
+ locations: [],
217
+ suggestedFixes: [],
218
+ relatedErrors: [],
219
+ metadata: {},
220
+ });
221
+ }
222
+ if (EDIT_NOT_FOUND_PATTERN.test(output)) {
223
+ errors.push({
224
+ errorType: ErrorType.EDIT_CONFLICT,
225
+ message: 'Edit failed: old_string not found - exact text including whitespace must match',
226
+ rawOutput: output,
227
+ locations: [],
228
+ suggestedFixes: [],
229
+ relatedErrors: [],
230
+ metadata: {},
231
+ });
232
+ }
233
+ const multiMatch = output.match(EDIT_MULTI_PATTERN);
234
+ if (multiMatch?.[1]) {
235
+ errors.push({
236
+ errorType: ErrorType.EDIT_CONFLICT,
237
+ message: `Edit failed: old_string appears ${multiMatch[1]} times - provide more context or use replace_all`,
238
+ rawOutput: output,
239
+ locations: [],
240
+ suggestedFixes: [],
241
+ relatedErrors: [],
242
+ metadata: { occurrenceCount: parseInt(multiMatch[1], 10) },
243
+ });
244
+ }
245
+ return errors;
246
+ }
247
+ parseGenericErrors(output) {
248
+ const errors = [];
249
+ const errorLines = [];
250
+ for (const line of output.split('\n')) {
251
+ const lineLower = line.toLowerCase();
252
+ if (lineLower.includes('error:') || lineLower.includes('failed:') ||
253
+ lineLower.includes('exception:') || lineLower.includes('fatal:')) {
254
+ errorLines.push(line.trim());
255
+ }
256
+ }
257
+ if (errorLines.length > 0 && errorLines[0]) {
258
+ errors.push({
259
+ errorType: ErrorType.UNKNOWN,
260
+ message: errorLines[0].slice(0, 200),
261
+ rawOutput: errorLines.slice(0, 5).join('\n'),
262
+ locations: [],
263
+ suggestedFixes: [],
264
+ relatedErrors: errorLines.slice(1, 5),
265
+ metadata: {},
266
+ });
267
+ }
268
+ return errors;
269
+ }
270
+ generateFixes(error) {
271
+ const fixes = [];
272
+ switch (error.errorType) {
273
+ case ErrorType.TYPE_ERROR:
274
+ fixes.push(...this.generateTypeScriptFixes(error));
275
+ break;
276
+ case ErrorType.IMPORT_ERROR:
277
+ fixes.push(...this.generateImportFixes(error));
278
+ break;
279
+ case ErrorType.NEWLINE_IN_STRING:
280
+ fixes.push(...this.generateNewlineFixes());
281
+ break;
282
+ case ErrorType.EDIT_CONFLICT:
283
+ fixes.push(...this.generateEditConflictFixes(error));
284
+ break;
285
+ }
286
+ return fixes;
287
+ }
288
+ generateTypeScriptFixes(error) {
289
+ const fixes = [];
290
+ const tsCode = String(error.metadata['tsCode'] ?? '');
291
+ const loc = error.locations[0];
292
+ if (!loc)
293
+ return fixes;
294
+ if (tsCode === '2304') {
295
+ const nameMatch = error.message.match(/Cannot find name '([^']+)'/);
296
+ if (nameMatch?.[1]) {
297
+ fixes.push({
298
+ description: `Add import for '${nameMatch[1]}'`,
299
+ filePath: loc.filePath,
300
+ oldContent: '',
301
+ newContent: `import { ${nameMatch[1]} } from './${nameMatch[1]}';`,
302
+ confidence: 0.6,
303
+ autoApplicable: false,
304
+ requiresConfirmation: true,
305
+ });
306
+ }
307
+ }
308
+ if (tsCode === '6133') {
309
+ const varMatch = error.message.match(/'([^']+)' is declared but/);
310
+ if (varMatch?.[1]) {
311
+ fixes.push({
312
+ description: `Prefix '${varMatch[1]}' with underscore to indicate intentionally unused`,
313
+ filePath: loc.filePath,
314
+ oldContent: varMatch[1],
315
+ newContent: `_${varMatch[1]}`,
316
+ confidence: 0.8,
317
+ autoApplicable: true,
318
+ requiresConfirmation: false,
319
+ });
320
+ }
321
+ }
322
+ return fixes;
323
+ }
324
+ generateImportFixes(error) {
325
+ const fixes = [];
326
+ const missingDep = String(error.metadata['missingDep'] ?? '');
327
+ if (missingDep) {
328
+ fixes.push({
329
+ description: `Install missing dependency: npm install ${missingDep}`,
330
+ filePath: 'package.json',
331
+ oldContent: '',
332
+ newContent: '',
333
+ confidence: 0.9,
334
+ autoApplicable: false,
335
+ requiresConfirmation: true,
336
+ });
337
+ }
338
+ return fixes;
339
+ }
340
+ generateNewlineFixes() {
341
+ return [
342
+ {
343
+ description: 'Use actual newline characters in old_string, not escaped \\n',
344
+ filePath: '',
345
+ oldContent: '',
346
+ newContent: '',
347
+ confidence: 0.9,
348
+ autoApplicable: false,
349
+ requiresConfirmation: false,
350
+ },
351
+ {
352
+ description: 'Use a smaller context string that fits on a single line',
353
+ filePath: '',
354
+ oldContent: '',
355
+ newContent: '',
356
+ confidence: 0.8,
357
+ autoApplicable: false,
358
+ requiresConfirmation: false,
359
+ },
360
+ ];
361
+ }
362
+ generateEditConflictFixes(error) {
363
+ const fixes = [];
364
+ const occurrenceCount = error.metadata['occurrenceCount'];
365
+ if (occurrenceCount) {
366
+ fixes.push({
367
+ description: `Use replace_all: true to replace all ${occurrenceCount} occurrences`,
368
+ filePath: '',
369
+ oldContent: '',
370
+ newContent: '',
371
+ confidence: 0.7,
372
+ autoApplicable: false,
373
+ requiresConfirmation: false,
374
+ });
375
+ fixes.push({
376
+ description: 'Add more surrounding context to make the string unique',
377
+ filePath: '',
378
+ oldContent: '',
379
+ newContent: '',
380
+ confidence: 0.9,
381
+ autoApplicable: false,
382
+ requiresConfirmation: false,
383
+ });
384
+ }
385
+ else {
386
+ fixes.push({
387
+ description: 'Use Read tool first to get the exact text including all whitespace',
388
+ filePath: '',
389
+ oldContent: '',
390
+ newContent: '',
391
+ confidence: 0.95,
392
+ autoApplicable: false,
393
+ requiresConfirmation: false,
394
+ });
395
+ }
396
+ return fixes;
397
+ }
398
+ }
399
+ export function createErrorFixer(options) {
400
+ return new AIErrorFixer({ workingDir: options?.workingDir });
401
+ }
402
+ //# sourceMappingURL=aiErrorFixer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aiErrorFixer.js","sourceRoot":"","sources":["../../src/core/aiErrorFixer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Build Tool Plugin
3
+ *
4
+ * Provides build and test tools with AI-powered error analysis.
5
+ * Auto-enabled by default for all coding sessions.
6
+ */
7
+ import type { ToolPlugin } from '../registry.js';
8
+ export declare function createBuildToolPlugin(): ToolPlugin;
9
+ //# sourceMappingURL=buildPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/tools/build/buildPlugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,wBAAgB,qBAAqB,IAAI,UAAU,CAWlD"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Build Tool Plugin
3
+ *
4
+ * Provides build and test tools with AI-powered error analysis.
5
+ * Auto-enabled by default for all coding sessions.
6
+ */
7
+ import { BuildCapabilityModule } from '../../../capabilities/buildCapability.js';
8
+ export function createBuildToolPlugin() {
9
+ return {
10
+ id: 'tool.build.ai',
11
+ description: 'Build and test execution with AI-powered error analysis.',
12
+ targets: ['node', 'cloud'],
13
+ create: (context) => {
14
+ return new BuildCapabilityModule({
15
+ workingDir: context.workingDir,
16
+ });
17
+ },
18
+ };
19
+ }
20
+ //# sourceMappingURL=buildPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/tools/build/buildPlugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAGjF,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,EAAE,EAAE,eAAe;QACnB,WAAW,EAAE,0DAA0D;QACvE,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QAC1B,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;YAClB,OAAO,IAAI,qBAAqB,CAAC;gBAC/B,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"nodeDefaults.d.ts","sourceRoot":"","sources":["../../../src/plugins/tools/nodeDefaults.ts"],"names":[],"mappings":"AA+BA,wBAAgB,8BAA8B,IAAI,IAAI,CAkCrD"}
1
+ {"version":3,"file":"nodeDefaults.d.ts","sourceRoot":"","sources":["../../../src/plugins/tools/nodeDefaults.ts"],"names":[],"mappings":"AAgCA,wBAAgB,8BAA8B,IAAI,IAAI,CAmCrD"}
@@ -26,6 +26,7 @@ import { createCloudToolPlugin } from './cloud/cloudPlugin.js';
26
26
  import { createFrontendTestingToolPlugin } from './frontendTesting/frontendTestingPlugin.js';
27
27
  import { createBrowserAutomationToolPlugin } from './browser/browserAutomationPlugin.js';
28
28
  import { createValidationToolPlugin } from './validation/validationPlugin.js';
29
+ import { createBuildToolPlugin } from './build/buildPlugin.js';
29
30
  let registered = false;
30
31
  export function registerDefaultNodeToolPlugins() {
31
32
  if (registered) {
@@ -58,6 +59,7 @@ export function registerDefaultNodeToolPlugins() {
58
59
  registerToolPlugin(createFrontendTestingToolPlugin());
59
60
  registerToolPlugin(createBrowserAutomationToolPlugin());
60
61
  registerToolPlugin(createValidationToolPlugin());
62
+ registerToolPlugin(createBuildToolPlugin());
61
63
  registered = true;
62
64
  }
63
65
  //# sourceMappingURL=nodeDefaults.js.map