@aws/lsp-codewhisperer 0.0.3 → 0.0.5

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 (192) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/out/client/sigv4/service.json +1 -1
  3. package/out/client/token/bearer-token-service.json +1 -1
  4. package/out/index.d.ts +1 -0
  5. package/out/index.js +1 -0
  6. package/out/index.js.map +1 -1
  7. package/out/language-server/chat/chatController.d.ts +25 -0
  8. package/out/language-server/chat/chatController.js +117 -0
  9. package/out/language-server/chat/chatController.js.map +1 -0
  10. package/out/language-server/chat/chatController.test.d.ts +1 -0
  11. package/out/language-server/chat/chatController.test.js +240 -0
  12. package/out/language-server/chat/chatController.test.js.map +1 -0
  13. package/out/language-server/chat/chatEventParser.d.ts +24 -0
  14. package/out/language-server/chat/chatEventParser.js +84 -0
  15. package/out/language-server/chat/chatEventParser.js.map +1 -0
  16. package/out/language-server/chat/chatEventParser.test.d.ts +1 -0
  17. package/out/language-server/chat/chatEventParser.test.js +189 -0
  18. package/out/language-server/chat/chatEventParser.test.js.map +1 -0
  19. package/out/language-server/chat/chatSessionManagementService.d.ts +16 -0
  20. package/out/language-server/chat/chatSessionManagementService.js +92 -0
  21. package/out/language-server/chat/chatSessionManagementService.js.map +1 -0
  22. package/out/language-server/chat/chatSessionManagementService.test.d.ts +1 -0
  23. package/out/language-server/chat/chatSessionManagementService.test.js +73 -0
  24. package/out/language-server/chat/chatSessionManagementService.test.js.map +1 -0
  25. package/out/language-server/chat/chatSessionService.d.ts +13 -0
  26. package/out/language-server/chat/chatSessionService.js +63 -0
  27. package/out/language-server/chat/chatSessionService.js.map +1 -0
  28. package/out/language-server/chat/chatSessionService.test.d.ts +1 -0
  29. package/out/language-server/chat/chatSessionService.test.js +80 -0
  30. package/out/language-server/chat/chatSessionService.test.js.map +1 -0
  31. package/out/language-server/chat/contexts/documentContext.d.ts +17 -0
  32. package/out/language-server/chat/contexts/documentContext.js +59 -0
  33. package/out/language-server/chat/contexts/documentContext.js.map +1 -0
  34. package/out/language-server/chat/contexts/documentContext.test.d.ts +1 -0
  35. package/out/language-server/chat/contexts/documentContext.test.js +147 -0
  36. package/out/language-server/chat/contexts/documentContext.test.js.map +1 -0
  37. package/out/language-server/chat/contexts/utils.d.ts +10 -0
  38. package/out/language-server/chat/contexts/utils.js +71 -0
  39. package/out/language-server/chat/contexts/utils.js.map +1 -0
  40. package/out/language-server/chat/contexts/utils.test.d.ts +1 -0
  41. package/out/language-server/chat/contexts/utils.test.js +72 -0
  42. package/out/language-server/chat/contexts/utils.test.js.map +1 -0
  43. package/out/language-server/chat/utils.d.ts +4 -0
  44. package/out/language-server/chat/utils.js +34 -0
  45. package/out/language-server/chat/utils.js.map +1 -0
  46. package/out/language-server/codeWhispererSecurityScanServer.d.ts +1 -2
  47. package/out/language-server/codeWhispererSecurityScanServer.js +152 -25
  48. package/out/language-server/codeWhispererSecurityScanServer.js.map +1 -1
  49. package/out/language-server/codeWhispererServer.d.ts +1 -2
  50. package/out/language-server/codeWhispererServer.js +3 -3
  51. package/out/language-server/codeWhispererServer.js.map +1 -1
  52. package/out/language-server/codeWhispererServer.test.js +100 -101
  53. package/out/language-server/codeWhispererServer.test.js.map +1 -1
  54. package/out/language-server/codeWhispererService.d.ts +1 -1
  55. package/out/language-server/codeWhispererService.js.map +1 -1
  56. package/out/language-server/dependencyGraph/csharpDependencyGraph.d.ts +3 -3
  57. package/out/language-server/dependencyGraph/csharpDependencyGraph.js +40 -37
  58. package/out/language-server/dependencyGraph/csharpDependencyGraph.js.map +1 -1
  59. package/out/language-server/dependencyGraph/csharpDependencyGraph.test.js +106 -78
  60. package/out/language-server/dependencyGraph/csharpDependencyGraph.test.js.map +1 -1
  61. package/out/language-server/dependencyGraph/dependencyGraph.d.ts +12 -4
  62. package/out/language-server/dependencyGraph/dependencyGraph.js +24 -6
  63. package/out/language-server/dependencyGraph/dependencyGraph.js.map +1 -1
  64. package/out/language-server/dependencyGraph/dependencyGraphFactory.d.ts +2 -3
  65. package/out/language-server/dependencyGraph/dependencyGraphFactory.js +2 -2
  66. package/out/language-server/dependencyGraph/dependencyGraphFactory.js.map +1 -1
  67. package/out/language-server/languageDetection.d.ts +11 -3
  68. package/out/language-server/languageDetection.js +85 -20
  69. package/out/language-server/languageDetection.js.map +1 -1
  70. package/out/language-server/languageDetection.test.d.ts +1 -0
  71. package/out/language-server/languageDetection.test.js +31 -0
  72. package/out/language-server/languageDetection.test.js.map +1 -0
  73. package/out/language-server/netTransformServer.d.ts +12 -0
  74. package/out/language-server/netTransformServer.js +27 -0
  75. package/out/language-server/netTransformServer.js.map +1 -0
  76. package/out/language-server/proxy-server.d.ts +3 -2
  77. package/out/language-server/proxy-server.js +35 -1
  78. package/out/language-server/proxy-server.js.map +1 -1
  79. package/out/language-server/qChatServer.d.ts +3 -0
  80. package/out/language-server/qChatServer.js +31 -0
  81. package/out/language-server/qChatServer.js.map +1 -0
  82. package/out/language-server/qChatServer.test.d.ts +1 -0
  83. package/out/language-server/qChatServer.test.js +51 -0
  84. package/out/language-server/qChatServer.test.js.map +1 -0
  85. package/out/language-server/securityScan/securityScanDiagnosticsProvider.d.ts +28 -0
  86. package/out/language-server/securityScan/securityScanDiagnosticsProvider.js +111 -0
  87. package/out/language-server/securityScan/securityScanDiagnosticsProvider.js.map +1 -0
  88. package/out/language-server/securityScan/securityScanHandler.d.ts +12 -5
  89. package/out/language-server/securityScan/securityScanHandler.js +69 -19
  90. package/out/language-server/securityScan/securityScanHandler.js.map +1 -1
  91. package/out/language-server/securityScan/securityScanHandler.test.js +3 -2
  92. package/out/language-server/securityScan/securityScanHandler.test.js.map +1 -1
  93. package/out/language-server/securityScan/types.d.ts +15 -0
  94. package/out/language-server/session/sessionManager.d.ts +1 -2
  95. package/out/language-server/session/sessionManager.js.map +1 -1
  96. package/out/language-server/telemetry/codePercentage.d.ts +1 -1
  97. package/out/language-server/telemetry/types.d.ts +20 -0
  98. package/out/language-server/telemetry/userTriggerDecision.test.js +8 -8
  99. package/out/language-server/telemetry/userTriggerDecision.test.js.map +1 -1
  100. package/out/language-server/telemetry.test.js +4 -4
  101. package/out/language-server/telemetry.test.js.map +1 -1
  102. package/out/language-server/testUtils.d.ts +1 -0
  103. package/out/language-server/testUtils.js +17 -1
  104. package/out/language-server/testUtils.js.map +1 -1
  105. package/out/language-server/types.d.ts +13 -0
  106. package/out/language-server/types.js +3 -0
  107. package/out/language-server/types.js.map +1 -0
  108. package/out/language-server/utils.d.ts +3 -0
  109. package/out/language-server/utils.js +19 -1
  110. package/out/language-server/utils.js.map +1 -1
  111. package/out/language-server/utils.test.d.ts +1 -0
  112. package/out/language-server/utils.test.js +33 -0
  113. package/out/language-server/utils.test.js.map +1 -0
  114. package/package.json +16 -7
  115. package/src.gen/@amzn/codewhisperer-streaming/LICENSE +201 -0
  116. package/src.gen/@amzn/codewhisperer-streaming/README.md +464 -0
  117. package/src.gen/@amzn/codewhisperer-streaming/api-extractor.json +4 -0
  118. package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/CodeWhispererStreaming.js +17 -0
  119. package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/CodeWhispererStreamingClient.js +42 -0
  120. package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/commands/ExportResultArchiveCommand.js +42 -0
  121. package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/commands/GenerateAssistantResponseCommand.js +42 -0
  122. package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/commands/GenerateTaskAssistPlanCommand.js +42 -0
  123. package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/commands/index.js +6 -0
  124. package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/endpoints.js +165 -0
  125. package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/extensionConfiguration.js +2 -0
  126. package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/index.js +10 -0
  127. package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/models/CodeWhispererStreamingServiceException.js +12 -0
  128. package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/models/index.js +4 -0
  129. package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/models/models_0.js +361 -0
  130. package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/protocols/Aws_restJson1.js +458 -0
  131. package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/runtimeConfig.browser.js +38 -0
  132. package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/runtimeConfig.js +46 -0
  133. package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/runtimeConfig.native.js +15 -0
  134. package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/runtimeConfig.shared.js +22 -0
  135. package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/runtimeExtensions.js +22 -0
  136. package/src.gen/@amzn/codewhisperer-streaming/dist-es/CodeWhispererStreaming.js +13 -0
  137. package/src.gen/@amzn/codewhisperer-streaming/dist-es/CodeWhispererStreamingClient.js +38 -0
  138. package/src.gen/@amzn/codewhisperer-streaming/dist-es/commands/ExportResultArchiveCommand.js +38 -0
  139. package/src.gen/@amzn/codewhisperer-streaming/dist-es/commands/GenerateAssistantResponseCommand.js +38 -0
  140. package/src.gen/@amzn/codewhisperer-streaming/dist-es/commands/GenerateTaskAssistPlanCommand.js +38 -0
  141. package/src.gen/@amzn/codewhisperer-streaming/dist-es/commands/index.js +3 -0
  142. package/src.gen/@amzn/codewhisperer-streaming/dist-es/endpoints.js +161 -0
  143. package/src.gen/@amzn/codewhisperer-streaming/dist-es/extensionConfiguration.js +1 -0
  144. package/src.gen/@amzn/codewhisperer-streaming/dist-es/index.js +5 -0
  145. package/src.gen/@amzn/codewhisperer-streaming/dist-es/models/CodeWhispererStreamingServiceException.js +8 -0
  146. package/src.gen/@amzn/codewhisperer-streaming/dist-es/models/index.js +1 -0
  147. package/src.gen/@amzn/codewhisperer-streaming/dist-es/models/models_0.js +328 -0
  148. package/src.gen/@amzn/codewhisperer-streaming/dist-es/protocols/Aws_restJson1.js +449 -0
  149. package/src.gen/@amzn/codewhisperer-streaming/dist-es/runtimeConfig.browser.js +33 -0
  150. package/src.gen/@amzn/codewhisperer-streaming/dist-es/runtimeConfig.js +41 -0
  151. package/src.gen/@amzn/codewhisperer-streaming/dist-es/runtimeConfig.native.js +11 -0
  152. package/src.gen/@amzn/codewhisperer-streaming/dist-es/runtimeConfig.shared.js +18 -0
  153. package/src.gen/@amzn/codewhisperer-streaming/dist-es/runtimeExtensions.js +18 -0
  154. package/src.gen/@amzn/codewhisperer-streaming/dist-types/CodeWhispererStreaming.d.ts +30 -0
  155. package/src.gen/@amzn/codewhisperer-streaming/dist-types/CodeWhispererStreamingClient.d.ts +169 -0
  156. package/src.gen/@amzn/codewhisperer-streaming/dist-types/commands/ExportResultArchiveCommand.d.ts +103 -0
  157. package/src.gen/@amzn/codewhisperer-streaming/dist-types/commands/GenerateAssistantResponseCommand.d.ts +294 -0
  158. package/src.gen/@amzn/codewhisperer-streaming/dist-types/commands/GenerateTaskAssistPlanCommand.d.ts +304 -0
  159. package/src.gen/@amzn/codewhisperer-streaming/dist-types/commands/index.d.ts +3 -0
  160. package/src.gen/@amzn/codewhisperer-streaming/dist-types/endpoints.d.ts +2 -0
  161. package/src.gen/@amzn/codewhisperer-streaming/dist-types/extensionConfiguration.d.ts +8 -0
  162. package/src.gen/@amzn/codewhisperer-streaming/dist-types/index.d.ts +5 -0
  163. package/src.gen/@amzn/codewhisperer-streaming/dist-types/models/CodeWhispererStreamingServiceException.d.ts +13 -0
  164. package/src.gen/@amzn/codewhisperer-streaming/dist-types/models/index.d.ts +1 -0
  165. package/src.gen/@amzn/codewhisperer-streaming/dist-types/models/models_0.d.ts +1173 -0
  166. package/src.gen/@amzn/codewhisperer-streaming/dist-types/protocols/Aws_restJson1.d.ts +29 -0
  167. package/src.gen/@amzn/codewhisperer-streaming/dist-types/runtimeConfig.browser.d.ts +39 -0
  168. package/src.gen/@amzn/codewhisperer-streaming/dist-types/runtimeConfig.d.ts +39 -0
  169. package/src.gen/@amzn/codewhisperer-streaming/dist-types/runtimeConfig.native.d.ts +38 -0
  170. package/src.gen/@amzn/codewhisperer-streaming/dist-types/runtimeConfig.shared.d.ts +17 -0
  171. package/src.gen/@amzn/codewhisperer-streaming/dist-types/runtimeExtensions.d.ts +17 -0
  172. package/src.gen/@amzn/codewhisperer-streaming/package.json +87 -0
  173. package/src.gen/@amzn/codewhisperer-streaming/src/CodeWhispererStreaming.ts +84 -0
  174. package/src.gen/@amzn/codewhisperer-streaming/src/CodeWhispererStreamingClient.ts +304 -0
  175. package/src.gen/@amzn/codewhisperer-streaming/src/commands/ExportResultArchiveCommand.ts +177 -0
  176. package/src.gen/@amzn/codewhisperer-streaming/src/commands/GenerateAssistantResponseCommand.ts +369 -0
  177. package/src.gen/@amzn/codewhisperer-streaming/src/commands/GenerateTaskAssistPlanCommand.ts +379 -0
  178. package/src.gen/@amzn/codewhisperer-streaming/src/commands/index.ts +4 -0
  179. package/src.gen/@amzn/codewhisperer-streaming/src/endpoints.ts +170 -0
  180. package/src.gen/@amzn/codewhisperer-streaming/src/extensionConfiguration.ts +12 -0
  181. package/src.gen/@amzn/codewhisperer-streaming/src/index.ts +8 -0
  182. package/src.gen/@amzn/codewhisperer-streaming/src/models/CodeWhispererStreamingServiceException.ts +22 -0
  183. package/src.gen/@amzn/codewhisperer-streaming/src/models/index.ts +2 -0
  184. package/src.gen/@amzn/codewhisperer-streaming/src/models/models_0.ts +1518 -0
  185. package/src.gen/@amzn/codewhisperer-streaming/src/protocols/Aws_restJson1.ts +740 -0
  186. package/src.gen/@amzn/codewhisperer-streaming/src/runtimeConfig.browser.ts +42 -0
  187. package/src.gen/@amzn/codewhisperer-streaming/src/runtimeConfig.native.ts +17 -0
  188. package/src.gen/@amzn/codewhisperer-streaming/src/runtimeConfig.shared.ts +24 -0
  189. package/src.gen/@amzn/codewhisperer-streaming/src/runtimeConfig.ts +55 -0
  190. package/src.gen/@amzn/codewhisperer-streaming/src/runtimeExtensions.ts +44 -0
  191. package/src.gen/@amzn/codewhisperer-streaming/typedoc.json +5 -0
  192. package/script/generateServiceClient.ts +0 -242
@@ -0,0 +1,42 @@
1
+ // smithy-typescript generated code
2
+ // @ts-ignore: package.json will be imported from dist folders
3
+ import packageInfo from '../package.json' // eslint-disable-line
4
+
5
+ import { Sha256 } from '@aws-crypto/sha256-browser'
6
+ import { defaultUserAgent } from '@aws-sdk/util-user-agent-browser'
7
+ import { DEFAULT_USE_DUALSTACK_ENDPOINT, DEFAULT_USE_FIPS_ENDPOINT } from '@smithy/config-resolver'
8
+ import { eventStreamSerdeProvider } from '@smithy/eventstream-serde-browser'
9
+ import { FetchHttpHandler as RequestHandler, streamCollector } from '@smithy/fetch-http-handler'
10
+ import { calculateBodyLength } from '@smithy/util-body-length-browser'
11
+ import { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE } from '@smithy/util-retry'
12
+ import { CodeWhispererStreamingClientConfig } from './CodeWhispererStreamingClient'
13
+ import { getRuntimeConfig as getSharedRuntimeConfig } from './runtimeConfig.shared'
14
+ import { loadConfigsForDefaultMode } from '@smithy/smithy-client'
15
+ import { resolveDefaultsModeConfig } from '@smithy/util-defaults-mode-browser'
16
+
17
+ /**
18
+ * @internal
19
+ */
20
+ export const getRuntimeConfig = (config: CodeWhispererStreamingClientConfig) => {
21
+ const defaultsMode = resolveDefaultsModeConfig(config)
22
+ const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode)
23
+ const clientSharedValues = getSharedRuntimeConfig(config)
24
+ return {
25
+ ...clientSharedValues,
26
+ ...config,
27
+ runtime: 'browser',
28
+ defaultsMode,
29
+ bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,
30
+ defaultUserAgentProvider:
31
+ config?.defaultUserAgentProvider ??
32
+ defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),
33
+ eventStreamSerdeProvider: config?.eventStreamSerdeProvider ?? eventStreamSerdeProvider,
34
+ maxAttempts: config?.maxAttempts ?? DEFAULT_MAX_ATTEMPTS,
35
+ requestHandler: config?.requestHandler ?? new RequestHandler(defaultConfigProvider),
36
+ retryMode: config?.retryMode ?? (async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE),
37
+ sha256: config?.sha256 ?? Sha256,
38
+ streamCollector: config?.streamCollector ?? streamCollector,
39
+ useDualstackEndpoint: config?.useDualstackEndpoint ?? (() => Promise.resolve(DEFAULT_USE_DUALSTACK_ENDPOINT)),
40
+ useFipsEndpoint: config?.useFipsEndpoint ?? (() => Promise.resolve(DEFAULT_USE_FIPS_ENDPOINT)),
41
+ }
42
+ }
@@ -0,0 +1,17 @@
1
+ // smithy-typescript generated code
2
+ import { Sha256 } from '@aws-crypto/sha256-js'
3
+ import { CodeWhispererStreamingClientConfig } from './CodeWhispererStreamingClient'
4
+ import { getRuntimeConfig as getBrowserRuntimeConfig } from './runtimeConfig.browser'
5
+
6
+ /**
7
+ * @internal
8
+ */
9
+ export const getRuntimeConfig = (config: CodeWhispererStreamingClientConfig) => {
10
+ const browserDefaults = getBrowserRuntimeConfig(config)
11
+ return {
12
+ ...browserDefaults,
13
+ ...config,
14
+ runtime: 'react-native',
15
+ sha256: config?.sha256 ?? Sha256,
16
+ }
17
+ }
@@ -0,0 +1,24 @@
1
+ // smithy-typescript generated code
2
+ import { defaultRegionInfoProvider } from './endpoints'
3
+ import { NoOpLogger } from '@smithy/smithy-client'
4
+ import { parseUrl } from '@smithy/url-parser'
5
+ import { fromBase64, toBase64 } from '@smithy/util-base64'
6
+ import { fromUtf8, toUtf8 } from '@smithy/util-utf8'
7
+ import { CodeWhispererStreamingClientConfig } from './CodeWhispererStreamingClient'
8
+
9
+ /**
10
+ * @internal
11
+ */
12
+ export const getRuntimeConfig = (config: CodeWhispererStreamingClientConfig) => ({
13
+ apiVersion: '2023-11-27',
14
+ base64Decoder: config?.base64Decoder ?? fromBase64,
15
+ base64Encoder: config?.base64Encoder ?? toBase64,
16
+ disableHostPrefix: config?.disableHostPrefix ?? false,
17
+ extensions: config?.extensions ?? [],
18
+ logger: config?.logger ?? new NoOpLogger(),
19
+ regionInfoProvider: config?.regionInfoProvider ?? defaultRegionInfoProvider,
20
+ serviceId: config?.serviceId ?? 'CodeWhispererStreaming',
21
+ urlParser: config?.urlParser ?? parseUrl,
22
+ utf8Decoder: config?.utf8Decoder ?? fromUtf8,
23
+ utf8Encoder: config?.utf8Encoder ?? toUtf8,
24
+ })
@@ -0,0 +1,55 @@
1
+ // smithy-typescript generated code
2
+ // @ts-ignore: package.json will be imported from dist folders
3
+ import packageInfo from '../package.json' // eslint-disable-line
4
+
5
+ import { defaultUserAgent } from '@aws-sdk/util-user-agent-node'
6
+ import {
7
+ NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS,
8
+ NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS,
9
+ } from '@smithy/config-resolver'
10
+ import { eventStreamSerdeProvider } from '@smithy/eventstream-serde-node'
11
+ import { Hash } from '@smithy/hash-node'
12
+ import { NODE_MAX_ATTEMPT_CONFIG_OPTIONS, NODE_RETRY_MODE_CONFIG_OPTIONS } from '@smithy/middleware-retry'
13
+ import { loadConfig as loadNodeConfig } from '@smithy/node-config-provider'
14
+ import { NodeHttpHandler as RequestHandler, streamCollector } from '@smithy/node-http-handler'
15
+ import { calculateBodyLength } from '@smithy/util-body-length-node'
16
+ import { DEFAULT_RETRY_MODE } from '@smithy/util-retry'
17
+ import { CodeWhispererStreamingClientConfig } from './CodeWhispererStreamingClient'
18
+ import { getRuntimeConfig as getSharedRuntimeConfig } from './runtimeConfig.shared'
19
+ import { loadConfigsForDefaultMode } from '@smithy/smithy-client'
20
+ import { resolveDefaultsModeConfig } from '@smithy/util-defaults-mode-node'
21
+ import { emitWarningIfUnsupportedVersion } from '@smithy/smithy-client'
22
+
23
+ /**
24
+ * @internal
25
+ */
26
+ export const getRuntimeConfig = (config: CodeWhispererStreamingClientConfig) => {
27
+ emitWarningIfUnsupportedVersion(process.version)
28
+ const defaultsMode = resolveDefaultsModeConfig(config)
29
+ const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode)
30
+ const clientSharedValues = getSharedRuntimeConfig(config)
31
+ return {
32
+ ...clientSharedValues,
33
+ ...config,
34
+ runtime: 'node',
35
+ defaultsMode,
36
+ bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,
37
+ defaultUserAgentProvider:
38
+ config?.defaultUserAgentProvider ??
39
+ defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),
40
+ eventStreamSerdeProvider: config?.eventStreamSerdeProvider ?? eventStreamSerdeProvider,
41
+ maxAttempts: config?.maxAttempts ?? loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS),
42
+ requestHandler: config?.requestHandler ?? new RequestHandler(defaultConfigProvider),
43
+ retryMode:
44
+ config?.retryMode ??
45
+ loadNodeConfig({
46
+ ...NODE_RETRY_MODE_CONFIG_OPTIONS,
47
+ default: async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE,
48
+ }),
49
+ sha256: config?.sha256 ?? Hash.bind(null, 'sha256'),
50
+ streamCollector: config?.streamCollector ?? streamCollector,
51
+ useDualstackEndpoint:
52
+ config?.useDualstackEndpoint ?? loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),
53
+ useFipsEndpoint: config?.useFipsEndpoint ?? loadNodeConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS),
54
+ }
55
+ }
@@ -0,0 +1,44 @@
1
+ // smithy-typescript generated code
2
+ import {
3
+ getAwsRegionExtensionConfiguration,
4
+ resolveAwsRegionExtensionConfiguration,
5
+ } from '@aws-sdk/region-config-resolver'
6
+ import { getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig } from '@smithy/protocol-http'
7
+ import { getDefaultExtensionConfiguration, resolveDefaultRuntimeConfig } from '@smithy/smithy-client'
8
+ import { CodeWhispererStreamingExtensionConfiguration } from './extensionConfiguration'
9
+
10
+ /**
11
+ * @public
12
+ */
13
+ export interface RuntimeExtension {
14
+ configure(extensionConfiguration: CodeWhispererStreamingExtensionConfiguration): void
15
+ }
16
+
17
+ /**
18
+ * @public
19
+ */
20
+ export interface RuntimeExtensionsConfig {
21
+ extensions: RuntimeExtension[]
22
+ }
23
+
24
+ const asPartial = <T extends Partial<CodeWhispererStreamingExtensionConfiguration>>(t: T) => t
25
+
26
+ /**
27
+ * @internal
28
+ */
29
+ export const resolveRuntimeExtensions = (runtimeConfig: any, extensions: RuntimeExtension[]) => {
30
+ const extensionConfiguration: CodeWhispererStreamingExtensionConfiguration = {
31
+ ...asPartial(getAwsRegionExtensionConfiguration(runtimeConfig)),
32
+ ...asPartial(getDefaultExtensionConfiguration(runtimeConfig)),
33
+ ...asPartial(getHttpHandlerExtensionConfiguration(runtimeConfig)),
34
+ }
35
+
36
+ extensions.forEach(extension => extension.configure(extensionConfiguration))
37
+
38
+ return {
39
+ ...runtimeConfig,
40
+ ...resolveAwsRegionExtensionConfiguration(extensionConfiguration),
41
+ ...resolveDefaultRuntimeConfig(extensionConfiguration),
42
+ ...resolveHttpHandlerRuntimeConfig(extensionConfiguration),
43
+ }
44
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "entryPoints": ["src/index.ts"],
3
+ "out": "docs",
4
+ "readme": "README.md"
5
+ }
@@ -1,242 +0,0 @@
1
- /*!
2
- * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
-
6
- import * as child_process from 'child_process'
7
- import * as fs from 'fs'
8
- import * as path from 'path'
9
-
10
- const repoRoot = path.join(process.cwd()) // root/packages/toolkit -> root/
11
- /**
12
- * This script uses the AWS JS SDK v2 to generate service clients where the client definition is contained within
13
- * this repo. Client definitions are added at the bottom of this script.
14
- */
15
-
16
- interface ServiceClientDefinition {
17
- serviceName: string
18
- serviceJsonPath: string
19
- }
20
-
21
- async function generateServiceClients(serviceClientDefinitions: ServiceClientDefinition[]): Promise<void> {
22
- const tempJsSdkPath = path.join(repoRoot, 'node_modules', '.zzz-awssdk2')
23
- console.log(`Temp JS SDK Repo location: ${tempJsSdkPath}`)
24
- console.log('Service Clients to Generate: ', serviceClientDefinitions.map(x => x.serviceName).join(', '))
25
-
26
- await cloneJsSdk(tempJsSdkPath)
27
- await insertServiceClientsIntoJsSdk(tempJsSdkPath, serviceClientDefinitions)
28
- await runTypingsGenerator(tempJsSdkPath)
29
- await integrateServiceClients(tempJsSdkPath, serviceClientDefinitions)
30
-
31
- console.log('Done generating service client(s)')
32
- }
33
-
34
- /** When cloning aws-sdk-js, we want to pull the version actually used in package-lock.json. */
35
- function getJsSdkVersion(): string {
36
- const json = fs.readFileSync(path.resolve(repoRoot, 'package-lock.json')).toString()
37
- const packageLock = JSON.parse(json)
38
-
39
- return packageLock['packages']['node_modules/aws-sdk']['version']
40
- }
41
-
42
- async function cloneJsSdk(dir: string): Promise<void> {
43
- // Output stderr while it clones so it doesn't look frozen
44
- return new Promise<void>((resolve, reject) => {
45
- const sdkversion = getJsSdkVersion()
46
- if (!sdkversion) {
47
- throw new Error('failed to get sdk version from package-lock.json')
48
- }
49
- const tag = `v${sdkversion}`
50
-
51
- const gitHead = child_process.spawnSync('git', ['-C', dir, 'rev-parse', 'HEAD'])
52
-
53
- const alreadyCloned = gitHead.status !== undefined && gitHead.status === 0
54
- const msg = `${alreadyCloned ? 'Updating' : 'Cloning'} AWS JS SDK...
55
- tag: ${tag}
56
- git: status=${gitHead.status} output=${gitHead.output.toString()}`
57
- console.log(msg)
58
-
59
- const gitArgs = alreadyCloned
60
- ? // Local repo exists already: just update it and checkout the tag.
61
- // Fetch only the tag we need.
62
- // git fetch origin tag v2.950.0 --no-tags
63
- ['-C', dir, 'fetch', '--quiet', 'origin', 'tag', tag, '--no-tags']
64
- : // Local repo does not exist: clone it.
65
- [
66
- '-c',
67
- 'advice.detachedHead=false',
68
- 'clone',
69
- '--quiet',
70
- '-b',
71
- tag,
72
- '--depth',
73
- '1',
74
- 'https://github.com/aws/aws-sdk-js.git',
75
- dir,
76
- ]
77
-
78
- const gitCmd = child_process.execFile('git', gitArgs, { encoding: 'utf8' })
79
-
80
- gitCmd.stderr?.on('data', (data: any) => {
81
- console.log(data)
82
- })
83
- gitCmd.once('close', (code, signal) => {
84
- gitCmd.stdout?.removeAllListeners()
85
-
86
- // Only needed for the "update" case, but harmless for "clone".
87
- const gitCheckout = child_process.spawnSync('git', [
88
- '-c',
89
- 'advice.detachedHead=false',
90
- '-C',
91
- dir,
92
- 'checkout',
93
- '--force',
94
- tag,
95
- ])
96
- if (gitCheckout.status !== undefined && gitCheckout.status !== 0) {
97
- console.log(`error: git: status=${gitCheckout.status} output=${gitCheckout.output.toString()}`)
98
- }
99
-
100
- resolve()
101
- })
102
- })
103
- }
104
-
105
- async function insertServiceClientsIntoJsSdk(
106
- jsSdkPath: string,
107
- serviceClientDefinitions: ServiceClientDefinition[]
108
- ): Promise<void> {
109
- serviceClientDefinitions.forEach(serviceClientDefinition => {
110
- const apiVersion = getApiVersion(serviceClientDefinition.serviceJsonPath)
111
-
112
- // Copy the Service Json into the JS SDK for generation
113
- const jsSdkServiceJsonPath = path.join(
114
- jsSdkPath,
115
- 'apis',
116
- `${serviceClientDefinition.serviceName.toLowerCase()}-${apiVersion}.normal.json`
117
- )
118
- fs.copyFileSync(serviceClientDefinition.serviceJsonPath, jsSdkServiceJsonPath)
119
- })
120
-
121
- const apiMetadataPath = path.join(jsSdkPath, 'apis', 'metadata.json')
122
- await patchServicesIntoApiMetadata(
123
- apiMetadataPath,
124
- serviceClientDefinitions.map(x => x.serviceName)
125
- )
126
- }
127
-
128
- interface ServiceJsonSchema {
129
- metadata: {
130
- apiVersion: string
131
- }
132
- }
133
-
134
- function getApiVersion(serviceJsonPath: string): string {
135
- const json = fs.readFileSync(serviceJsonPath).toString()
136
- const serviceJson = JSON.parse(json) as ServiceJsonSchema
137
-
138
- return serviceJson.metadata.apiVersion
139
- }
140
-
141
- interface ApiMetadata {
142
- [key: string]: { name: string }
143
- }
144
-
145
- /**
146
- * Updates the JS SDK's api metadata to contain the provided services
147
- */
148
- async function patchServicesIntoApiMetadata(apiMetadataPath: string, serviceNames: string[]): Promise<void> {
149
- console.log(`Patching services (${serviceNames.join(', ')}) into API Metadata...`)
150
-
151
- const apiMetadataJson = fs.readFileSync(apiMetadataPath).toString()
152
- const apiMetadata = JSON.parse(apiMetadataJson) as ApiMetadata
153
-
154
- serviceNames.forEach(serviceName => {
155
- apiMetadata[serviceName.toLowerCase()] = { name: serviceName }
156
- })
157
-
158
- fs.writeFileSync(apiMetadataPath, JSON.stringify(apiMetadata, undefined, 4))
159
- }
160
-
161
- /**
162
- * Generates service clients
163
- */
164
- async function runTypingsGenerator(repoPath: string): Promise<void> {
165
- console.log('Generating service client typings...')
166
-
167
- const stdout = child_process.execFileSync('node', ['scripts/typings-generator.js'], {
168
- encoding: 'utf8',
169
- cwd: repoPath,
170
- })
171
- console.log(stdout)
172
- }
173
-
174
- /**
175
- * Copies the generated service clients into the repo
176
- */
177
- async function integrateServiceClients(
178
- repoPath: string,
179
- serviceClientDefinitions: ServiceClientDefinition[]
180
- ): Promise<void> {
181
- for (const serviceClientDefinition of serviceClientDefinitions) {
182
- await integrateServiceClient(
183
- repoPath,
184
- serviceClientDefinition.serviceJsonPath,
185
- serviceClientDefinition.serviceName
186
- )
187
- }
188
- }
189
-
190
- /**
191
- * Copies the generated service client into the repo
192
- */
193
- async function integrateServiceClient(repoPath: string, serviceJsonPath: string, serviceName: string): Promise<void> {
194
- const typingsFilename = `${serviceName.toLowerCase()}.d.ts`
195
- const sourceClientPath = path.join(repoPath, 'clients', typingsFilename)
196
- const destinationClientPath = path.join(path.dirname(serviceJsonPath), typingsFilename)
197
-
198
- console.log(`Integrating ${typingsFilename} ...`)
199
-
200
- fs.copyFileSync(sourceClientPath, destinationClientPath)
201
-
202
- await sanitizeServiceClient(destinationClientPath)
203
- }
204
-
205
- /**
206
- * Patches the type file imports to be relative to the SDK module
207
- */
208
- async function sanitizeServiceClient(generatedClientPath: string): Promise<void> {
209
- console.log('Altering Service Client to fit the codebase...')
210
-
211
- let fileContents = fs.readFileSync(generatedClientPath).toString()
212
-
213
- // Add a header stating the file is autogenerated
214
- fileContents = `
215
- /**
216
- * THIS FILE IS AUTOGENERATED BY 'generateServiceClient.ts'.
217
- * DO NOT EDIT BY HAND.
218
- */
219
-
220
- ${fileContents}
221
- `
222
-
223
- fileContents = fileContents.replace(/(import .* from.*)\.\.(.*)/g, '$1aws-sdk$2')
224
-
225
- fs.writeFileSync(generatedClientPath, fileContents)
226
- }
227
-
228
- // ---------------------------------------------------------------------------------------------------------------------
229
-
230
- void (async () => {
231
- const serviceClientDefinitions: ServiceClientDefinition[] = [
232
- {
233
- serviceJsonPath: 'server/aws-lsp-codewhisperer/src/client/sigv4/service.json',
234
- serviceName: 'CodeWhispererSigV4Client',
235
- },
236
- {
237
- serviceJsonPath: 'server/aws-lsp-codewhisperer/src/client/token/bearer-token-service.json',
238
- serviceName: 'CodeWhispererBearerTokenClient',
239
- },
240
- ]
241
- await generateServiceClients(serviceClientDefinitions)
242
- })()