@aws/lsp-codewhisperer 0.0.39 → 0.0.40

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 (421) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/node_modules/@amzn/codewhisperer-streaming/README.md +56 -0
  3. package/node_modules/@amzn/codewhisperer-streaming/dist-cjs/protocols/Aws_restJson1.js +2 -0
  4. package/node_modules/@amzn/codewhisperer-streaming/dist-es/protocols/Aws_restJson1.js +2 -0
  5. package/node_modules/@amzn/codewhisperer-streaming/dist-types/commands/GenerateAssistantResponseCommand.d.ts +3 -0
  6. package/node_modules/@amzn/codewhisperer-streaming/dist-types/commands/GenerateTaskAssistPlanCommand.d.ts +3 -0
  7. package/node_modules/@amzn/codewhisperer-streaming/dist-types/commands/SendMessageCommand.d.ts +3 -0
  8. package/node_modules/@amzn/codewhisperer-streaming/dist-types/models/models_0.d.ts +10 -0
  9. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/abort-controller/package.json +2 -2
  10. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/node-http-handler.d.ts +0 -2
  11. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-manager.d.ts +0 -1
  12. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-pool.d.ts +1 -2
  13. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/readable.mock.d.ts +0 -3
  14. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/set-connection-timeout.d.ts +0 -7
  15. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/set-socket-keep-alive.d.ts +0 -7
  16. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/set-socket-timeout.d.ts +0 -7
  17. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/stream-collector/collector.d.ts +0 -3
  18. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/stream-collector/readable.mock.d.ts +0 -3
  19. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http-handler.d.ts +0 -1
  20. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-manager.d.ts +0 -1
  21. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-pool.d.ts +1 -2
  22. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/ts3.4/readable.mock.d.ts +0 -1
  23. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-connection-timeout.d.ts +0 -1
  24. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-keep-alive.d.ts +0 -1
  25. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-timeout.d.ts +0 -1
  26. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/ts3.4/stream-collector/collector.d.ts +0 -1
  27. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/ts3.4/stream-collector/readable.mock.d.ts +0 -1
  28. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/ts3.4/write-request-body.d.ts +0 -1
  29. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/write-request-body.d.ts +0 -2
  30. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/package.json +5 -5
  31. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/LICENSE +201 -0
  32. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/README.md +115 -0
  33. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/abort-handler.js +1 -0
  34. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/abort.js +1 -0
  35. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/auth/HttpApiKeyAuth.js +1 -0
  36. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/auth/HttpAuthScheme.js +1 -0
  37. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/auth/HttpAuthSchemeProvider.js +1 -0
  38. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/auth/HttpSigner.js +1 -0
  39. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/auth/IdentityProviderConfig.js +1 -0
  40. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/auth/auth.js +1 -0
  41. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/auth/index.js +1 -0
  42. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/blob/blob-payload-input-types.js +1 -0
  43. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/checksum.js +1 -0
  44. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/client.js +1 -0
  45. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/command.js +1 -0
  46. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/connection/config.js +1 -0
  47. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/connection/index.js +1 -0
  48. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/connection/manager.js +1 -0
  49. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/connection/pool.js +1 -0
  50. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/crypto.js +1 -0
  51. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/downlevel-ts3.4/transform/type-transform.js +1 -0
  52. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/encode.js +1 -0
  53. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/endpoint.js +1 -0
  54. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/endpoints/EndpointRuleObject.js +1 -0
  55. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/endpoints/ErrorRuleObject.js +1 -0
  56. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/endpoints/RuleSetObject.js +1 -0
  57. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/endpoints/TreeRuleObject.js +1 -0
  58. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/endpoints/index.js +1 -0
  59. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/endpoints/shared.js +1 -0
  60. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/eventStream.js +1 -0
  61. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/extensions/checksum.js +1 -0
  62. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/extensions/defaultClientConfiguration.js +1 -0
  63. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/extensions/defaultExtensionConfiguration.js +1 -0
  64. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/extensions/index.js +1 -0
  65. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/extensions/retry.js +1 -0
  66. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/externals-check/browser-externals-check.js +1 -0
  67. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/feature-ids.js +1 -0
  68. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/http/httpHandlerInitialization.js +1 -0
  69. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/http.js +1 -0
  70. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/identity/apiKeyIdentity.js +1 -0
  71. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/identity/awsCredentialIdentity.js +1 -0
  72. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/identity/identity.js +1 -0
  73. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/identity/index.js +1 -0
  74. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/identity/tokenIdentity.js +1 -0
  75. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/index.js +144 -0
  76. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/logger.js +1 -0
  77. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/middleware.js +1 -0
  78. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/pagination.js +1 -0
  79. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/profile.js +1 -0
  80. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/response.js +1 -0
  81. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/retry.js +1 -0
  82. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/schema/schema.js +1 -0
  83. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/schema/sentinels.js +1 -0
  84. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/schema/traits.js +1 -0
  85. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/serde.js +1 -0
  86. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/shapes.js +1 -0
  87. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/signature.js +1 -0
  88. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/stream.js +1 -0
  89. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/streaming-payload/streaming-blob-common-types.js +1 -0
  90. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/streaming-payload/streaming-blob-payload-input-types.js +1 -0
  91. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/streaming-payload/streaming-blob-payload-output-types.js +1 -0
  92. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/transfer.js +1 -0
  93. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/transform/client-method-transforms.js +1 -0
  94. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/transform/client-payload-blob-type-narrow.js +1 -0
  95. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/transform/exact.js +1 -0
  96. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/transform/mutable.js +1 -0
  97. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/transform/no-undefined.js +1 -0
  98. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/transform/type-transform.js +1 -0
  99. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/uri.js +1 -0
  100. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/util.js +1 -0
  101. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/waiter.js +1 -0
  102. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/abort-handler.js +1 -0
  103. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/abort.js +1 -0
  104. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/auth/HttpApiKeyAuth.js +5 -0
  105. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/auth/HttpAuthScheme.js +1 -0
  106. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/auth/HttpAuthSchemeProvider.js +1 -0
  107. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/auth/HttpSigner.js +1 -0
  108. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/auth/IdentityProviderConfig.js +1 -0
  109. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/auth/auth.js +5 -0
  110. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/auth/index.js +6 -0
  111. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/blob/blob-payload-input-types.js +1 -0
  112. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/checksum.js +1 -0
  113. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/client.js +1 -0
  114. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/command.js +1 -0
  115. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/connection/config.js +1 -0
  116. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/connection/index.js +3 -0
  117. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/connection/manager.js +1 -0
  118. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/connection/pool.js +1 -0
  119. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/crypto.js +1 -0
  120. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/downlevel-ts3.4/transform/type-transform.js +1 -0
  121. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/encode.js +1 -0
  122. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/endpoint.js +5 -0
  123. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/endpoints/EndpointRuleObject.js +1 -0
  124. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/endpoints/ErrorRuleObject.js +1 -0
  125. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/endpoints/RuleSetObject.js +1 -0
  126. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/endpoints/TreeRuleObject.js +1 -0
  127. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/endpoints/index.js +5 -0
  128. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/endpoints/shared.js +1 -0
  129. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/eventStream.js +1 -0
  130. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/extensions/checksum.js +38 -0
  131. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/extensions/defaultClientConfiguration.js +7 -0
  132. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/extensions/defaultExtensionConfiguration.js +1 -0
  133. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/extensions/index.js +3 -0
  134. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/extensions/retry.js +1 -0
  135. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/externals-check/browser-externals-check.js +1 -0
  136. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/feature-ids.js +1 -0
  137. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/http/httpHandlerInitialization.js +1 -0
  138. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/http.js +5 -0
  139. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/identity/apiKeyIdentity.js +1 -0
  140. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/identity/awsCredentialIdentity.js +1 -0
  141. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/identity/identity.js +1 -0
  142. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/identity/index.js +4 -0
  143. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/identity/tokenIdentity.js +1 -0
  144. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/index.js +40 -0
  145. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/logger.js +1 -0
  146. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/middleware.js +1 -0
  147. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/pagination.js +1 -0
  148. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/profile.js +6 -0
  149. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/response.js +1 -0
  150. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/retry.js +1 -0
  151. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/schema/schema.js +1 -0
  152. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/schema/sentinels.js +1 -0
  153. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/schema/traits.js +1 -0
  154. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/serde.js +1 -0
  155. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/shapes.js +1 -0
  156. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/signature.js +1 -0
  157. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/stream.js +1 -0
  158. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/streaming-payload/streaming-blob-common-types.js +1 -0
  159. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/streaming-payload/streaming-blob-payload-input-types.js +1 -0
  160. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/streaming-payload/streaming-blob-payload-output-types.js +1 -0
  161. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/transfer.js +6 -0
  162. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/transform/client-method-transforms.js +1 -0
  163. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/transform/client-payload-blob-type-narrow.js +1 -0
  164. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/transform/exact.js +1 -0
  165. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/transform/mutable.js +1 -0
  166. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/transform/no-undefined.js +1 -0
  167. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/transform/type-transform.js +1 -0
  168. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/uri.js +1 -0
  169. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/util.js +1 -0
  170. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/waiter.js +1 -0
  171. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/abort-handler.d.ts +7 -0
  172. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/abort.d.ts +50 -0
  173. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/auth/HttpApiKeyAuth.d.ts +7 -0
  174. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/auth/HttpAuthScheme.d.ts +49 -0
  175. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/auth/HttpAuthSchemeProvider.d.ts +20 -0
  176. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/auth/HttpSigner.d.ts +41 -0
  177. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/auth/IdentityProviderConfig.d.ts +14 -0
  178. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/auth/auth.d.ts +57 -0
  179. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/auth/index.d.ts +6 -0
  180. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/blob/blob-payload-input-types.d.ts +40 -0
  181. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/checksum.d.ts +63 -0
  182. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/client.d.ts +57 -0
  183. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/command.d.ts +25 -0
  184. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/connection/config.d.ts +10 -0
  185. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/connection/index.d.ts +3 -0
  186. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/connection/manager.d.ts +34 -0
  187. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/connection/pool.d.ts +32 -0
  188. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/crypto.d.ts +60 -0
  189. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/downlevel-ts3.4/transform/type-transform.d.ts +25 -0
  190. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/encode.d.ts +31 -0
  191. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/endpoint.d.ts +77 -0
  192. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/endpoints/EndpointRuleObject.d.ts +27 -0
  193. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/endpoints/ErrorRuleObject.d.ts +10 -0
  194. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/endpoints/RuleSetObject.d.ts +28 -0
  195. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/endpoints/TreeRuleObject.d.ts +16 -0
  196. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/endpoints/index.d.ts +5 -0
  197. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/endpoints/shared.d.ts +55 -0
  198. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/eventStream.d.ts +137 -0
  199. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/extensions/checksum.d.ts +58 -0
  200. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/extensions/defaultClientConfiguration.d.ts +33 -0
  201. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/extensions/defaultExtensionConfiguration.d.ts +9 -0
  202. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/extensions/index.d.ts +4 -0
  203. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/extensions/retry.d.ts +18 -0
  204. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/externals-check/browser-externals-check.d.ts +35 -0
  205. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/feature-ids.d.ts +16 -0
  206. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/http/httpHandlerInitialization.d.ts +121 -0
  207. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/http.d.ts +112 -0
  208. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/identity/apiKeyIdentity.d.ts +14 -0
  209. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/identity/awsCredentialIdentity.d.ts +31 -0
  210. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/identity/identity.d.ts +15 -0
  211. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/identity/index.d.ts +4 -0
  212. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/identity/tokenIdentity.d.ts +14 -0
  213. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/index.d.ts +40 -0
  214. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/logger.d.ts +13 -0
  215. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/middleware.d.ts +534 -0
  216. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/pagination.d.ts +33 -0
  217. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/profile.d.ts +30 -0
  218. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/response.d.ts +40 -0
  219. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/retry.d.ts +133 -0
  220. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/schema/schema.d.ts +263 -0
  221. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/schema/sentinels.d.ts +65 -0
  222. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/schema/traits.d.ts +46 -0
  223. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/serde.d.ts +114 -0
  224. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/shapes.d.ts +82 -0
  225. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/signature.d.ts +155 -0
  226. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/stream.d.ts +22 -0
  227. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-common-types.d.ts +32 -0
  228. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-payload-input-types.d.ts +60 -0
  229. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-payload-output-types.d.ts +51 -0
  230. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/transfer.d.ts +41 -0
  231. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/transform/client-method-transforms.d.ts +26 -0
  232. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/transform/client-payload-blob-type-narrow.d.ts +77 -0
  233. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/transform/exact.d.ts +6 -0
  234. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/transform/mutable.d.ts +6 -0
  235. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/transform/no-undefined.d.ts +68 -0
  236. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/transform/type-transform.d.ts +34 -0
  237. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/abort-handler.d.ts +7 -0
  238. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/abort.d.ts +50 -0
  239. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/auth/HttpApiKeyAuth.d.ts +7 -0
  240. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/auth/HttpAuthScheme.d.ts +49 -0
  241. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/auth/HttpAuthSchemeProvider.d.ts +20 -0
  242. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/auth/HttpSigner.d.ts +41 -0
  243. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/auth/IdentityProviderConfig.d.ts +14 -0
  244. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/auth/auth.d.ts +57 -0
  245. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/auth/index.d.ts +6 -0
  246. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/blob/blob-payload-input-types.d.ts +40 -0
  247. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/checksum.d.ts +63 -0
  248. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/client.d.ts +57 -0
  249. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/command.d.ts +25 -0
  250. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/connection/config.d.ts +10 -0
  251. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/connection/index.d.ts +3 -0
  252. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/connection/manager.d.ts +34 -0
  253. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/connection/pool.d.ts +32 -0
  254. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/crypto.d.ts +60 -0
  255. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/downlevel-ts3.4/transform/type-transform.d.ts +41 -0
  256. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/encode.d.ts +31 -0
  257. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/endpoint.d.ts +77 -0
  258. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/endpoints/EndpointRuleObject.d.ts +27 -0
  259. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/endpoints/ErrorRuleObject.d.ts +10 -0
  260. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/endpoints/RuleSetObject.d.ts +28 -0
  261. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/endpoints/TreeRuleObject.d.ts +16 -0
  262. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/endpoints/index.d.ts +5 -0
  263. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/endpoints/shared.d.ts +55 -0
  264. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/eventStream.d.ts +137 -0
  265. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/extensions/checksum.d.ts +58 -0
  266. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/extensions/defaultClientConfiguration.d.ts +33 -0
  267. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/extensions/defaultExtensionConfiguration.d.ts +9 -0
  268. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/extensions/index.d.ts +4 -0
  269. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/extensions/retry.d.ts +18 -0
  270. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/externals-check/browser-externals-check.d.ts +35 -0
  271. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/feature-ids.d.ts +16 -0
  272. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/http/httpHandlerInitialization.d.ts +121 -0
  273. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/http.d.ts +112 -0
  274. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/identity/apiKeyIdentity.d.ts +14 -0
  275. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/identity/awsCredentialIdentity.d.ts +31 -0
  276. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/identity/identity.d.ts +15 -0
  277. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/identity/index.d.ts +4 -0
  278. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/identity/tokenIdentity.d.ts +14 -0
  279. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/index.d.ts +40 -0
  280. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/logger.d.ts +13 -0
  281. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/middleware.d.ts +534 -0
  282. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/pagination.d.ts +33 -0
  283. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/profile.d.ts +30 -0
  284. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/response.d.ts +40 -0
  285. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/retry.d.ts +133 -0
  286. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/schema/schema.d.ts +278 -0
  287. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/schema/sentinels.d.ts +65 -0
  288. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/schema/traits.d.ts +46 -0
  289. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/serde.d.ts +114 -0
  290. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/shapes.d.ts +82 -0
  291. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/signature.d.ts +155 -0
  292. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/stream.d.ts +22 -0
  293. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/streaming-payload/streaming-blob-common-types.d.ts +32 -0
  294. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/streaming-payload/streaming-blob-payload-input-types.d.ts +60 -0
  295. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/streaming-payload/streaming-blob-payload-output-types.d.ts +51 -0
  296. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/transfer.d.ts +41 -0
  297. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/transform/client-method-transforms.d.ts +26 -0
  298. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/transform/client-payload-blob-type-narrow.d.ts +81 -0
  299. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/transform/exact.d.ts +14 -0
  300. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/transform/mutable.d.ts +6 -0
  301. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/transform/no-undefined.d.ts +88 -0
  302. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/transform/type-transform.d.ts +41 -0
  303. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/uri.d.ts +17 -0
  304. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/util.d.ts +192 -0
  305. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/waiter.d.ts +35 -0
  306. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/uri.d.ts +17 -0
  307. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/util.d.ts +176 -0
  308. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/waiter.d.ts +35 -0
  309. package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/package.json +60 -0
  310. package/node_modules/@amzn/codewhisperer-streaming/package.json +1 -1
  311. package/out/client/sigv4/service.json +8 -0
  312. package/out/client/token/bearer-token-service.json +20 -0
  313. package/out/language-server/agenticChat/agenticChatController.d.ts +9 -3
  314. package/out/language-server/agenticChat/agenticChatController.js +335 -75
  315. package/out/language-server/agenticChat/agenticChatController.js.map +1 -1
  316. package/out/language-server/agenticChat/agenticChatResultStream.d.ts +9 -0
  317. package/out/language-server/agenticChat/agenticChatResultStream.js +41 -1
  318. package/out/language-server/agenticChat/agenticChatResultStream.js.map +1 -1
  319. package/out/language-server/agenticChat/constants.d.ts +0 -1
  320. package/out/language-server/agenticChat/constants.js +1 -2
  321. package/out/language-server/agenticChat/constants.js.map +1 -1
  322. package/out/language-server/agenticChat/context/addtionalContextProvider.d.ts +2 -3
  323. package/out/language-server/agenticChat/context/addtionalContextProvider.js +3 -5
  324. package/out/language-server/agenticChat/context/addtionalContextProvider.js.map +1 -1
  325. package/out/language-server/agenticChat/context/agenticChatTriggerContext.d.ts +1 -0
  326. package/out/language-server/agenticChat/context/agenticChatTriggerContext.js +15 -2
  327. package/out/language-server/agenticChat/context/agenticChatTriggerContext.js.map +1 -1
  328. package/out/language-server/agenticChat/errors.d.ts +2 -1
  329. package/out/language-server/agenticChat/errors.js +11 -1
  330. package/out/language-server/agenticChat/errors.js.map +1 -1
  331. package/out/language-server/agenticChat/tabBarController.d.ts +10 -1
  332. package/out/language-server/agenticChat/tabBarController.js +54 -27
  333. package/out/language-server/agenticChat/tabBarController.js.map +1 -1
  334. package/out/language-server/agenticChat/tools/chatDb/chatDb.d.ts +8 -9
  335. package/out/language-server/agenticChat/tools/chatDb/chatDb.js +58 -124
  336. package/out/language-server/agenticChat/tools/chatDb/chatDb.js.map +1 -1
  337. package/out/language-server/agenticChat/tools/codeSearch.js +1 -1
  338. package/out/language-server/agenticChat/tools/codeSearch.js.map +1 -1
  339. package/out/language-server/agenticChat/tools/executeBash.d.ts +2 -2
  340. package/out/language-server/agenticChat/tools/executeBash.js +4 -4
  341. package/out/language-server/agenticChat/tools/executeBash.js.map +1 -1
  342. package/out/language-server/agenticChat/tools/fileSearch.js +1 -1
  343. package/out/language-server/agenticChat/tools/fileSearch.js.map +1 -1
  344. package/out/language-server/agenticChat/tools/fsRead.js +1 -1
  345. package/out/language-server/agenticChat/tools/fsRead.js.map +1 -1
  346. package/out/language-server/agenticChat/tools/fsWrite.js +1 -1
  347. package/out/language-server/agenticChat/tools/fsWrite.js.map +1 -1
  348. package/out/language-server/agenticChat/tools/grepSearch.d.ts +74 -0
  349. package/out/language-server/agenticChat/tools/grepSearch.js +254 -0
  350. package/out/language-server/agenticChat/tools/grepSearch.js.map +1 -0
  351. package/out/language-server/agenticChat/tools/listDirectory.js +1 -1
  352. package/out/language-server/agenticChat/tools/listDirectory.js.map +1 -1
  353. package/out/language-server/agenticChat/tools/toolServer.js +2 -1
  354. package/out/language-server/agenticChat/tools/toolServer.js.map +1 -1
  355. package/out/language-server/agenticChat/tools/toolShared.d.ts +1 -1
  356. package/out/language-server/agenticChat/tools/toolShared.js +2 -2
  357. package/out/language-server/agenticChat/tools/toolShared.js.map +1 -1
  358. package/out/language-server/chat/chatController.d.ts +1 -1
  359. package/out/language-server/chat/chatController.js.map +1 -1
  360. package/out/language-server/chat/chatSessionService.d.ts +13 -0
  361. package/out/language-server/chat/chatSessionService.js +28 -4
  362. package/out/language-server/chat/chatSessionService.js.map +1 -1
  363. package/out/language-server/chat/contexts/triggerContext.js +1 -0
  364. package/out/language-server/chat/contexts/triggerContext.js.map +1 -1
  365. package/out/language-server/chat/telemetry/chatTelemetryController.d.ts +5 -4
  366. package/out/language-server/chat/telemetry/chatTelemetryController.js +29 -5
  367. package/out/language-server/chat/telemetry/chatTelemetryController.js.map +1 -1
  368. package/out/language-server/inline-completion/codePercentage.js +1 -0
  369. package/out/language-server/inline-completion/codePercentage.js.map +1 -1
  370. package/out/language-server/inline-completion/codeWhispererServer.d.ts +1 -0
  371. package/out/language-server/inline-completion/codeWhispererServer.js +40 -5
  372. package/out/language-server/inline-completion/codeWhispererServer.js.map +1 -1
  373. package/out/language-server/inline-completion/session/sessionManager.d.ts +2 -0
  374. package/out/language-server/inline-completion/session/sessionManager.js +2 -0
  375. package/out/language-server/inline-completion/session/sessionManager.js.map +1 -1
  376. package/out/language-server/localProjectContext/localProjectContextServer.js +3 -4
  377. package/out/language-server/localProjectContext/localProjectContextServer.js.map +1 -1
  378. package/out/language-server/workspaceContext/artifactManager.d.ts +1 -1
  379. package/out/language-server/workspaceContext/artifactManager.js +55 -22
  380. package/out/language-server/workspaceContext/artifactManager.js.map +1 -1
  381. package/out/language-server/workspaceContext/client.d.ts +1 -2
  382. package/out/language-server/workspaceContext/client.js +8 -16
  383. package/out/language-server/workspaceContext/client.js.map +1 -1
  384. package/out/language-server/workspaceContext/dependency/dependencyDiscoverer.d.ts +2 -0
  385. package/out/language-server/workspaceContext/dependency/dependencyDiscoverer.js +11 -1
  386. package/out/language-server/workspaceContext/dependency/dependencyDiscoverer.js.map +1 -1
  387. package/out/language-server/workspaceContext/dependency/dependencyHandler/DependencyWatcher.d.ts +17 -0
  388. package/out/language-server/workspaceContext/dependency/dependencyHandler/DependencyWatcher.js +75 -0
  389. package/out/language-server/workspaceContext/dependency/dependencyHandler/DependencyWatcher.js.map +1 -0
  390. package/out/language-server/workspaceContext/dependency/dependencyHandler/JSTSDependencyHandler.js +9 -9
  391. package/out/language-server/workspaceContext/dependency/dependencyHandler/JSTSDependencyHandler.js.map +1 -1
  392. package/out/language-server/workspaceContext/dependency/dependencyHandler/JavaDependencyHandler.js +9 -9
  393. package/out/language-server/workspaceContext/dependency/dependencyHandler/JavaDependencyHandler.js.map +1 -1
  394. package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandler.d.ts +7 -5
  395. package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandler.js +21 -15
  396. package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandler.js.map +1 -1
  397. package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandlerFactory.d.ts +1 -1
  398. package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandlerFactory.js +4 -4
  399. package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandlerFactory.js.map +1 -1
  400. package/out/language-server/workspaceContext/dependency/dependencyHandler/PythonDependencyHandler.js +38 -29
  401. package/out/language-server/workspaceContext/dependency/dependencyHandler/PythonDependencyHandler.js.map +1 -1
  402. package/out/language-server/workspaceContext/javaManager.js +1 -1
  403. package/out/language-server/workspaceContext/javaManager.js.map +1 -1
  404. package/out/language-server/workspaceContext/util.d.ts +1 -0
  405. package/out/language-server/workspaceContext/util.js +12 -6
  406. package/out/language-server/workspaceContext/util.js.map +1 -1
  407. package/out/language-server/workspaceContext/workspaceContextServer.js +63 -82
  408. package/out/language-server/workspaceContext/workspaceContextServer.js.map +1 -1
  409. package/out/language-server/workspaceContext/workspaceFolderManager.d.ts +22 -50
  410. package/out/language-server/workspaceContext/workspaceFolderManager.js +259 -496
  411. package/out/language-server/workspaceContext/workspaceFolderManager.js.map +1 -1
  412. package/out/shared/telemetry/telemetryService.d.ts +10 -1
  413. package/out/shared/telemetry/telemetryService.js +36 -7
  414. package/out/shared/telemetry/telemetryService.js.map +1 -1
  415. package/out/shared/telemetry/types.d.ts +39 -0
  416. package/out/shared/telemetry/types.js +1 -0
  417. package/out/shared/telemetry/types.js.map +1 -1
  418. package/package.json +6 -5
  419. package/out/shared/initializeUtils.d.ts +0 -3
  420. package/out/shared/initializeUtils.js +0 -32
  421. package/out/shared/initializeUtils.js.map +0 -1
@@ -5,6 +5,7 @@
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.AgenticChatController = void 0;
8
+ const crypto = require("crypto");
8
9
  const path = require("path");
9
10
  const codewhisperer_streaming_1 = require("@amzn/codewhisperer-streaming");
10
11
  const protocol_1 = require("@aws/language-server-runtimes/protocol");
@@ -38,6 +39,7 @@ const fsWrite_1 = require("./tools/fsWrite");
38
39
  const executeBash_1 = require("./tools/executeBash");
39
40
  const toolShared_1 = require("./tools/toolShared");
40
41
  const fileSearch_1 = require("./tools/fileSearch");
42
+ const grepSearch_1 = require("./tools/grepSearch");
41
43
  const lsp_core_2 = require("@aws/lsp-core");
42
44
  const diff_1 = require("diff");
43
45
  const constants_2 = require("./constants");
@@ -59,6 +61,8 @@ class AgenticChatController {
59
61
  #contextCommandsProvider;
60
62
  #stoppedToolUses = new Set();
61
63
  #userWrittenCodeTracker;
64
+ #toolUseStartTimes = {};
65
+ #toolUseLatencies = [];
62
66
  /**
63
67
  * Determines the appropriate message ID for a tool use based on tool type and name
64
68
  * @param toolType The type of tool being used
@@ -79,7 +83,7 @@ class AgenticChatController {
79
83
  this.#serviceManager = serviceManager;
80
84
  this.#chatHistoryDb = new chatDb_1.ChatDatabase(features);
81
85
  this.#tabBarController = new tabBarController_1.TabBarController(features, this.#chatHistoryDb, telemetryService);
82
- this.#additionalContextProvider = new addtionalContextProvider_1.AdditionalContextProvider(features.workspace, features.lsp);
86
+ this.#additionalContextProvider = new addtionalContextProvider_1.AdditionalContextProvider(features.workspace);
83
87
  this.#contextCommandsProvider = new contextCommandsProvider_1.ContextCommandsProvider(this.#features.logging, this.#features.chat, this.#features.workspace, this.#features.lsp);
84
88
  }
85
89
  async onButtonClick(params) {
@@ -117,7 +121,7 @@ class AgenticChatController {
117
121
  try {
118
122
  await this.#undoFileChange(toolUseId, session.data);
119
123
  this.#updateUndoButtonAfterClick(params.tabId, toolUseId, session.data);
120
- this.#telemetryController.emitInteractWithAgenticChat('RejectDiff', params.tabId);
124
+ this.#telemetryController.emitInteractWithAgenticChat('RejectDiff', params.tabId, session.data?.pairProgrammingMode, session.data?.getConversationType());
121
125
  }
122
126
  catch (err) {
123
127
  return { success: false, failureReason: err.message };
@@ -277,20 +281,23 @@ class AgenticChatController {
277
281
  // depends on it
278
282
  session.conversationId = (0, uuid_1.v4)();
279
283
  }
284
+ const chatResultStream = this.#getChatResultStream(params.partialResultToken);
280
285
  token.onCancellationRequested(async () => {
281
286
  this.#log('cancellation requested');
282
287
  await this.#showUndoAllIfRequired(chatResultStream, session);
288
+ await chatResultStream.updateOngoingProgressResult('Canceled');
283
289
  await this.#getChatResultStream(params.partialResultToken).writeResultBlock({
284
290
  type: 'directive',
285
291
  messageId: 'stopped' + (0, uuid_1.v4)(),
286
292
  body: 'You stopped your current work, please provide additional examples or ask another question.',
287
293
  });
288
- this.#telemetryController.emitInteractWithAgenticChat('StopChat', params.tabId);
294
+ this.#telemetryController.emitInteractWithAgenticChat('StopChat', params.tabId, session.pairProgrammingMode, session.getConversationType());
289
295
  session.abortRequest();
290
296
  void this.#invalidateAllShellCommands(params.tabId, session);
291
297
  session.rejectAllDeferredToolExecutions(new lsp_core_1.CancellationError('user'));
298
+ await this.#telemetryController.emitAddMessageMetric(params.tabId, metric.metric, 'Cancelled');
292
299
  });
293
- const chatResultStream = this.#getChatResultStream(params.partialResultToken);
300
+ session.setConversationType('AgenticChat');
294
301
  const additionalContext = await this.#additionalContextProvider.getAdditionalContext(triggerContext, params.context);
295
302
  if (additionalContext.length) {
296
303
  triggerContext.documentReference =
@@ -298,8 +305,11 @@ class AgenticChatController {
298
305
  }
299
306
  // Get the initial request input
300
307
  const initialRequestInput = await this.#prepareRequestInput(params, session, triggerContext, additionalContext, chatResultStream);
308
+ // Generate a unique ID for this prompt
309
+ const promptId = crypto.randomUUID();
310
+ session.setCurrentPromptId(promptId);
301
311
  // Start the agent loop
302
- const finalResult = await this.#runAgentLoop(initialRequestInput, session, metric, chatResultStream, params.tabId, session.conversationId, token, triggerContext.documentReference);
312
+ const finalResult = await this.#runAgentLoop(initialRequestInput, session, metric, chatResultStream, params.tabId, promptId, session.conversationId, token, triggerContext.documentReference);
303
313
  // Phase 5: Result Handling - This happens only once
304
314
  return await this.#handleFinalResult(finalResult, session, params, metric, triggerContext, isNewConversation, chatResultStream);
305
315
  }
@@ -327,7 +337,7 @@ class AgenticChatController {
327
337
  buttons: [],
328
338
  };
329
339
  }
330
- return this.#handleRequestError(err, errorMessageId, params.tabId, metric);
340
+ return this.#handleRequestError(session.conversationId, err, errorMessageId, params.tabId, metric, session.pairProgrammingMode);
331
341
  }
332
342
  }
333
343
  /**
@@ -342,17 +352,18 @@ class AgenticChatController {
342
352
  /**
343
353
  * Runs the agent loop, making requests and processing tool uses until completion
344
354
  */
345
- async #runAgentLoop(initialRequestInput, session, metric, chatResultStream, tabId, conversationIdentifier, token, documentReference) {
355
+ async #runAgentLoop(initialRequestInput, session, metric, chatResultStream, tabId, promptId, conversationIdentifier, token, documentReference) {
346
356
  let currentRequestInput = { ...initialRequestInput };
347
357
  let finalResult = null;
348
358
  let iterationCount = 0;
349
359
  let shouldDisplayMessage = true;
350
360
  metric.recordStart();
351
- while (iterationCount < constants_2.maxAgentLoopIterations) {
361
+ while (true) {
352
362
  iterationCount++;
353
363
  this.#debug(`Agent loop iteration ${iterationCount} for conversation id:`, conversationIdentifier || '');
354
364
  // Check for cancellation
355
- if (token?.isCancellationRequested) {
365
+ if (this.#isPromptCanceled(token, session, promptId)) {
366
+ this.#debug('Stopping agent loop - cancelled by user');
356
367
  throw new lsp_core_1.CancellationError('user');
357
368
  }
358
369
  const currentMessage = currentRequestInput.conversationState?.currentMessage;
@@ -360,9 +371,10 @@ class AgenticChatController {
360
371
  if (!currentMessage || !conversationId) {
361
372
  this.#debug(`Warning: ${!currentMessage ? 'currentMessage' : ''}${!currentMessage && !conversationId ? ' and ' : ''}${!conversationId ? 'conversationIdentifier' : ''} is empty in agent loop iteration ${iterationCount}.`);
362
373
  }
374
+ const remainingCharacterBudget = this.truncateRequest(currentRequestInput);
363
375
  // Fix the history to maintain invariants
364
376
  if (currentMessage) {
365
- const isHistoryValid = this.#chatHistoryDb.fixHistory(tabId, currentMessage, conversationIdentifier ?? '');
377
+ const isHistoryValid = this.#chatHistoryDb.fixAndValidateHistory(tabId, currentMessage, conversationIdentifier ?? '', remainingCharacterBudget);
366
378
  if (!isHistoryValid) {
367
379
  this.#features.logging.warn('Skipping request due to invalid tool result/tool use relationship');
368
380
  break;
@@ -377,20 +389,31 @@ class AgenticChatController {
377
389
  const loadingMessageId = `loading-${(0, uuid_1.v4)()}`;
378
390
  await chatResultStream.writeResultBlock({ ...constants_1.loadingMessage, messageId: loadingMessageId });
379
391
  // Phase 3: Request Execution
380
- this.#truncateRequest(currentRequestInput);
392
+ // Note: these logs are very noisy, but contain information redacted on the backend.
393
+ this.#debug(`generateAssistantResponse Request: ${JSON.stringify(currentRequestInput, undefined, 2)}`);
381
394
  const response = await session.generateAssistantResponse(currentRequestInput);
395
+ if (response.$metadata.requestId) {
396
+ metric.mergeWith({
397
+ requestIds: [response.$metadata.requestId],
398
+ });
399
+ }
382
400
  this.#features.logging.info(`generateAssistantResponse ResponseMetadata: ${lsp_core_2.loggingUtils.formatObj(response.$metadata)}`);
383
401
  await chatResultStream.removeResultBlock(loadingMessageId);
384
402
  // Add the current user message to the history DB
385
403
  if (currentMessage && conversationIdentifier) {
386
- this.#chatHistoryDb.addMessage(tabId, 'cwc', conversationIdentifier, {
387
- body: currentMessage.userInputMessage?.content ?? '',
388
- type: 'prompt',
389
- userIntent: currentMessage.userInputMessage?.userIntent,
390
- origin: currentMessage.userInputMessage?.origin,
391
- userInputMessageContext: currentMessage.userInputMessage?.userInputMessageContext,
392
- shouldDisplayMessage: shouldDisplayMessage,
393
- });
404
+ if (this.#isPromptCanceled(token, session, promptId)) {
405
+ this.#debug('Skipping adding user message to history - cancelled by user');
406
+ }
407
+ else {
408
+ this.#chatHistoryDb.addMessage(tabId, 'cwc', conversationIdentifier, {
409
+ body: currentMessage.userInputMessage?.content ?? '',
410
+ type: 'prompt',
411
+ userIntent: currentMessage.userInputMessage?.userIntent,
412
+ origin: currentMessage.userInputMessage?.origin,
413
+ userInputMessageContext: currentMessage.userInputMessage?.userInputMessageContext,
414
+ shouldDisplayMessage: shouldDisplayMessage,
415
+ });
416
+ }
394
417
  }
395
418
  shouldDisplayMessage = true;
396
419
  // Phase 4: Response Processing
@@ -402,34 +425,43 @@ class AgenticChatController {
402
425
  // and we want to auto-retry
403
426
  if (!result.success && result.error.startsWith(constants_2.responseTimeoutPartialMsg)) {
404
427
  const content = 'You took too long to respond - try to split up the work into smaller steps. Do not apologize.';
405
- this.#chatHistoryDb.addMessage(tabId, 'cwc', conversationIdentifier ?? '', {
406
- body: 'Response timed out - message took too long to generate',
407
- type: 'answer',
408
- shouldDisplayMessage: false,
409
- });
428
+ if (!this.#isPromptCanceled(token, session, promptId)) {
429
+ this.#chatHistoryDb.addMessage(tabId, 'cwc', conversationIdentifier ?? '', {
430
+ body: 'Response timed out - message took too long to generate',
431
+ type: 'answer',
432
+ shouldDisplayMessage: false,
433
+ });
434
+ }
410
435
  currentRequestInput = this.#updateRequestInputWithToolResults(currentRequestInput, [], content);
411
436
  shouldDisplayMessage = false;
437
+ // set the in progress tool use UI status to Error
438
+ await chatResultStream.updateOngoingProgressResult('Error');
412
439
  continue;
413
440
  }
414
441
  // Add the current assistantResponse message to the history DB
415
442
  if (result.data?.chatResult.body !== undefined) {
416
- this.#chatHistoryDb.addMessage(tabId, 'cwc', conversationIdentifier ?? '', {
417
- body: result.data?.chatResult.body,
418
- type: 'answer',
419
- codeReference: result.data.chatResult.codeReference,
420
- relatedContent: result.data.chatResult.relatedContent?.content &&
421
- result.data.chatResult.relatedContent.content.length > 0
422
- ? result.data?.chatResult.relatedContent
423
- : undefined,
424
- toolUses: Object.keys(result.data?.toolUses)
425
- .filter(k => result.data.toolUses[k].stop)
426
- .map(k => ({
427
- toolUseId: result.data.toolUses[k].toolUseId,
428
- name: result.data.toolUses[k].name,
429
- input: result.data.toolUses[k].input,
430
- })),
431
- shouldDisplayMessage: shouldDisplayMessage,
432
- });
443
+ if (this.#isPromptCanceled(token, session, promptId)) {
444
+ this.#debug('Skipping adding assistant message to history - cancelled by user');
445
+ }
446
+ else {
447
+ this.#chatHistoryDb.addMessage(tabId, 'cwc', conversationIdentifier ?? '', {
448
+ body: result.data?.chatResult.body,
449
+ type: 'answer',
450
+ codeReference: result.data.chatResult.codeReference,
451
+ relatedContent: result.data.chatResult.relatedContent?.content &&
452
+ result.data.chatResult.relatedContent.content.length > 0
453
+ ? result.data?.chatResult.relatedContent
454
+ : undefined,
455
+ toolUses: Object.keys(result.data?.toolUses)
456
+ .filter(k => result.data.toolUses[k].stop)
457
+ .map(k => ({
458
+ toolUseId: result.data.toolUses[k].toolUseId,
459
+ name: result.data.toolUses[k].name,
460
+ input: result.data.toolUses[k].input,
461
+ })),
462
+ shouldDisplayMessage: shouldDisplayMessage,
463
+ });
464
+ }
433
465
  }
434
466
  else {
435
467
  this.#features.logging.warn('No ChatResult body in response, skipping adding to history');
@@ -438,11 +470,13 @@ class AgenticChatController {
438
470
  const pendingToolUses = this.#getPendingToolUses(result.data?.toolUses || {});
439
471
  if (pendingToolUses.length === 0) {
440
472
  // No more tool uses, we're done
473
+ this.#telemetryController.emitAgencticLoop_InvokeLLM(response.$metadata.requestId, conversationId, 'AgenticChat', undefined, undefined, 'Succeeded', this.#features.runtime.serverInfo.version ?? '', undefined, session.pairProgrammingMode);
441
474
  finalResult = result;
442
475
  break;
443
476
  }
444
477
  let content = '';
445
478
  let toolResults;
479
+ session.setConversationType('AgenticChatWithToolUse');
446
480
  if (result.success) {
447
481
  // Process tool uses and update the request input for the next iteration
448
482
  toolResults = await this.#processToolUses(pendingToolUses, chatResultStream, session, tabId, token);
@@ -450,7 +484,13 @@ class AgenticChatController {
450
484
  content = 'There was an error processing one or more tool uses. Try again, do not apologize.';
451
485
  shouldDisplayMessage = false;
452
486
  }
453
- metric.setDimension('cwsprChatConversationType', 'AgenticChatWithToolUse');
487
+ const conversationType = session.getConversationType();
488
+ metric.setDimension('cwsprChatConversationType', conversationType);
489
+ metric.setDimension('requestIds', metric.metric.requestIds);
490
+ const toolNames = this.#toolUseLatencies.map(item => item.toolName);
491
+ const toolUseIds = this.#toolUseLatencies.map(item => item.toolUseId);
492
+ const latency = this.#toolUseLatencies.map(item => item.latency);
493
+ this.#telemetryController.emitAgencticLoop_InvokeLLM(response.$metadata.requestId, conversationId, 'AgenticChatWithToolUse', toolNames ?? undefined, toolUseIds ?? undefined, 'Succeeded', this.#features.runtime.serverInfo.version ?? '', latency, session.pairProgrammingMode);
454
494
  }
455
495
  else {
456
496
  // Send an error card to UI?
@@ -459,17 +499,21 @@ class AgenticChatController {
459
499
  status: codewhisperer_streaming_1.ToolResultStatus.ERROR,
460
500
  content: [{ text: result.error }],
461
501
  }));
502
+ this.#telemetryController.emitAgencticLoop_InvokeLLM(response.$metadata.requestId, conversationId, 'AgenticChatWithToolUse', undefined, undefined, 'Failed', this.#features.runtime.serverInfo.version ?? '', undefined, session.pairProgrammingMode);
462
503
  if (result.error.startsWith('ToolUse input is invalid JSON:')) {
463
504
  content =
464
505
  'Your toolUse input is incomplete, try again. If the error happens consistently, break this task down into multiple tool uses with smaller input. Do not apologize.';
465
506
  shouldDisplayMessage = false;
466
507
  }
508
+ // set the in progress tool use UI status to Error
509
+ await chatResultStream.updateOngoingProgressResult('Error');
510
+ }
511
+ if (result.success && this.#toolUseLatencies.length > 0) {
512
+ // Clear latencies for the next LLM call
513
+ this.#toolUseLatencies = [];
467
514
  }
468
515
  currentRequestInput = this.#updateRequestInputWithToolResults(currentRequestInput, toolResults, content);
469
516
  }
470
- if (iterationCount >= constants_2.maxAgentLoopIterations) {
471
- throw new errors_2.AgenticChatError('Agent loop reached iteration limit', 'MaxAgentLoopIterations');
472
- }
473
517
  return (finalResult || {
474
518
  success: false,
475
519
  error: 'Agent loop failed to produce a final result',
@@ -478,19 +522,58 @@ class AgenticChatController {
478
522
  }
479
523
  /**
480
524
  * performs truncation of request before sending to backend service.
525
+ * Returns the remaining character budget for chat history.
481
526
  * @param request
482
527
  */
483
- #truncateRequest(request) {
484
- // Note: these logs are very noisy, but contain information redacted on the backend.
485
- this.#debug(`generateAssistantResponse Request: ${JSON.stringify(request, undefined, 2)}`);
528
+ truncateRequest(request) {
529
+ let remainingCharacterBudget = constants_2.generateAssistantResponseInputLimit;
486
530
  if (!request?.conversationState?.currentMessage?.userInputMessage) {
487
- return;
531
+ return remainingCharacterBudget;
488
532
  }
489
533
  const message = request.conversationState?.currentMessage?.userInputMessage?.content;
490
- if (message && message.length > constants_2.generateAssistantResponseInputLimit) {
491
- this.#debug(`Truncating userInputMessage to ${constants_2.generateAssistantResponseInputLimit} characters}`);
492
- request.conversationState.currentMessage.userInputMessage.content = message.substring(0, constants_2.generateAssistantResponseInputLimit);
534
+ // 1. prioritize user input message
535
+ let truncatedUserInputMessage = '';
536
+ if (message) {
537
+ if (message.length > constants_2.generateAssistantResponseInputLimit) {
538
+ this.#debug(`Truncating userInputMessage to ${constants_2.generateAssistantResponseInputLimit} characters}`);
539
+ truncatedUserInputMessage = message.substring(0, constants_2.generateAssistantResponseInputLimit);
540
+ remainingCharacterBudget = remainingCharacterBudget - truncatedUserInputMessage.length;
541
+ request.conversationState.currentMessage.userInputMessage.content = truncatedUserInputMessage;
542
+ }
543
+ else {
544
+ remainingCharacterBudget = remainingCharacterBudget - message.length;
545
+ }
493
546
  }
547
+ // 2. try to fit @context into budget
548
+ let truncatedRelevantDocuments = [];
549
+ if (request.conversationState.currentMessage.userInputMessage.userInputMessageContext?.editorState
550
+ ?.relevantDocuments) {
551
+ for (const relevantDoc of request.conversationState.currentMessage.userInputMessage.userInputMessageContext
552
+ ?.editorState?.relevantDocuments) {
553
+ const docLength = relevantDoc?.text?.length || 0;
554
+ if (remainingCharacterBudget > docLength) {
555
+ truncatedRelevantDocuments.push(relevantDoc);
556
+ remainingCharacterBudget = remainingCharacterBudget - docLength;
557
+ }
558
+ }
559
+ request.conversationState.currentMessage.userInputMessage.userInputMessageContext.editorState.relevantDocuments =
560
+ truncatedRelevantDocuments;
561
+ }
562
+ // 3. try to fit current file context
563
+ let truncatedCurrentDocument = undefined;
564
+ if (request.conversationState.currentMessage.userInputMessage.userInputMessageContext?.editorState?.document) {
565
+ const docLength = request.conversationState.currentMessage.userInputMessage.userInputMessageContext?.editorState?.document
566
+ .text?.length || 0;
567
+ if (remainingCharacterBudget > docLength) {
568
+ truncatedCurrentDocument =
569
+ request.conversationState.currentMessage.userInputMessage.userInputMessageContext?.editorState
570
+ ?.document;
571
+ remainingCharacterBudget = remainingCharacterBudget - docLength;
572
+ }
573
+ request.conversationState.currentMessage.userInputMessage.userInputMessageContext.editorState.document =
574
+ truncatedCurrentDocument;
575
+ }
576
+ return remainingCharacterBudget;
494
577
  }
495
578
  /**
496
579
  * Extracts tool uses that need to be processed
@@ -525,28 +608,38 @@ class AgenticChatController {
525
608
  if (!toolUse.name || !toolUse.toolUseId)
526
609
  continue;
527
610
  session.toolUseLookup.set(toolUse.toolUseId, toolUse);
611
+ // Record the start time for this tool use for latency calculation
612
+ if (toolUse.toolUseId) {
613
+ this.#toolUseStartTimes[toolUse.toolUseId] = Date.now();
614
+ }
528
615
  try {
529
616
  // TODO: Can we move this check in the event parser before the stream completes?
530
617
  const availableToolNames = this.#getTools(session).map(tool => tool.toolSpecification.name);
531
618
  if (!availableToolNames.includes(toolUse.name)) {
532
619
  throw new Error(`Tool ${toolUse.name} is not available in the current mode`);
533
620
  }
621
+ // remove progress UI
622
+ await chatResultStream.removeResultBlockAndUpdateUI(agenticChatResultStream_1.progressPrefix + toolUse.toolUseId);
534
623
  // fsRead and listDirectory write to an existing card and could show nothing in the current position
535
624
  if (!['fsWrite', 'fsRead', 'listDirectory'].includes(toolUse.name)) {
536
625
  await this.#showUndoAllIfRequired(chatResultStream, session);
537
626
  }
538
- const { explanation } = toolUse.input;
539
- if (explanation) {
540
- await chatResultStream.writeResultBlock({
541
- type: 'directive',
542
- messageId: toolUse.toolUseId + '_explanation',
543
- body: explanation,
544
- });
627
+ // fsWrite can take a long time, so we render fsWrite Explanatory upon partial streaming responses.
628
+ if (toolUse.name !== 'fsWrite') {
629
+ const { explanation } = toolUse.input;
630
+ if (explanation) {
631
+ await chatResultStream.writeResultBlock({
632
+ type: 'directive',
633
+ messageId: toolUse.toolUseId + '_explanation',
634
+ body: explanation,
635
+ });
636
+ }
545
637
  }
546
638
  switch (toolUse.name) {
547
639
  case 'fsRead':
548
640
  case 'listDirectory':
549
641
  case 'fileSearch':
642
+ case 'grepSearch':
550
643
  case 'fsWrite':
551
644
  case 'executeBash': {
552
645
  const toolMap = {
@@ -554,6 +647,7 @@ class AgenticChatController {
554
647
  listDirectory: { Tool: listDirectory_1.ListDirectory },
555
648
  fsWrite: { Tool: fsWrite_1.FsWrite },
556
649
  executeBash: { Tool: executeBash_1.ExecuteBash },
650
+ grepSearch: { Tool: grepSearch_1.GrepSearch },
557
651
  fileSearch: { Tool: fileSearch_1.FileSearch },
558
652
  };
559
653
  const { Tool } = toolMap[toolUse.name];
@@ -568,13 +662,13 @@ class AgenticChatController {
568
662
  cachedButtonBlockId = await chatResultStream.writeResultBlock(confirmationResult);
569
663
  const isExecuteBash = toolUse.name === 'executeBash';
570
664
  if (isExecuteBash) {
571
- this.#telemetryController.emitInteractWithAgenticChat('GeneratedCommand', tabId);
665
+ this.#telemetryController.emitInteractWithAgenticChat('GeneratedCommand', tabId, session.pairProgrammingMode, session.getConversationType());
572
666
  }
573
667
  if (requiresAcceptance) {
574
668
  await this.waitForToolApproval(toolUse, chatResultStream, cachedButtonBlockId, session);
575
669
  }
576
670
  if (isExecuteBash) {
577
- this.#telemetryController.emitInteractWithAgenticChat('RunCommand', tabId);
671
+ this.#telemetryController.emitInteractWithAgenticChat('RunCommand', tabId, session.pairProgrammingMode, session.getConversationType());
578
672
  }
579
673
  }
580
674
  break;
@@ -638,8 +732,11 @@ class AgenticChatController {
638
732
  // no need to write tool result for listDir and fsRead into chat stream
639
733
  // executeBash will stream the output instead of waiting until the end
640
734
  break;
641
- case 'codeSearch':
642
- // no need to write tool result for code search.
735
+ case 'grepSearch':
736
+ const grepSearchResult = this.#processGrepSearchResult(toolUse, result, chatResultStream);
737
+ if (grepSearchResult) {
738
+ await chatResultStream.writeResultBlock(grepSearchResult);
739
+ }
643
740
  break;
644
741
  case 'fsWrite':
645
742
  const input = toolUse.input;
@@ -653,7 +750,7 @@ class AgenticChatController {
653
750
  fileChange: { ...cachedToolUse.fileChange, after: doc?.getText() },
654
751
  });
655
752
  }
656
- this.#telemetryController.emitInteractWithAgenticChat('GeneratedDiff', tabId);
753
+ this.#telemetryController.emitInteractWithAgenticChat('GeneratedDiff', tabId, session.pairProgrammingMode, session.getConversationType());
657
754
  await chatResultStream.writeResultBlock(chatResult);
658
755
  break;
659
756
  default:
@@ -666,8 +763,21 @@ class AgenticChatController {
666
763
  break;
667
764
  }
668
765
  this.#updateUndoAllState(toolUse, session);
669
- if (toolUse.name) {
670
- this.#telemetryController.emitToolUseSuggested(toolUse, session.conversationId ?? '', this.#features.runtime.serverInfo.version ?? '');
766
+ if (toolUse.name && toolUse.toolUseId) {
767
+ // Calculate latency if we have a start time for this tool use
768
+ let latency = undefined;
769
+ if (this.#toolUseStartTimes[toolUse.toolUseId]) {
770
+ latency = Date.now() - this.#toolUseStartTimes[toolUse.toolUseId];
771
+ delete this.#toolUseStartTimes[toolUse.toolUseId];
772
+ if (latency !== undefined) {
773
+ this.#toolUseLatencies.push({
774
+ toolName: toolUse.name,
775
+ toolUseId: toolUse.toolUseId,
776
+ latency: latency,
777
+ });
778
+ }
779
+ }
780
+ this.#telemetryController.emitToolUseSuggested(toolUse, session.conversationId ?? '', this.#features.runtime.serverInfo.version ?? '', latency, session.pairProgrammingMode);
671
781
  }
672
782
  }
673
783
  catch (err) {
@@ -700,6 +810,37 @@ class AgenticChatController {
700
810
  continue;
701
811
  }
702
812
  }
813
+ // display fs write failure status in the UX of that file card
814
+ if (toolUse.name === 'fsWrite' && toolUse.toolUseId) {
815
+ const existingCard = chatResultStream.getMessageBlockId(toolUse.toolUseId);
816
+ const fsParam = toolUse.input;
817
+ const fileName = path.basename(fsParam.path);
818
+ const errorResult = {
819
+ type: 'tool',
820
+ messageId: toolUse.toolUseId,
821
+ header: {
822
+ fileList: {
823
+ filePaths: [fileName],
824
+ details: {
825
+ [fileName]: {
826
+ description: fsParam.path,
827
+ },
828
+ },
829
+ },
830
+ status: {
831
+ status: 'error',
832
+ icon: 'error',
833
+ text: 'Error',
834
+ },
835
+ },
836
+ };
837
+ if (existingCard) {
838
+ await chatResultStream.overwriteResultBlock(errorResult, existingCard);
839
+ }
840
+ else {
841
+ await chatResultStream.writeResultBlock(errorResult);
842
+ }
843
+ }
703
844
  const errMsg = err instanceof Error ? err.message : 'unknown error';
704
845
  this.#log(`Error running tool ${toolUse.name}:`, errMsg);
705
846
  results.push({
@@ -783,11 +924,15 @@ class AgenticChatController {
783
924
  * @param err
784
925
  * @returns
785
926
  */
786
- isUserAction(err, token) {
927
+ isUserAction(err, token, session) {
787
928
  return (lsp_core_1.CancellationError.isUserCancelled(err) ||
788
929
  err instanceof toolShared_1.ToolApprovalException ||
930
+ (0, errors_2.isRequestAbortedError)(err) ||
789
931
  (token?.isCancellationRequested ?? false));
790
932
  }
933
+ #isPromptCanceled(token, session, promptId) {
934
+ return token?.isCancellationRequested === true || !session.isCurrentPrompt(promptId);
935
+ }
791
936
  #validateToolResult(toolUse, result) {
792
937
  let maxToolResponseSize;
793
938
  switch (toolUse.name) {
@@ -1181,6 +1326,59 @@ class AgenticChatController {
1181
1326
  body: '',
1182
1327
  };
1183
1328
  }
1329
+ /**
1330
+ * Process grep search results and format them for display in the chat UI
1331
+ */
1332
+ #processGrepSearchResult(toolUse, result, chatResultStream) {
1333
+ if (toolUse.name !== 'grepSearch') {
1334
+ return undefined;
1335
+ }
1336
+ let messageIdToUpdate = toolUse.toolUseId;
1337
+ const currentId = chatResultStream.getMessageIdToUpdateForTool(toolUse.name);
1338
+ if (currentId) {
1339
+ messageIdToUpdate = currentId;
1340
+ }
1341
+ else {
1342
+ chatResultStream.setMessageIdToUpdateForTool(toolUse.name, messageIdToUpdate);
1343
+ }
1344
+ // Extract search results from the tool output
1345
+ const output = result.output.content;
1346
+ if (!output || !output.fileMatches || !Array.isArray(output.fileMatches)) {
1347
+ return {
1348
+ type: 'tool',
1349
+ messageId: messageIdToUpdate,
1350
+ body: 'No search results found.',
1351
+ };
1352
+ }
1353
+ // Process the matches into a structured format
1354
+ const matches = output.fileMatches;
1355
+ const fileDetails = {};
1356
+ // Create file details directly from matches
1357
+ for (const match of matches) {
1358
+ const filePath = match.filePath;
1359
+ if (!filePath)
1360
+ continue;
1361
+ fileDetails[`${filePath} (${match.matches.length} ${match.matches.length <= 1 ? 'result' : 'results'})`] = {
1362
+ description: filePath,
1363
+ lineRanges: [{ first: -1, second: -1 }],
1364
+ };
1365
+ }
1366
+ // Create sorted array of file paths
1367
+ const sortedFilePaths = Object.keys(fileDetails);
1368
+ // Create the context list for display
1369
+ const query = toolUse.input?.query || 'search term';
1370
+ const contextList = {
1371
+ rootFolderTitle: `Grepped for "${query}", ${output.matchCount} ${output.matchCount <= 1 ? 'result' : 'results'} found`,
1372
+ filePaths: sortedFilePaths,
1373
+ details: fileDetails,
1374
+ };
1375
+ return {
1376
+ type: 'tool',
1377
+ fileList: contextList,
1378
+ messageId: messageIdToUpdate,
1379
+ body: '',
1380
+ };
1381
+ }
1184
1382
  /**
1185
1383
  * Updates the request input with tool results for the next iteration
1186
1384
  */
@@ -1222,6 +1420,7 @@ class AgenticChatController {
1222
1420
  }
1223
1421
  metric.setDimension('codewhispererCustomizationArn', this.#customizationArn);
1224
1422
  metric.setDimension('languageServerVersion', this.#features.runtime.serverInfo.version);
1423
+ metric.setDimension('enabled', session.pairProgrammingMode);
1225
1424
  const profileArn = AmazonQTokenServiceManager_1.AmazonQTokenServiceManager.getInstance().getActiveProfileArn();
1226
1425
  if (profileArn) {
1227
1426
  this.#telemetryService.updateProfileArn(profileArn);
@@ -1241,7 +1440,7 @@ class AgenticChatController {
1241
1440
  cwsprChatFocusFileContextLength: triggerContext.text?.length,
1242
1441
  });
1243
1442
  }
1244
- await this.#telemetryController.emitAddMessageMetric(params.tabId, metric.metric);
1443
+ await this.#telemetryController.emitAddMessageMetric(params.tabId, metric.metric, 'Succeeded');
1245
1444
  this.#telemetryController.updateTriggerInfo(params.tabId, {
1246
1445
  lastMessageTrigger: {
1247
1446
  ...triggerContext,
@@ -1256,18 +1455,22 @@ class AgenticChatController {
1256
1455
  /**
1257
1456
  * Handles errors that occur during the request
1258
1457
  */
1259
- #handleRequestError(err, errorMessageId, tabId, metric) {
1458
+ async #handleRequestError(conversationId, err, errorMessageId, tabId, metric, agenticCodingMode) {
1260
1459
  const errorMessage = (0, utils_2.getErrorMessage)(err);
1261
1460
  const requestID = (0, utils_2.getRequestID)(err) ?? '';
1262
1461
  metric.setDimension('cwsprChatResponseCode', (0, utils_2.getHttpStatusCode)(err) ?? 0);
1263
1462
  metric.setDimension('languageServerVersion', this.#features.runtime.serverInfo.version);
1463
+ metric.metric.requestIds = [requestID];
1464
+ metric.metric.cwsprChatMessageId = errorMessageId;
1465
+ metric.metric.cwsprChatConversationId = conversationId;
1466
+ await this.#telemetryController.emitAddMessageMetric(tabId, metric.metric, 'Failed');
1264
1467
  // use custom error message for unactionable errors (user-dependent errors like PromptCharacterLimit)
1265
1468
  if (err.code && err.code in errors_2.unactionableErrorCodes) {
1266
1469
  const customErrMessage = errors_2.unactionableErrorCodes[err.code];
1267
- this.#telemetryController.emitMessageResponseError(tabId, metric.metric, requestID, customErrMessage);
1470
+ this.#telemetryController.emitMessageResponseError(tabId, metric.metric, requestID, customErrMessage, agenticCodingMode);
1268
1471
  }
1269
1472
  else {
1270
- this.#telemetryController.emitMessageResponseError(tabId, metric.metric, requestID, errorMessage ?? constants_2.genericErrorMsg);
1473
+ this.#telemetryController.emitMessageResponseError(tabId, metric.metric, requestID, errorMessage ?? constants_2.genericErrorMsg, agenticCodingMode);
1271
1474
  }
1272
1475
  let authFollowType = undefined;
1273
1476
  // first check if there is an AmazonQ related auth follow up
@@ -1288,7 +1491,9 @@ class AgenticChatController {
1288
1491
  // Clear the chat history in the database for this tab
1289
1492
  this.#chatHistoryDb.clearTab(tabId);
1290
1493
  }
1291
- const errorBody = err.code === 'QModelResponse' && requestID ? `${err.message}\n\nRequest ID: ${requestID}` : err.message;
1494
+ const errorBody = err.code === 'QModelResponse' && requestID
1495
+ ? `${err.message} \n\nRequest ID: ${requestID} `
1496
+ : err.message;
1292
1497
  return new server_interface_1.ResponseError(server_interface_1.LSPErrorCodes.RequestFailed, err.message, {
1293
1498
  type: 'answer',
1294
1499
  body: errorBody,
@@ -1299,7 +1504,7 @@ class AgenticChatController {
1299
1504
  this.#features.logging.error(`Unknown Error: ${lsp_core_2.loggingUtils.formatErr(err)}`);
1300
1505
  return new server_interface_1.ResponseError(server_interface_1.LSPErrorCodes.RequestFailed, err.message, {
1301
1506
  type: 'answer',
1302
- body: requestID ? `${constants_2.genericErrorMsg}\n\nRequest ID: ${requestID}` : constants_2.genericErrorMsg,
1507
+ body: requestID ? `${constants_2.genericErrorMsg} \n\nRequest ID: ${requestID}` : constants_2.genericErrorMsg,
1303
1508
  messageId: errorMessageId,
1304
1509
  buttons: [],
1305
1510
  });
@@ -1356,7 +1561,7 @@ class AgenticChatController {
1356
1561
  missingParams.push('cursorPosition');
1357
1562
  if (!params.code)
1358
1563
  missingParams.push('code');
1359
- this.#log(`Q Chat server failed to insert code. Missing required parameters for insert code: ${missingParams.join(', ')}`);
1564
+ this.#log(`Q Chat server failed to insert code.Missing required parameters for insert code: ${missingParams.join(', ')}`);
1360
1565
  return;
1361
1566
  }
1362
1567
  let cursorPosition = params.cursorPosition;
@@ -1544,7 +1749,7 @@ class AgenticChatController {
1544
1749
  }
1545
1750
  async #resolveAbsolutePath(relativePath) {
1546
1751
  try {
1547
- const workspaceFolders = lsp_core_1.workspaceUtils.getWorkspaceFolderPaths(this.#features.lsp);
1752
+ const workspaceFolders = lsp_core_1.workspaceUtils.getWorkspaceFolderPaths(this.#features.workspace);
1548
1753
  for (const workspaceRoot of workspaceFolders) {
1549
1754
  const candidatePath = path.join(workspaceRoot, relativePath);
1550
1755
  if (await this.#features.workspace.fs.exists(candidatePath)) {
@@ -1636,6 +1841,56 @@ class AgenticChatController {
1636
1841
  throw err;
1637
1842
  }
1638
1843
  }
1844
+ async #showToolUseIntermediateResult(data, chatResultStream, streamWriter) {
1845
+ // extract the key value from incomplete JSON response stream
1846
+ function extractKey(incompleteJson, key) {
1847
+ const pattern = new RegExp(`"${key}":\\s*"([^"]*)"`, 'g');
1848
+ const match = pattern.exec(incompleteJson);
1849
+ return match?.[1];
1850
+ }
1851
+ const toolUses = Object.values(data.toolUses);
1852
+ for (const toolUse of toolUses) {
1853
+ if (toolUse.name === 'fsWrite' && typeof toolUse.input === 'string') {
1854
+ const filepath = extractKey(toolUse.input, 'path');
1855
+ const msgId = agenticChatResultStream_1.progressPrefix + toolUse.toolUseId;
1856
+ // render fs write UI as soon as fs write starts
1857
+ if (filepath && !chatResultStream.hasMessage(msgId)) {
1858
+ const fileName = path.basename(filepath);
1859
+ await streamWriter.close();
1860
+ await chatResultStream.writeResultBlock({
1861
+ type: 'tool',
1862
+ messageId: msgId,
1863
+ header: {
1864
+ fileList: {
1865
+ filePaths: [fileName],
1866
+ details: {
1867
+ [fileName]: {
1868
+ description: filepath,
1869
+ },
1870
+ },
1871
+ },
1872
+ status: {
1873
+ status: 'info',
1874
+ icon: 'progress',
1875
+ text: '',
1876
+ },
1877
+ },
1878
+ });
1879
+ }
1880
+ // render the tool use explanatory as soon as this is received for fsWrite
1881
+ const explanation = extractKey(toolUse.input, 'explanation');
1882
+ const messageId = agenticChatResultStream_1.progressPrefix + toolUse.toolUseId + '_explanation';
1883
+ if (explanation && !chatResultStream.hasMessage(messageId)) {
1884
+ await streamWriter.close();
1885
+ await chatResultStream.writeResultBlock({
1886
+ type: 'directive',
1887
+ messageId: messageId,
1888
+ body: explanation,
1889
+ });
1890
+ }
1891
+ }
1892
+ }
1893
+ }
1639
1894
  async #processGenerateAssistantResponseResponse(response, metric, chatResultStream, streamWriter, session, contextList, abortSignal) {
1640
1895
  const requestId = response.$metadata.requestId;
1641
1896
  const chatEventParser = new agenticChatEventParser_1.AgenticChatEventParser(requestId, metric, this.#features.logging);
@@ -1666,6 +1921,7 @@ class AgenticChatController {
1666
1921
  }
1667
1922
  if (chatEvent.toolUseEvent) {
1668
1923
  await this.#showLoadingIfRequired(chatEvent.toolUseEvent, streamWriter, toolUseStartTimes, toolUseLoadingTimeouts);
1924
+ await this.#showToolUseIntermediateResult(result.data, chatResultStream, streamWriter);
1669
1925
  }
1670
1926
  }
1671
1927
  await streamWriter.close();
@@ -1687,6 +1943,10 @@ class AgenticChatController {
1687
1943
  if (!toolUseEvent.stop && toolUseId) {
1688
1944
  if (!toolUseStartTimes[toolUseId]) {
1689
1945
  toolUseStartTimes[toolUseId] = Date.now();
1946
+ // Also record in the class-level toolUseStartTimes for latency calculation
1947
+ if (!this.#toolUseStartTimes[toolUseId]) {
1948
+ this.#toolUseStartTimes[toolUseId] = Date.now();
1949
+ }
1690
1950
  this.#debug(`ToolUseEvent ${toolUseId} started`);
1691
1951
  toolUseLoadingTimeouts[toolUseId] = setTimeout(async () => {
1692
1952
  this.#debug(`ToolUseEvent ${toolUseId} is taking longer than ${constants_2.loadingThresholdMs}ms, showing loading indicator`);