@aws/lsp-codewhisperer 0.0.70 → 0.0.71

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 (82) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/out/language-server/agenticChat/agenticChatController.js +22 -3
  3. package/out/language-server/agenticChat/agenticChatController.js.map +1 -1
  4. package/out/language-server/agenticChat/tools/executeBash.d.ts +3 -1
  5. package/out/language-server/agenticChat/tools/executeBash.js +28 -24
  6. package/out/language-server/agenticChat/tools/executeBash.js.map +1 -1
  7. package/out/language-server/agenticChat/tools/mcp/mcpEventHandler.js +257 -163
  8. package/out/language-server/agenticChat/tools/mcp/mcpEventHandler.js.map +1 -1
  9. package/out/language-server/agenticChat/tools/mcp/mcpManager.d.ts +37 -17
  10. package/out/language-server/agenticChat/tools/mcp/mcpManager.js +195 -78
  11. package/out/language-server/agenticChat/tools/mcp/mcpManager.js.map +1 -1
  12. package/out/language-server/agenticChat/tools/mcp/mcpTypes.d.ts +3 -1
  13. package/out/language-server/agenticChat/tools/mcp/mcpTypes.js.map +1 -1
  14. package/out/language-server/agenticChat/tools/mcp/mcpUtils.d.ts +0 -1
  15. package/out/language-server/agenticChat/tools/mcp/mcpUtils.js +36 -21
  16. package/out/language-server/agenticChat/tools/mcp/mcpUtils.js.map +1 -1
  17. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReview.d.ts +1 -0
  18. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReview.js +10 -15
  19. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReview.js.map +1 -1
  20. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewConstants.d.ts +2 -1
  21. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewConstants.js +3 -2
  22. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewConstants.js.map +1 -1
  23. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewUtils.d.ts +6 -0
  24. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewUtils.js +9 -0
  25. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewUtils.js.map +1 -1
  26. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindings.d.ts +89 -0
  27. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindings.js +138 -0
  28. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindings.js.map +1 -0
  29. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsConstants.d.ts +14 -0
  30. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsConstants.js +40 -0
  31. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsConstants.js.map +1 -0
  32. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsSchemas.d.ts +177 -0
  33. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsSchemas.js +93 -0
  34. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsSchemas.js.map +1 -0
  35. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsTypes.d.ts +27 -0
  36. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsTypes.js +12 -0
  37. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsTypes.js.map +1 -0
  38. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsUtils.d.ts +17 -0
  39. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsUtils.js +33 -0
  40. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsUtils.js.map +1 -0
  41. package/out/language-server/agenticChat/tools/toolServer.js +22 -2
  42. package/out/language-server/agenticChat/tools/toolServer.js.map +1 -1
  43. package/out/language-server/agenticChat/utils/commandParser.d.ts +17 -0
  44. package/out/language-server/agenticChat/utils/commandParser.js +85 -0
  45. package/out/language-server/agenticChat/utils/commandParser.js.map +1 -0
  46. package/out/language-server/chat/chatController.js +77 -0
  47. package/out/language-server/chat/chatController.js.map +1 -1
  48. package/out/language-server/chat/constants.d.ts +1 -0
  49. package/out/language-server/chat/constants.js +2 -1
  50. package/out/language-server/chat/constants.js.map +1 -1
  51. package/out/language-server/chat/telemetry/chatTelemetryController.d.ts +1 -0
  52. package/out/language-server/chat/telemetry/chatTelemetryController.js +1 -0
  53. package/out/language-server/chat/telemetry/chatTelemetryController.js.map +1 -1
  54. package/out/language-server/chat/utils.js +6 -0
  55. package/out/language-server/chat/utils.js.map +1 -1
  56. package/out/language-server/configuration/qConfigurationServer.d.ts +1 -0
  57. package/out/language-server/configuration/qConfigurationServer.js.map +1 -1
  58. package/out/language-server/inline-completion/auto-trigger/autoTrigger.js +2 -1
  59. package/out/language-server/inline-completion/auto-trigger/autoTrigger.js.map +1 -1
  60. package/out/language-server/inline-completion/codeWhispererServer.js +40 -37
  61. package/out/language-server/inline-completion/codeWhispererServer.js.map +1 -1
  62. package/out/language-server/workspaceContext/artifactManager.js +25 -6
  63. package/out/language-server/workspaceContext/artifactManager.js.map +1 -1
  64. package/out/shared/languageDetection.js +0 -2
  65. package/out/shared/languageDetection.js.map +1 -1
  66. package/out/shared/models/constants.js +2 -1
  67. package/out/shared/models/constants.js.map +1 -1
  68. package/out/shared/supplementalContextUtil/crossFileContextUtil.d.ts +4 -4
  69. package/out/shared/supplementalContextUtil/crossFileContextUtil.js +112 -8
  70. package/out/shared/supplementalContextUtil/crossFileContextUtil.js.map +1 -1
  71. package/out/shared/supplementalContextUtil/supplementalContextUtil.d.ts +1 -1
  72. package/out/shared/supplementalContextUtil/supplementalContextUtil.js +2 -2
  73. package/out/shared/supplementalContextUtil/supplementalContextUtil.js.map +1 -1
  74. package/out/shared/telemetry/telemetryService.js +36 -17
  75. package/out/shared/telemetry/telemetryService.js.map +1 -1
  76. package/out/shared/telemetry/types.d.ts +8 -1
  77. package/out/shared/telemetry/types.js +1 -0
  78. package/out/shared/telemetry/types.js.map +1 -1
  79. package/out/shared/utils.d.ts +12 -0
  80. package/out/shared/utils.js +53 -3
  81. package/out/shared/utils.js.map +1 -1
  82. package/package.json +4 -4
@@ -0,0 +1,177 @@
1
+ /*!
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { z } from 'zod';
6
+ /**
7
+ * Input schema for CodeReview tool
8
+ */
9
+ export declare const DISPLAY_FINDINGS_INPUT_SCHEMA: {
10
+ type: "object";
11
+ description: string;
12
+ properties: {
13
+ findings: {
14
+ type: "array";
15
+ description: string;
16
+ items: {
17
+ type: "object";
18
+ description: string;
19
+ properties: {
20
+ filePath: {
21
+ type: "string";
22
+ description: string;
23
+ };
24
+ startLine: {
25
+ type: "string";
26
+ description: string;
27
+ };
28
+ endLine: {
29
+ type: "string";
30
+ description: string;
31
+ };
32
+ title: {
33
+ type: "string";
34
+ description: string;
35
+ };
36
+ language: {
37
+ type: "string";
38
+ description: string;
39
+ };
40
+ description: {
41
+ type: "string";
42
+ description: string;
43
+ };
44
+ severity: {
45
+ type: "string";
46
+ description: string;
47
+ enum: string[];
48
+ };
49
+ suggestedFixes: {
50
+ type: "array";
51
+ description: string;
52
+ items: {
53
+ type: "string";
54
+ description: string;
55
+ };
56
+ };
57
+ };
58
+ required: readonly ["filePath", "startLine", "endLine", "title", "severity", "description", "language"];
59
+ };
60
+ };
61
+ };
62
+ required: readonly ["findings"];
63
+ };
64
+ /**
65
+ * Schema for a single finding
66
+ */
67
+ export declare const Z_DISPLAY_FINDING_SCHEMA: z.ZodObject<{
68
+ description: z.ZodString;
69
+ endLine: z.ZodString;
70
+ filePath: z.ZodString;
71
+ language: z.ZodString;
72
+ severity: z.ZodEnum<[string, ...string[]]>;
73
+ startLine: z.ZodString;
74
+ suggestedFixes: z.ZodOptional<z.ZodArray<z.ZodOptional<z.ZodString>, "many">>;
75
+ title: z.ZodString;
76
+ }, "strip", z.ZodTypeAny, {
77
+ filePath: string;
78
+ description: string;
79
+ language: string;
80
+ title: string;
81
+ startLine: string;
82
+ endLine: string;
83
+ severity: string;
84
+ suggestedFixes?: (string | undefined)[] | undefined;
85
+ }, {
86
+ filePath: string;
87
+ description: string;
88
+ language: string;
89
+ title: string;
90
+ startLine: string;
91
+ endLine: string;
92
+ severity: string;
93
+ suggestedFixes?: (string | undefined)[] | undefined;
94
+ }>;
95
+ /**
96
+ * Schema for an array of findings
97
+ */
98
+ export declare const Z_DISPLAY_FINDINGS_SCHEMA: z.ZodArray<z.ZodObject<{
99
+ description: z.ZodString;
100
+ endLine: z.ZodString;
101
+ filePath: z.ZodString;
102
+ language: z.ZodString;
103
+ severity: z.ZodEnum<[string, ...string[]]>;
104
+ startLine: z.ZodString;
105
+ suggestedFixes: z.ZodOptional<z.ZodArray<z.ZodOptional<z.ZodString>, "many">>;
106
+ title: z.ZodString;
107
+ }, "strip", z.ZodTypeAny, {
108
+ filePath: string;
109
+ description: string;
110
+ language: string;
111
+ title: string;
112
+ startLine: string;
113
+ endLine: string;
114
+ severity: string;
115
+ suggestedFixes?: (string | undefined)[] | undefined;
116
+ }, {
117
+ filePath: string;
118
+ description: string;
119
+ language: string;
120
+ title: string;
121
+ startLine: string;
122
+ endLine: string;
123
+ severity: string;
124
+ suggestedFixes?: (string | undefined)[] | undefined;
125
+ }>, "many">;
126
+ export declare const Z_DISPLAY_FINDINGS_INPUT_SCHEMA: z.ZodObject<{
127
+ findings: z.ZodArray<z.ZodObject<{
128
+ description: z.ZodString;
129
+ endLine: z.ZodString;
130
+ filePath: z.ZodString;
131
+ language: z.ZodString;
132
+ severity: z.ZodEnum<[string, ...string[]]>;
133
+ startLine: z.ZodString;
134
+ suggestedFixes: z.ZodOptional<z.ZodArray<z.ZodOptional<z.ZodString>, "many">>;
135
+ title: z.ZodString;
136
+ }, "strip", z.ZodTypeAny, {
137
+ filePath: string;
138
+ description: string;
139
+ language: string;
140
+ title: string;
141
+ startLine: string;
142
+ endLine: string;
143
+ severity: string;
144
+ suggestedFixes?: (string | undefined)[] | undefined;
145
+ }, {
146
+ filePath: string;
147
+ description: string;
148
+ language: string;
149
+ title: string;
150
+ startLine: string;
151
+ endLine: string;
152
+ severity: string;
153
+ suggestedFixes?: (string | undefined)[] | undefined;
154
+ }>, "many">;
155
+ }, "strip", z.ZodTypeAny, {
156
+ findings: {
157
+ filePath: string;
158
+ description: string;
159
+ language: string;
160
+ title: string;
161
+ startLine: string;
162
+ endLine: string;
163
+ severity: string;
164
+ suggestedFixes?: (string | undefined)[] | undefined;
165
+ }[];
166
+ }, {
167
+ findings: {
168
+ filePath: string;
169
+ description: string;
170
+ language: string;
171
+ title: string;
172
+ startLine: string;
173
+ endLine: string;
174
+ severity: string;
175
+ suggestedFixes?: (string | undefined)[] | undefined;
176
+ }[];
177
+ }>;
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ /*!
3
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.Z_DISPLAY_FINDINGS_INPUT_SCHEMA = exports.Z_DISPLAY_FINDINGS_SCHEMA = exports.Z_DISPLAY_FINDING_SCHEMA = exports.DISPLAY_FINDINGS_INPUT_SCHEMA = void 0;
8
+ const zod_1 = require("zod");
9
+ const codeReviewConstants_1 = require("./codeReviewConstants");
10
+ /**
11
+ * Input schema for CodeReview tool
12
+ */
13
+ exports.DISPLAY_FINDINGS_INPUT_SCHEMA = {
14
+ type: 'object',
15
+ description: [
16
+ 'There is only one input to the DisplayFindings tool: the findings.',
17
+ 'Please format all of the findings which are meant to be displayed using this schema.',
18
+ ].join('\n'),
19
+ properties: {
20
+ findings: {
21
+ type: 'array',
22
+ description: [
23
+ 'Array of the code issues, bugs, security risks, and code quality violations which were found by the agent and need to be sent to the Code Issues Panel',
24
+ ].join('\n'),
25
+ items: {
26
+ type: 'object',
27
+ description: 'Array item containing all of the findings which will be sent to the Code Issues Panel',
28
+ properties: {
29
+ filePath: {
30
+ type: 'string',
31
+ description: 'The absolute path of the file which has the finding',
32
+ },
33
+ startLine: {
34
+ type: 'string',
35
+ description: 'The line number of the first line of the finding',
36
+ },
37
+ endLine: {
38
+ type: 'string',
39
+ description: 'The line number of the last line of the finding.',
40
+ },
41
+ title: {
42
+ type: 'string',
43
+ description: 'A short title to represent the finding',
44
+ },
45
+ language: {
46
+ type: 'string',
47
+ description: 'The programming language of the file which holds the finding',
48
+ },
49
+ description: {
50
+ type: 'string',
51
+ description: 'A more thorough description of the finding',
52
+ },
53
+ severity: {
54
+ type: 'string',
55
+ description: 'The severity of the finding',
56
+ enum: codeReviewConstants_1.FINDING_SEVERITY,
57
+ },
58
+ suggestedFixes: {
59
+ type: 'array',
60
+ description: 'An array of possible fixes. Do not generate fixes just to populate this, only include them if they are provided.',
61
+ items: {
62
+ type: 'string',
63
+ description: 'The absolute path of the file which has the finding',
64
+ },
65
+ },
66
+ },
67
+ required: ['filePath', 'startLine', 'endLine', 'title', 'severity', 'description', 'language'],
68
+ },
69
+ },
70
+ },
71
+ required: ['findings'],
72
+ };
73
+ /**
74
+ * Schema for a single finding
75
+ */
76
+ exports.Z_DISPLAY_FINDING_SCHEMA = zod_1.z.object({
77
+ description: zod_1.z.string(),
78
+ endLine: zod_1.z.string(),
79
+ filePath: zod_1.z.string(),
80
+ language: zod_1.z.string(),
81
+ severity: zod_1.z.enum(codeReviewConstants_1.FINDING_SEVERITY),
82
+ startLine: zod_1.z.string(),
83
+ suggestedFixes: zod_1.z.array(zod_1.z.string().optional()).optional(),
84
+ title: zod_1.z.string(),
85
+ });
86
+ /**
87
+ * Schema for an array of findings
88
+ */
89
+ exports.Z_DISPLAY_FINDINGS_SCHEMA = zod_1.z.array(exports.Z_DISPLAY_FINDING_SCHEMA);
90
+ exports.Z_DISPLAY_FINDINGS_INPUT_SCHEMA = zod_1.z.object({
91
+ findings: exports.Z_DISPLAY_FINDINGS_SCHEMA,
92
+ });
93
+ //# sourceMappingURL=displayFindingsSchemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"displayFindingsSchemas.js","sourceRoot":"","sources":["../../../../../src/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsSchemas.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,6BAAuB;AACvB,+DAAwD;AAExD;;GAEG;AACU,QAAA,6BAA6B,GAAG;IACzC,IAAI,EAAS,QAAQ;IACrB,WAAW,EAAE;QACT,oEAAoE;QACpE,sFAAsF;KACzF,CAAC,IAAI,CAAC,IAAI,CAAC;IACZ,UAAU,EAAE;QACR,QAAQ,EAAE;YACN,IAAI,EAAS,OAAO;YACpB,WAAW,EAAE;gBACT,wJAAwJ;aAC3J,CAAC,IAAI,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE;gBACH,IAAI,EAAS,QAAQ;gBACrB,WAAW,EAAE,uFAAuF;gBACpG,UAAU,EAAE;oBACR,QAAQ,EAAE;wBACN,IAAI,EAAS,QAAQ;wBACrB,WAAW,EAAE,qDAAqD;qBACrE;oBACD,SAAS,EAAE;wBACP,IAAI,EAAS,QAAQ;wBACrB,WAAW,EAAE,kDAAkD;qBAClE;oBACD,OAAO,EAAE;wBACL,IAAI,EAAS,QAAQ;wBACrB,WAAW,EAAE,kDAAkD;qBAClE;oBACD,KAAK,EAAE;wBACH,IAAI,EAAS,QAAQ;wBACrB,WAAW,EAAE,wCAAwC;qBACxD;oBACD,QAAQ,EAAE;wBACN,IAAI,EAAS,QAAQ;wBACrB,WAAW,EAAE,8DAA8D;qBAC9E;oBACD,WAAW,EAAE;wBACT,IAAI,EAAS,QAAQ;wBACrB,WAAW,EAAE,4CAA4C;qBAC5D;oBACD,QAAQ,EAAE;wBACN,IAAI,EAAS,QAAQ;wBACrB,WAAW,EAAE,6BAA6B;wBAC1C,IAAI,EAAE,sCAAgB;qBACzB;oBACD,cAAc,EAAE;wBACZ,IAAI,EAAS,OAAO;wBACpB,WAAW,EACP,kHAAkH;wBACtH,KAAK,EAAE;4BACH,IAAI,EAAS,QAAQ;4BACrB,WAAW,EAAE,qDAAqD;yBACrE;qBACJ;iBACJ;gBACD,QAAQ,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,CAAU;aAC1G;SACJ;KACJ;IACD,QAAQ,EAAE,CAAC,UAAU,CAAU;CAClC,CAAA;AAED;;GAEG;AACU,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;IACvB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,OAAC,CAAC,IAAI,CAAC,sCAAyC,CAAC;IAC3D,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,cAAc,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE;IACzD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAA;AAEF;;GAEG;AACU,QAAA,yBAAyB,GAAG,OAAC,CAAC,KAAK,CAAC,gCAAwB,CAAC,CAAA;AAE7D,QAAA,+BAA+B,GAAG,OAAC,CAAC,MAAM,CAAC;IACpD,QAAQ,EAAE,iCAAyB;CACtC,CAAC,CAAA"}
@@ -0,0 +1,27 @@
1
+ export type DisplayFinding = {
2
+ filePath: string;
3
+ startLine: string;
4
+ endLine: string;
5
+ comment: string;
6
+ title: string;
7
+ description: string;
8
+ severity: string;
9
+ suggestedFixes: (string | undefined)[] | undefined;
10
+ language: string;
11
+ };
12
+ export declare enum SuccessMetricName {
13
+ DisplayFindingsSuccess = "displayFindingsSuccess"
14
+ }
15
+ export declare enum FailedMetricName {
16
+ DisplayFindingsFailed = "displayFindingsFailed"
17
+ }
18
+ export type DisplayFindingsMetric = {
19
+ reason: SuccessMetricName;
20
+ result: 'Succeeded';
21
+ metadata?: object;
22
+ } | {
23
+ reason: FailedMetricName;
24
+ result: 'Failed';
25
+ reasonDesc: string;
26
+ metadata?: object;
27
+ };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FailedMetricName = exports.SuccessMetricName = void 0;
4
+ var SuccessMetricName;
5
+ (function (SuccessMetricName) {
6
+ SuccessMetricName["DisplayFindingsSuccess"] = "displayFindingsSuccess";
7
+ })(SuccessMetricName || (exports.SuccessMetricName = SuccessMetricName = {}));
8
+ var FailedMetricName;
9
+ (function (FailedMetricName) {
10
+ FailedMetricName["DisplayFindingsFailed"] = "displayFindingsFailed";
11
+ })(FailedMetricName || (exports.FailedMetricName = FailedMetricName = {}));
12
+ //# sourceMappingURL=displayFindingsTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"displayFindingsTypes.js","sourceRoot":"","sources":["../../../../../src/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsTypes.ts"],"names":[],"mappings":";;;AAYA,IAAY,iBAEX;AAFD,WAAY,iBAAiB;IACzB,sEAAiD,CAAA;AACrD,CAAC,EAFW,iBAAiB,iCAAjB,iBAAiB,QAE5B;AAED,IAAY,gBAEX;AAFD,WAAY,gBAAgB;IACxB,mEAA+C,CAAA;AACnD,CAAC,EAFW,gBAAgB,gCAAhB,gBAAgB,QAE3B"}
@@ -0,0 +1,17 @@
1
+ import { Features } from '@aws/language-server-runtimes/server-interface/server';
2
+ import { DisplayFindingsMetric } from './displayFindingsTypes';
3
+ /**
4
+ * Utility functions for DisplayFindings
5
+ */
6
+ export declare class DisplayFindingsUtils {
7
+ /**
8
+ * Emit a telemetry metric with standard formatting
9
+ * @param metricSuffix Suffix for the metric name
10
+ * @param metricData Additional metric data
11
+ * @param toolName Tool name for the metric prefix
12
+ * @param logging Logging interface
13
+ * @param telemetry Telemetry interface
14
+ * @param credentialStartUrl Optional credential start URL
15
+ */
16
+ static emitMetric(metric: DisplayFindingsMetric, logging: Features['logging'], telemetry: Features['telemetry']): void;
17
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DisplayFindingsUtils = void 0;
4
+ const displayFindingsConstants_1 = require("./displayFindingsConstants");
5
+ /**
6
+ * Utility functions for DisplayFindings
7
+ */
8
+ class DisplayFindingsUtils {
9
+ /**
10
+ * Emit a telemetry metric with standard formatting
11
+ * @param metricSuffix Suffix for the metric name
12
+ * @param metricData Additional metric data
13
+ * @param toolName Tool name for the metric prefix
14
+ * @param logging Logging interface
15
+ * @param telemetry Telemetry interface
16
+ * @param credentialStartUrl Optional credential start URL
17
+ */
18
+ static emitMetric(metric, logging, telemetry) {
19
+ const { metadata, ...metricDetails } = metric;
20
+ const metricPayload = {
21
+ name: displayFindingsConstants_1.DISPLAY_FINDINGS_METRICS_PARENT_NAME,
22
+ data: {
23
+ // metadata is optional attribute
24
+ ...(metadata || {}),
25
+ ...metricDetails,
26
+ },
27
+ };
28
+ logging.info(`Emitting telemetry metric: ${metric.reason} with data: ${JSON.stringify(metricPayload.data)}`);
29
+ telemetry.emitMetric(metricPayload);
30
+ }
31
+ }
32
+ exports.DisplayFindingsUtils = DisplayFindingsUtils;
33
+ //# sourceMappingURL=displayFindingsUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"displayFindingsUtils.js","sourceRoot":"","sources":["../../../../../src/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsUtils.ts"],"names":[],"mappings":";;;AACA,yEAAiF;AAEjF;;GAEG;AACH,MAAa,oBAAoB;IAC7B;;;;;;;;OAQG;IACI,MAAM,CAAC,UAAU,CACpB,MAA6B,EAC7B,OAA4B,EAC5B,SAAgC;QAEhC,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,GAAG,MAAM,CAAA;QAC7C,MAAM,aAAa,GAAG;YAClB,IAAI,EAAE,+DAAoC;YAC1C,IAAI,EAAE;gBACF,iCAAiC;gBACjC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;gBACnB,GAAG,aAAa;aACnB;SACJ,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,8BAA8B,MAAM,CAAC,MAAM,eAAe,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC5G,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;IACvC,CAAC;CACJ;AA3BD,oDA2BC"}
@@ -18,6 +18,7 @@ const mcpUtils_1 = require("./mcp/mcpUtils");
18
18
  const fsReplace_1 = require("./fsReplace");
19
19
  const codeReviewUtils_1 = require("./qCodeAnalysis/codeReviewUtils");
20
20
  const constants_1 = require("../../../shared/constants");
21
+ const displayFindings_1 = require("./qCodeAnalysis/displayFindings");
21
22
  const FsToolsServer = ({ workspace, logging, agent, lsp }) => {
22
23
  const fsReadTool = new fsRead_1.FsRead({ workspace, lsp, logging });
23
24
  const fsWriteTool = new fsWrite_1.FsWrite({ workspace, lsp, logging });
@@ -60,6 +61,11 @@ const QCodeAnalysisServer = ({ agent, credentialsProvider, logging, lsp, sdkInit
60
61
  telemetry,
61
62
  workspace,
62
63
  });
64
+ const displayFindingsTool = new displayFindings_1.DisplayFindings({
65
+ logging,
66
+ telemetry,
67
+ workspace,
68
+ });
63
69
  lsp.onInitialized(async () => {
64
70
  if (!codeReviewUtils_1.CodeReviewUtils.isAgenticReviewEnabled(lsp.getClientInitializeParams())) {
65
71
  logging.warn('Agentic Review is currently not supported');
@@ -84,12 +90,26 @@ const QCodeAnalysisServer = ({ agent, credentialsProvider, logging, lsp, sdkInit
84
90
  writableStream: updates,
85
91
  });
86
92
  }, server_interface_1.ToolClassification.BuiltIn);
93
+ if (!codeReviewUtils_1.CodeReviewUtils.isDisplayFindingsEnabled(lsp.getClientInitializeParams())) {
94
+ logging.warn('Display Findings is currently not supported');
95
+ return;
96
+ }
97
+ agent.addTool({
98
+ name: displayFindings_1.DisplayFindings.toolName,
99
+ description: displayFindings_1.DisplayFindings.toolDescription,
100
+ inputSchema: displayFindings_1.DisplayFindings.inputSchema,
101
+ }, async (input, token, updates) => {
102
+ return await displayFindingsTool.execute(input, {
103
+ cancellationToken: token,
104
+ writableStream: updates,
105
+ });
106
+ }, server_interface_1.ToolClassification.BuiltIn);
87
107
  });
88
108
  return () => { };
89
109
  };
90
110
  exports.QCodeAnalysisServer = QCodeAnalysisServer;
91
- const BashToolsServer = ({ logging, workspace, agent, lsp }) => {
92
- const bashTool = new executeBash_1.ExecuteBash({ logging, workspace, lsp });
111
+ const BashToolsServer = ({ logging, workspace, agent, lsp, telemetry, credentialsProvider }) => {
112
+ const bashTool = new executeBash_1.ExecuteBash({ logging, workspace, lsp, telemetry, credentialsProvider });
93
113
  agent.addTool(bashTool.getSpec(), async (input, token, updates) => {
94
114
  await bashTool.validate(input);
95
115
  return await bashTool.invoke(input, token, updates);
@@ -1 +1 @@
1
- {"version":3,"file":"toolServer.js","sourceRoot":"","sources":["../../../../src/language-server/agenticChat/tools/toolServer.ts"],"names":[],"mappings":";;;AAAA,qFAA8G;AAC9G,qCAA+C;AAC/C,uCAAkD;AAClD,mDAAoE;AACpE,+CAA8D;AAC9D,uDAA0E;AAC1E,uEAAkG;AAClG,mEAA+D;AAC/D,iDAAkE;AAClE,2CAAuC;AACvC,6CAA2D;AAE3D,2DAAuD;AACvD,+EAAgF;AAEhF,6CAMuB;AACvB,2CAAwD;AACxD,qEAAiE;AACjE,yDAA4F;AAErF,MAAM,aAAa,GAAW,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;IACxE,MAAM,UAAU,GAAG,IAAI,eAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;IAC1D,MAAM,WAAW,GAAG,IAAI,iBAAO,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;IAC5D,MAAM,iBAAiB,GAAG,IAAI,6BAAa,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAA;IACxE,MAAM,cAAc,GAAG,IAAI,uBAAU,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;IAClE,MAAM,aAAa,GAAG,IAAI,qBAAS,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;IAEhE,KAAK,CAAC,OAAO,CACT,UAAU,CAAC,OAAO,EAAE,EACpB,KAAK,EAAE,KAAmB,EAAE,EAAE;QAC1B,MAAM,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAChC,OAAO,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACzC,CAAC,EACD,qCAAkB,CAAC,OAAO,CAC7B,CAAA;IAED,KAAK,CAAC,OAAO,CACT,WAAW,CAAC,OAAO,EAAE,EACrB,KAAK,EAAE,KAAoB,EAAE,EAAE;QAC3B,MAAM,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACjC,OAAO,MAAM,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC,EACD,qCAAkB,CAAC,eAAe,CACrC,CAAA;IAED,KAAK,CAAC,OAAO,CACT,aAAa,CAAC,OAAO,EAAE,EACvB,KAAK,EAAE,KAAsB,EAAE,EAAE;QAC7B,MAAM,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACnC,OAAO,MAAM,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC,EACD,qCAAkB,CAAC,eAAe,CACrC,CAAA;IAED,KAAK,CAAC,OAAO,CACT,iBAAiB,CAAC,OAAO,EAAE,EAC3B,KAAK,EAAE,KAA0B,EAAE,KAAyB,EAAE,EAAE;QAC5D,MAAM,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACvC,OAAO,MAAM,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACvD,CAAC,EACD,qCAAkB,CAAC,OAAO,CAC7B,CAAA;IAED,KAAK,CAAC,OAAO,CACT,cAAc,CAAC,OAAO,EAAE,EACxB,KAAK,EAAE,KAAuB,EAAE,KAAyB,EAAE,EAAE;QACzD,MAAM,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACpC,OAAO,MAAM,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACpD,CAAC,EACD,qCAAkB,CAAC,OAAO,CAC7B,CAAA;IAED,kCAAkC;IAClC,0GAA0G;IAC1G,2CAA2C;IAC3C,uDAAuD;IACvD,iCAAiC;IAEjC,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;AACnB,CAAC,CAAA;AA3DY,QAAA,aAAa,iBA2DzB;AAEM,MAAM,mBAAmB,GAAW,CAAC,EACxC,KAAK,EACL,mBAAmB,EACnB,OAAO,EACP,GAAG,EACH,gBAAgB,EAChB,SAAS,EACT,SAAS,GACZ,EAAE,EAAE;IACD,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IACnC,MAAM,cAAc,GAAG,IAAI,uBAAU,CAAC;QAClC,mBAAmB;QACnB,OAAO;QACP,SAAS;QACT,SAAS;KACZ,CAAC,CAAA;IAEF,GAAG,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;QACzB,IAAI,CAAC,iCAAe,CAAC,sBAAsB,CAAC,GAAG,CAAC,yBAAyB,EAAE,CAAC,EAAE,CAAC;YAC3E,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;YACzD,OAAM;QACV,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;QACzD,gDAAgD;QAChD,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,CAAC;YACtC,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAA;YACnD,OAAM;QACV,CAAC;QAED,kCAAkC;QAClC,MAAM,mBAAmB,GAAG,IAAI,gDAAyB,CACrD,mBAAmB,EACnB,SAAS,EACT,OAAO,EACP,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,gCAAoB,EACxD,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,sCAA0B,EAChE,gBAAgB,CACnB,CAAA;QAED,KAAK,CAAC,OAAO,CACT;YACI,IAAI,EAAE,uBAAU,CAAC,QAAQ;YACzB,WAAW,EAAE,uBAAU,CAAC,eAAe;YACvC,WAAW,EAAE,uBAAU,CAAC,WAAW;SACtC,EACD,KAAK,EAAE,KAAU,EAAE,KAAyB,EAAE,OAAwB,EAAE,EAAE;YACtE,OAAO,MAAM,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE;gBACvC,mBAAmB,EAAE,mBAAmB;gBACxC,iBAAiB,EAAE,KAAK;gBACxB,cAAc,EAAE,OAAO;aAC1B,CAAC,CAAA;QACN,CAAC,EACD,qCAAkB,CAAC,OAAO,CAC7B,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;AACnB,CAAC,CAAA;AA1DY,QAAA,mBAAmB,uBA0D/B;AAEM,MAAM,eAAe,GAAW,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;IAC1E,MAAM,QAAQ,GAAG,IAAI,yBAAW,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAA;IAC7D,KAAK,CAAC,OAAO,CACT,QAAQ,CAAC,OAAO,EAAE,EAClB,KAAK,EAAE,KAAwB,EAAE,KAAyB,EAAE,OAAwB,EAAE,EAAE;QACpF,MAAM,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC9B,OAAO,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IACvD,CAAC,EACD,qCAAkB,CAAC,eAAe,CACrC,CAAA;IACD,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;AACnB,CAAC,CAAA;AAXY,QAAA,eAAe,mBAW3B;AAEM,MAAM,cAAc,GAAW,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;IACzE,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;IACnE,MAAM,uBAAuB,GAAG,IAAI,iDAAuB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;IACnF,MAAM,qBAAqB,GAAG,IAAI,6CAAqB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;IAEzE,KAAK,CAAC,OAAO,CAAC,iCAAe,CAAC,OAAO,EAAE,EAAE,CAAC,KAA4B,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IACzG,KAAK,CAAC,OAAO,CAAC,iDAAuB,CAAC,OAAO,EAAE,EAAE,CAAC,KAAoC,EAAE,EAAE,CACtF,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,CACxC,CAAA;IACD,KAAK,CAAC,OAAO,CAAC,6CAAqB,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAE5F,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;AACnB,CAAC,CAAA;AAZY,QAAA,cAAc,kBAY1B;AAEM,MAAM,cAAc,GAAW,CAAC,EAAE,mBAAmB,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;IAClH,MAAM,UAAU,GAA6B,EAAE,CAAA;IAE/C,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAA;IAE5C,SAAS,mBAAmB,CAAC,MAAc,EAAE,IAAyB;QAClE,sBAAsB;QACtB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1C,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YACtB,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACnC,CAAC;QACD,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;QAEvB,2BAA2B;QAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,yBAAyB;YAEzB,4CAA4C;YAC5C,MAAM,UAAU,GAAG,IAAA,mCAAwB,EACvC,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,QAAQ,EACZ,kBAAkB,EAClB,uBAAU,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAC3C,CAAA;YACD,MAAM,IAAI,GAAG,IAAI,iBAAO,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAA;YAE1D,wCAAwC;YACxC,MAAM,0BAA0B,GAAG;gBAC/B,GAAG,GAAG,CAAC,WAAW;gBAClB,UAAU,EAAE;oBACR,GAAG,GAAG,CAAC,WAAW,CAAC,UAAU;oBAC7B,WAAW,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EACP,iGAAiG;qBACxG;iBACJ;aACJ,CAAA;YAED,MAAM,cAAc,GAAG,GAAG,UAAU,eAAe,GAAG,CAAC,QAAQ,GAAG,CAAA;YAClE,IAAI,CAAC;gBACD,KAAK,CAAC,OAAO,CACT;oBACI,IAAI,EAAE,UAAU;oBAChB,WAAW,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC;oBACzE,WAAW,EAAE,0BAA0B;iBAC1C,EACD,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAC3B,qCAAkB,CAAC,GAAG,CACzB,CAAA;gBACD,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACnC,OAAO,CAAC,IAAI,CAAC,wBAAwB,cAAc,EAAE,CAAC,CAAA;YAC1D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,IAAI,CAAC,2BAA2B,cAAc,GAAG,EAAE,CAAC,CAAC,CAAA;YACjE,CAAC;QACL,CAAC;IACL,CAAC;IAED,GAAG,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;QACzB,IAAI,CAAC;YACD,IAAI,CAAC,IAAA,qBAAU,EAAC,GAAG,CAAC,yBAAyB,EAAE,CAAC,EAAE,CAAC;gBAC/C,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;gBAC9C,OAAM;YACV,CAAC;YAED,MAAM,MAAM,GAAG,SAAS,CAAC,sBAAsB,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;YACxE,kBAAkB;YAClB,MAAM,YAAY,GAAG,IAAA,uCAA4B,EAAC,MAAM,CAAC,CAAA;YACzD,MAAM,eAAe,GAAG,IAAA,mCAAwB,EAAC,SAAS,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,CAAA;YAC/E,MAAM,aAAa,GAAG,CAAC,GAAG,YAAY,EAAE,eAAe,CAAC,CAAA;YAExD,mDAAmD;YACnD,MAAM,IAAA,+BAAoB,EAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;YAErD,MAAM,GAAG,GAAG,MAAM,uBAAU,CAAC,IAAI,CAAC,aAAa,EAAE;gBAC7C,OAAO;gBACP,SAAS;gBACT,GAAG;gBACH,SAAS;gBACT,mBAAmB;gBACnB,OAAO;aACV,CAAC,CAAA;YAEF,sGAAsG;YACtG,uBAAU,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAA;YAE1C,MAAM,QAAQ,GAAwC,EAAE,CAAA;YAExD,OAAO,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;YACjE,8BAA8B;YAC9B,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC;gBACpC,CAAC;gBAAA,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC5C,CAAC;YACD,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpD,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACrC,CAAC;YAED,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,gCAAmB,EAAE,CAAC,MAAc,EAAE,IAAyB,EAAE,EAAE;gBAC7E,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACrC,CAAC,CAAC,CAAA;QACN,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,gFAAgF,EAAE,CAAC,CAAC,CAAA;QACrG,CAAC;IACL,CAAC,CAAC,CAAA;IAEF,OAAO,KAAK,IAAI,EAAE;QACd,MAAM,uBAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IACrC,CAAC,CAAA;AACL,CAAC,CAAA;AA5GY,QAAA,cAAc,kBA4G1B"}
1
+ {"version":3,"file":"toolServer.js","sourceRoot":"","sources":["../../../../src/language-server/agenticChat/tools/toolServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Parses command arguments and extracts only the base commands without arguments or options.
3
+ *
4
+ * Examples:
5
+ * - "cd /home/user/documents" -> ["cd"]
6
+ * - "echo 'Hello World' && ls -la" -> ["echo", "ls"]
7
+ * - "sudo apt-get install" -> ["sudo", "apt-get"]
8
+ * - "time curl http://example.com" -> ["time", "curl"]
9
+ * - "command1; command2" -> ["command1", "command2"]
10
+ * - "/usr/bin/python script.py" -> ["python"]
11
+ * - "./script.sh" -> ["script.sh"]
12
+ * - "function_name args" -> ["function_name"]
13
+ *
14
+ * @param args Array of command arguments
15
+ * @returns Array of base commands found in the input args
16
+ */
17
+ export declare function parseBaseCommands(args: string[]): string[];
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseBaseCommands = parseBaseCommands;
4
+ const executeBash_1 = require("../tools/executeBash");
5
+ /**
6
+ * Parses command arguments and extracts only the base commands without arguments or options.
7
+ *
8
+ * Examples:
9
+ * - "cd /home/user/documents" -> ["cd"]
10
+ * - "echo 'Hello World' && ls -la" -> ["echo", "ls"]
11
+ * - "sudo apt-get install" -> ["sudo", "apt-get"]
12
+ * - "time curl http://example.com" -> ["time", "curl"]
13
+ * - "command1; command2" -> ["command1", "command2"]
14
+ * - "/usr/bin/python script.py" -> ["python"]
15
+ * - "./script.sh" -> ["script.sh"]
16
+ * - "function_name args" -> ["function_name"]
17
+ *
18
+ * @param args Array of command arguments
19
+ * @returns Array of base commands found in the input args
20
+ */
21
+ function parseBaseCommands(args) {
22
+ if (!args || !Array.isArray(args) || args.length === 0) {
23
+ return [];
24
+ }
25
+ const baseCommands = [];
26
+ // Process the args to extract base commands
27
+ let i = 0;
28
+ let expectCommand = true; // Flag to indicate we're expecting a command
29
+ while (i < args.length) {
30
+ const arg = args[i];
31
+ // Check if this arg is an operator or contains an operator
32
+ if (executeBash_1.splitOperators.has(arg) || arg.includes(';')) {
33
+ expectCommand = true; // Next argument should be a command
34
+ i++;
35
+ continue;
36
+ }
37
+ if (expectCommand) {
38
+ // Extract the base command
39
+ let baseCommand = arg;
40
+ // Handle path prefixes (/usr/bin/command or ./command)
41
+ if (baseCommand.includes('/')) {
42
+ baseCommand = baseCommand.split('/').pop() || baseCommand;
43
+ }
44
+ baseCommands.push(baseCommand);
45
+ // Special case for sudo, time, etc. - include the actual command too
46
+ if (['sudo', 'time', 'nice', 'nohup', 'env'].includes(baseCommand)) {
47
+ // Skip any flags/options and their values
48
+ let j = i + 1;
49
+ while (j < args.length) {
50
+ // If we find an operator, stop looking for the command
51
+ if (executeBash_1.splitOperators.has(args[j]) || args[j].includes(';')) {
52
+ break;
53
+ }
54
+ // Skip flag and its value if present
55
+ if (args[j].startsWith('-')) {
56
+ // Handle flags with values (e.g., -u user, -n 10)
57
+ if (j + 1 < args.length &&
58
+ !args[j + 1].startsWith('-') &&
59
+ !executeBash_1.splitOperators.has(args[j + 1]) &&
60
+ !args[j + 1].includes(';')) {
61
+ j += 2; // Skip both the flag and its value
62
+ }
63
+ else {
64
+ j++; // Skip just the flag
65
+ }
66
+ continue;
67
+ }
68
+ // Found the actual command
69
+ let nextCommand = args[j];
70
+ // Handle path prefixes for the command after sudo/time
71
+ if (nextCommand.includes('/')) {
72
+ nextCommand = nextCommand.split('/').pop() || nextCommand;
73
+ }
74
+ baseCommands.push(nextCommand);
75
+ break;
76
+ }
77
+ }
78
+ // For all commands, we don't expect another command until we see an operator
79
+ expectCommand = false;
80
+ }
81
+ i++;
82
+ }
83
+ return baseCommands;
84
+ }
85
+ //# sourceMappingURL=commandParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commandParser.js","sourceRoot":"","sources":["../../../../src/language-server/agenticChat/utils/commandParser.ts"],"names":[],"mappings":"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"}