@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.
- package/CHANGELOG.md +49 -0
- package/node_modules/@amzn/codewhisperer-streaming/README.md +56 -0
- package/node_modules/@amzn/codewhisperer-streaming/dist-cjs/protocols/Aws_restJson1.js +2 -0
- package/node_modules/@amzn/codewhisperer-streaming/dist-es/protocols/Aws_restJson1.js +2 -0
- package/node_modules/@amzn/codewhisperer-streaming/dist-types/commands/GenerateAssistantResponseCommand.d.ts +3 -0
- package/node_modules/@amzn/codewhisperer-streaming/dist-types/commands/GenerateTaskAssistPlanCommand.d.ts +3 -0
- package/node_modules/@amzn/codewhisperer-streaming/dist-types/commands/SendMessageCommand.d.ts +3 -0
- package/node_modules/@amzn/codewhisperer-streaming/dist-types/models/models_0.d.ts +10 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/abort-controller/package.json +2 -2
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/node-http-handler.d.ts +0 -2
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-manager.d.ts +0 -1
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-pool.d.ts +1 -2
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/readable.mock.d.ts +0 -3
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/set-connection-timeout.d.ts +0 -7
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/set-socket-keep-alive.d.ts +0 -7
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/set-socket-timeout.d.ts +0 -7
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/stream-collector/collector.d.ts +0 -3
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/stream-collector/readable.mock.d.ts +0 -3
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http-handler.d.ts +0 -1
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-manager.d.ts +0 -1
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-pool.d.ts +1 -2
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/ts3.4/readable.mock.d.ts +0 -1
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-connection-timeout.d.ts +0 -1
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-keep-alive.d.ts +0 -1
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-timeout.d.ts +0 -1
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/ts3.4/stream-collector/collector.d.ts +0 -1
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/ts3.4/stream-collector/readable.mock.d.ts +0 -1
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/ts3.4/write-request-body.d.ts +0 -1
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/dist-types/write-request-body.d.ts +0 -2
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/node-http-handler/package.json +5 -5
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/LICENSE +201 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/README.md +115 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/abort-handler.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/abort.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/auth/HttpApiKeyAuth.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/auth/HttpAuthScheme.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/auth/HttpAuthSchemeProvider.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/auth/HttpSigner.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/auth/IdentityProviderConfig.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/auth/auth.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/auth/index.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/blob/blob-payload-input-types.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/checksum.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/client.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/command.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/connection/config.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/connection/index.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/connection/manager.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/connection/pool.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/crypto.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/downlevel-ts3.4/transform/type-transform.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/encode.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/endpoint.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/endpoints/EndpointRuleObject.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/endpoints/ErrorRuleObject.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/endpoints/RuleSetObject.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/endpoints/TreeRuleObject.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/endpoints/index.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/endpoints/shared.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/eventStream.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/extensions/checksum.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/extensions/defaultClientConfiguration.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/extensions/defaultExtensionConfiguration.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/extensions/index.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/extensions/retry.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/externals-check/browser-externals-check.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/feature-ids.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/http/httpHandlerInitialization.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/http.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/identity/apiKeyIdentity.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/identity/awsCredentialIdentity.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/identity/identity.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/identity/index.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/identity/tokenIdentity.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/index.js +144 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/logger.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/middleware.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/pagination.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/profile.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/response.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/retry.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/schema/schema.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/schema/sentinels.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/schema/traits.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/serde.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/shapes.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/signature.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/stream.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/streaming-payload/streaming-blob-common-types.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/streaming-payload/streaming-blob-payload-input-types.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/streaming-payload/streaming-blob-payload-output-types.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/transfer.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/transform/client-method-transforms.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/transform/client-payload-blob-type-narrow.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/transform/exact.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/transform/mutable.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/transform/no-undefined.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/transform/type-transform.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/uri.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/util.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-cjs/waiter.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/abort-handler.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/abort.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/auth/HttpApiKeyAuth.js +5 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/auth/HttpAuthScheme.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/auth/HttpAuthSchemeProvider.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/auth/HttpSigner.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/auth/IdentityProviderConfig.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/auth/auth.js +5 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/auth/index.js +6 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/blob/blob-payload-input-types.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/checksum.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/client.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/command.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/connection/config.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/connection/index.js +3 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/connection/manager.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/connection/pool.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/crypto.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/downlevel-ts3.4/transform/type-transform.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/encode.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/endpoint.js +5 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/endpoints/EndpointRuleObject.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/endpoints/ErrorRuleObject.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/endpoints/RuleSetObject.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/endpoints/TreeRuleObject.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/endpoints/index.js +5 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/endpoints/shared.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/eventStream.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/extensions/checksum.js +38 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/extensions/defaultClientConfiguration.js +7 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/extensions/defaultExtensionConfiguration.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/extensions/index.js +3 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/extensions/retry.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/externals-check/browser-externals-check.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/feature-ids.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/http/httpHandlerInitialization.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/http.js +5 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/identity/apiKeyIdentity.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/identity/awsCredentialIdentity.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/identity/identity.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/identity/index.js +4 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/identity/tokenIdentity.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/index.js +40 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/logger.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/middleware.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/pagination.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/profile.js +6 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/response.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/retry.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/schema/schema.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/schema/sentinels.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/schema/traits.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/serde.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/shapes.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/signature.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/stream.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/streaming-payload/streaming-blob-common-types.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/streaming-payload/streaming-blob-payload-input-types.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/streaming-payload/streaming-blob-payload-output-types.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/transfer.js +6 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/transform/client-method-transforms.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/transform/client-payload-blob-type-narrow.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/transform/exact.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/transform/mutable.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/transform/no-undefined.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/transform/type-transform.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/uri.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/util.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-es/waiter.js +1 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/abort-handler.d.ts +7 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/abort.d.ts +50 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/auth/HttpApiKeyAuth.d.ts +7 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/auth/HttpAuthScheme.d.ts +49 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/auth/HttpAuthSchemeProvider.d.ts +20 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/auth/HttpSigner.d.ts +41 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/auth/IdentityProviderConfig.d.ts +14 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/auth/auth.d.ts +57 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/auth/index.d.ts +6 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/blob/blob-payload-input-types.d.ts +40 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/checksum.d.ts +63 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/client.d.ts +57 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/command.d.ts +25 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/connection/config.d.ts +10 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/connection/index.d.ts +3 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/connection/manager.d.ts +34 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/connection/pool.d.ts +32 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/crypto.d.ts +60 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/downlevel-ts3.4/transform/type-transform.d.ts +25 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/encode.d.ts +31 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/endpoint.d.ts +77 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/endpoints/EndpointRuleObject.d.ts +27 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/endpoints/ErrorRuleObject.d.ts +10 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/endpoints/RuleSetObject.d.ts +28 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/endpoints/TreeRuleObject.d.ts +16 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/endpoints/index.d.ts +5 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/endpoints/shared.d.ts +55 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/eventStream.d.ts +137 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/extensions/checksum.d.ts +58 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/extensions/defaultClientConfiguration.d.ts +33 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/extensions/defaultExtensionConfiguration.d.ts +9 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/extensions/index.d.ts +4 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/extensions/retry.d.ts +18 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/externals-check/browser-externals-check.d.ts +35 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/feature-ids.d.ts +16 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/http/httpHandlerInitialization.d.ts +121 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/http.d.ts +112 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/identity/apiKeyIdentity.d.ts +14 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/identity/awsCredentialIdentity.d.ts +31 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/identity/identity.d.ts +15 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/identity/index.d.ts +4 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/identity/tokenIdentity.d.ts +14 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/index.d.ts +40 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/logger.d.ts +13 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/middleware.d.ts +534 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/pagination.d.ts +33 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/profile.d.ts +30 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/response.d.ts +40 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/retry.d.ts +133 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/schema/schema.d.ts +263 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/schema/sentinels.d.ts +65 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/schema/traits.d.ts +46 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/serde.d.ts +114 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/shapes.d.ts +82 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/signature.d.ts +155 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/stream.d.ts +22 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-common-types.d.ts +32 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-payload-input-types.d.ts +60 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-payload-output-types.d.ts +51 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/transfer.d.ts +41 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/transform/client-method-transforms.d.ts +26 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/transform/client-payload-blob-type-narrow.d.ts +77 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/transform/exact.d.ts +6 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/transform/mutable.d.ts +6 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/transform/no-undefined.d.ts +68 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/transform/type-transform.d.ts +34 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/abort-handler.d.ts +7 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/abort.d.ts +50 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/auth/HttpApiKeyAuth.d.ts +7 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/auth/HttpAuthScheme.d.ts +49 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/auth/HttpAuthSchemeProvider.d.ts +20 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/auth/HttpSigner.d.ts +41 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/auth/IdentityProviderConfig.d.ts +14 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/auth/auth.d.ts +57 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/auth/index.d.ts +6 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/blob/blob-payload-input-types.d.ts +40 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/checksum.d.ts +63 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/client.d.ts +57 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/command.d.ts +25 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/connection/config.d.ts +10 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/connection/index.d.ts +3 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/connection/manager.d.ts +34 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/connection/pool.d.ts +32 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/crypto.d.ts +60 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/downlevel-ts3.4/transform/type-transform.d.ts +41 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/encode.d.ts +31 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/endpoint.d.ts +77 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/endpoints/EndpointRuleObject.d.ts +27 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/endpoints/ErrorRuleObject.d.ts +10 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/endpoints/RuleSetObject.d.ts +28 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/endpoints/TreeRuleObject.d.ts +16 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/endpoints/index.d.ts +5 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/endpoints/shared.d.ts +55 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/eventStream.d.ts +137 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/extensions/checksum.d.ts +58 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/extensions/defaultClientConfiguration.d.ts +33 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/extensions/defaultExtensionConfiguration.d.ts +9 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/extensions/index.d.ts +4 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/extensions/retry.d.ts +18 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/externals-check/browser-externals-check.d.ts +35 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/feature-ids.d.ts +16 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/http/httpHandlerInitialization.d.ts +121 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/http.d.ts +112 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/identity/apiKeyIdentity.d.ts +14 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/identity/awsCredentialIdentity.d.ts +31 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/identity/identity.d.ts +15 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/identity/index.d.ts +4 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/identity/tokenIdentity.d.ts +14 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/index.d.ts +40 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/logger.d.ts +13 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/middleware.d.ts +534 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/pagination.d.ts +33 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/profile.d.ts +30 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/response.d.ts +40 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/retry.d.ts +133 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/schema/schema.d.ts +278 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/schema/sentinels.d.ts +65 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/schema/traits.d.ts +46 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/serde.d.ts +114 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/shapes.d.ts +82 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/signature.d.ts +155 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/stream.d.ts +22 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/streaming-payload/streaming-blob-common-types.d.ts +32 -0
- 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
- 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
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/transfer.d.ts +41 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/transform/client-method-transforms.d.ts +26 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/transform/client-payload-blob-type-narrow.d.ts +81 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/transform/exact.d.ts +14 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/transform/mutable.d.ts +6 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/transform/no-undefined.d.ts +88 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/transform/type-transform.d.ts +41 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/uri.d.ts +17 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/util.d.ts +192 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/ts3.4/waiter.d.ts +35 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/uri.d.ts +17 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/util.d.ts +176 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/dist-types/waiter.d.ts +35 -0
- package/node_modules/@amzn/codewhisperer-streaming/node_modules/@smithy/types/package.json +60 -0
- package/node_modules/@amzn/codewhisperer-streaming/package.json +1 -1
- package/out/client/sigv4/service.json +8 -0
- package/out/client/token/bearer-token-service.json +20 -0
- package/out/language-server/agenticChat/agenticChatController.d.ts +9 -3
- package/out/language-server/agenticChat/agenticChatController.js +335 -75
- package/out/language-server/agenticChat/agenticChatController.js.map +1 -1
- package/out/language-server/agenticChat/agenticChatResultStream.d.ts +9 -0
- package/out/language-server/agenticChat/agenticChatResultStream.js +41 -1
- package/out/language-server/agenticChat/agenticChatResultStream.js.map +1 -1
- package/out/language-server/agenticChat/constants.d.ts +0 -1
- package/out/language-server/agenticChat/constants.js +1 -2
- package/out/language-server/agenticChat/constants.js.map +1 -1
- package/out/language-server/agenticChat/context/addtionalContextProvider.d.ts +2 -3
- package/out/language-server/agenticChat/context/addtionalContextProvider.js +3 -5
- package/out/language-server/agenticChat/context/addtionalContextProvider.js.map +1 -1
- package/out/language-server/agenticChat/context/agenticChatTriggerContext.d.ts +1 -0
- package/out/language-server/agenticChat/context/agenticChatTriggerContext.js +15 -2
- package/out/language-server/agenticChat/context/agenticChatTriggerContext.js.map +1 -1
- package/out/language-server/agenticChat/errors.d.ts +2 -1
- package/out/language-server/agenticChat/errors.js +11 -1
- package/out/language-server/agenticChat/errors.js.map +1 -1
- package/out/language-server/agenticChat/tabBarController.d.ts +10 -1
- package/out/language-server/agenticChat/tabBarController.js +54 -27
- package/out/language-server/agenticChat/tabBarController.js.map +1 -1
- package/out/language-server/agenticChat/tools/chatDb/chatDb.d.ts +8 -9
- package/out/language-server/agenticChat/tools/chatDb/chatDb.js +58 -124
- package/out/language-server/agenticChat/tools/chatDb/chatDb.js.map +1 -1
- package/out/language-server/agenticChat/tools/codeSearch.js +1 -1
- package/out/language-server/agenticChat/tools/codeSearch.js.map +1 -1
- package/out/language-server/agenticChat/tools/executeBash.d.ts +2 -2
- package/out/language-server/agenticChat/tools/executeBash.js +4 -4
- package/out/language-server/agenticChat/tools/executeBash.js.map +1 -1
- package/out/language-server/agenticChat/tools/fileSearch.js +1 -1
- package/out/language-server/agenticChat/tools/fileSearch.js.map +1 -1
- package/out/language-server/agenticChat/tools/fsRead.js +1 -1
- package/out/language-server/agenticChat/tools/fsRead.js.map +1 -1
- package/out/language-server/agenticChat/tools/fsWrite.js +1 -1
- package/out/language-server/agenticChat/tools/fsWrite.js.map +1 -1
- package/out/language-server/agenticChat/tools/grepSearch.d.ts +74 -0
- package/out/language-server/agenticChat/tools/grepSearch.js +254 -0
- package/out/language-server/agenticChat/tools/grepSearch.js.map +1 -0
- package/out/language-server/agenticChat/tools/listDirectory.js +1 -1
- package/out/language-server/agenticChat/tools/listDirectory.js.map +1 -1
- package/out/language-server/agenticChat/tools/toolServer.js +2 -1
- package/out/language-server/agenticChat/tools/toolServer.js.map +1 -1
- package/out/language-server/agenticChat/tools/toolShared.d.ts +1 -1
- package/out/language-server/agenticChat/tools/toolShared.js +2 -2
- package/out/language-server/agenticChat/tools/toolShared.js.map +1 -1
- package/out/language-server/chat/chatController.d.ts +1 -1
- package/out/language-server/chat/chatController.js.map +1 -1
- package/out/language-server/chat/chatSessionService.d.ts +13 -0
- package/out/language-server/chat/chatSessionService.js +28 -4
- package/out/language-server/chat/chatSessionService.js.map +1 -1
- package/out/language-server/chat/contexts/triggerContext.js +1 -0
- package/out/language-server/chat/contexts/triggerContext.js.map +1 -1
- package/out/language-server/chat/telemetry/chatTelemetryController.d.ts +5 -4
- package/out/language-server/chat/telemetry/chatTelemetryController.js +29 -5
- package/out/language-server/chat/telemetry/chatTelemetryController.js.map +1 -1
- package/out/language-server/inline-completion/codePercentage.js +1 -0
- package/out/language-server/inline-completion/codePercentage.js.map +1 -1
- package/out/language-server/inline-completion/codeWhispererServer.d.ts +1 -0
- package/out/language-server/inline-completion/codeWhispererServer.js +40 -5
- package/out/language-server/inline-completion/codeWhispererServer.js.map +1 -1
- package/out/language-server/inline-completion/session/sessionManager.d.ts +2 -0
- package/out/language-server/inline-completion/session/sessionManager.js +2 -0
- package/out/language-server/inline-completion/session/sessionManager.js.map +1 -1
- package/out/language-server/localProjectContext/localProjectContextServer.js +3 -4
- package/out/language-server/localProjectContext/localProjectContextServer.js.map +1 -1
- package/out/language-server/workspaceContext/artifactManager.d.ts +1 -1
- package/out/language-server/workspaceContext/artifactManager.js +55 -22
- package/out/language-server/workspaceContext/artifactManager.js.map +1 -1
- package/out/language-server/workspaceContext/client.d.ts +1 -2
- package/out/language-server/workspaceContext/client.js +8 -16
- package/out/language-server/workspaceContext/client.js.map +1 -1
- package/out/language-server/workspaceContext/dependency/dependencyDiscoverer.d.ts +2 -0
- package/out/language-server/workspaceContext/dependency/dependencyDiscoverer.js +11 -1
- package/out/language-server/workspaceContext/dependency/dependencyDiscoverer.js.map +1 -1
- package/out/language-server/workspaceContext/dependency/dependencyHandler/DependencyWatcher.d.ts +17 -0
- package/out/language-server/workspaceContext/dependency/dependencyHandler/DependencyWatcher.js +75 -0
- package/out/language-server/workspaceContext/dependency/dependencyHandler/DependencyWatcher.js.map +1 -0
- package/out/language-server/workspaceContext/dependency/dependencyHandler/JSTSDependencyHandler.js +9 -9
- package/out/language-server/workspaceContext/dependency/dependencyHandler/JSTSDependencyHandler.js.map +1 -1
- package/out/language-server/workspaceContext/dependency/dependencyHandler/JavaDependencyHandler.js +9 -9
- package/out/language-server/workspaceContext/dependency/dependencyHandler/JavaDependencyHandler.js.map +1 -1
- package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandler.d.ts +7 -5
- package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandler.js +21 -15
- package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandler.js.map +1 -1
- package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandlerFactory.d.ts +1 -1
- package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandlerFactory.js +4 -4
- package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandlerFactory.js.map +1 -1
- package/out/language-server/workspaceContext/dependency/dependencyHandler/PythonDependencyHandler.js +38 -29
- package/out/language-server/workspaceContext/dependency/dependencyHandler/PythonDependencyHandler.js.map +1 -1
- package/out/language-server/workspaceContext/javaManager.js +1 -1
- package/out/language-server/workspaceContext/javaManager.js.map +1 -1
- package/out/language-server/workspaceContext/util.d.ts +1 -0
- package/out/language-server/workspaceContext/util.js +12 -6
- package/out/language-server/workspaceContext/util.js.map +1 -1
- package/out/language-server/workspaceContext/workspaceContextServer.js +63 -82
- package/out/language-server/workspaceContext/workspaceContextServer.js.map +1 -1
- package/out/language-server/workspaceContext/workspaceFolderManager.d.ts +22 -50
- package/out/language-server/workspaceContext/workspaceFolderManager.js +259 -496
- package/out/language-server/workspaceContext/workspaceFolderManager.js.map +1 -1
- package/out/shared/telemetry/telemetryService.d.ts +10 -1
- package/out/shared/telemetry/telemetryService.js +36 -7
- package/out/shared/telemetry/telemetryService.js.map +1 -1
- package/out/shared/telemetry/types.d.ts +39 -0
- package/out/shared/telemetry/types.js +1 -0
- package/out/shared/telemetry/types.js.map +1 -1
- package/package.json +6 -5
- package/out/shared/initializeUtils.d.ts +0 -3
- package/out/shared/initializeUtils.js +0 -32
- 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
|
|
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
|
-
|
|
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 (
|
|
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
|
|
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.
|
|
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
|
-
|
|
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.#
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
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.#
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
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.#
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
result.data
|
|
422
|
-
|
|
423
|
-
:
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
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
|
-
|
|
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
|
-
|
|
484
|
-
|
|
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
|
-
|
|
491
|
-
|
|
492
|
-
|
|
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
|
-
|
|
539
|
-
if (
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
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 '
|
|
642
|
-
|
|
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
|
-
|
|
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
|
|
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.
|
|
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.
|
|
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`);
|