@code-yeongyu/senpi 2026.8.19 → 2026.8.20-2

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 (713) hide show
  1. package/CHANGELOG.md +133 -0
  2. package/dist/cli-main.js +4 -0
  3. package/dist/cli-main.js.map +1 -1
  4. package/dist/cli.js +31 -3
  5. package/dist/cli.js.map +1 -1
  6. package/dist/compile-cache.d.ts +2 -0
  7. package/dist/compile-cache.d.ts.map +1 -0
  8. package/dist/compile-cache.js +33 -0
  9. package/dist/compile-cache.js.map +1 -0
  10. package/dist/core/agent-session.d.ts +5 -0
  11. package/dist/core/agent-session.d.ts.map +1 -1
  12. package/dist/core/agent-session.js +94 -12
  13. package/dist/core/agent-session.js.map +1 -1
  14. package/dist/core/compaction/compaction.d.ts +6 -0
  15. package/dist/core/compaction/compaction.d.ts.map +1 -1
  16. package/dist/core/compaction/compaction.js +13 -0
  17. package/dist/core/compaction/compaction.js.map +1 -1
  18. package/dist/core/cursor-exec-bridge-session.d.ts +2 -1
  19. package/dist/core/cursor-exec-bridge-session.d.ts.map +1 -1
  20. package/dist/core/cursor-exec-bridge-session.js +5 -2
  21. package/dist/core/cursor-exec-bridge-session.js.map +1 -1
  22. package/dist/core/cursor-exec-bridge.d.ts +9 -1
  23. package/dist/core/cursor-exec-bridge.d.ts.map +1 -1
  24. package/dist/core/cursor-exec-bridge.js +26 -2
  25. package/dist/core/cursor-exec-bridge.js.map +1 -1
  26. package/dist/core/extensions/builtin/claude-sdk-oauth/custom-tools.d.ts +1 -1
  27. package/dist/core/extensions/builtin/claude-sdk-oauth/custom-tools.d.ts.map +1 -1
  28. package/dist/core/extensions/builtin/claude-sdk-oauth/custom-tools.js +5 -2
  29. package/dist/core/extensions/builtin/claude-sdk-oauth/custom-tools.js.map +1 -1
  30. package/dist/core/extensions/builtin/claude-sdk-oauth/sdk-boundary.d.ts +6 -4
  31. package/dist/core/extensions/builtin/claude-sdk-oauth/sdk-boundary.d.ts.map +1 -1
  32. package/dist/core/extensions/builtin/claude-sdk-oauth/sdk-boundary.js +24 -2
  33. package/dist/core/extensions/builtin/claude-sdk-oauth/sdk-boundary.js.map +1 -1
  34. package/dist/core/extensions/builtin/claude-sdk-oauth/sdk-boundary.lazy.d.ts +39 -0
  35. package/dist/core/extensions/builtin/claude-sdk-oauth/sdk-boundary.lazy.d.ts.map +1 -0
  36. package/dist/core/extensions/builtin/claude-sdk-oauth/sdk-boundary.lazy.js +31 -0
  37. package/dist/core/extensions/builtin/claude-sdk-oauth/sdk-boundary.lazy.js.map +1 -0
  38. package/dist/core/extensions/builtin/claude-sdk-oauth/session-continuity.d.ts +2 -0
  39. package/dist/core/extensions/builtin/claude-sdk-oauth/session-continuity.d.ts.map +1 -1
  40. package/dist/core/extensions/builtin/claude-sdk-oauth/session-continuity.js +35 -0
  41. package/dist/core/extensions/builtin/claude-sdk-oauth/session-continuity.js.map +1 -1
  42. package/dist/core/extensions/builtin/claude-sdk-oauth/session-observability.d.ts +1 -1
  43. package/dist/core/extensions/builtin/claude-sdk-oauth/session-observability.d.ts.map +1 -1
  44. package/dist/core/extensions/builtin/claude-sdk-oauth/session-observability.js +1 -0
  45. package/dist/core/extensions/builtin/claude-sdk-oauth/session-observability.js.map +1 -1
  46. package/dist/core/extensions/builtin/claude-sdk-oauth/session-reattach.d.ts +8 -0
  47. package/dist/core/extensions/builtin/claude-sdk-oauth/session-reattach.d.ts.map +1 -1
  48. package/dist/core/extensions/builtin/claude-sdk-oauth/session-reattach.js +4 -1
  49. package/dist/core/extensions/builtin/claude-sdk-oauth/session-reattach.js.map +1 -1
  50. package/dist/core/extensions/builtin/claude-sdk-oauth/session-turn-attempt.d.ts.map +1 -1
  51. package/dist/core/extensions/builtin/claude-sdk-oauth/session-turn-attempt.js +28 -1
  52. package/dist/core/extensions/builtin/claude-sdk-oauth/session-turn-attempt.js.map +1 -1
  53. package/dist/core/extensions/builtin/claude-sdk-oauth/stream.d.ts.map +1 -1
  54. package/dist/core/extensions/builtin/claude-sdk-oauth/stream.js +5 -2
  55. package/dist/core/extensions/builtin/claude-sdk-oauth/stream.js.map +1 -1
  56. package/dist/core/extensions/builtin/compaction/index.d.ts.map +1 -1
  57. package/dist/core/extensions/builtin/compaction/index.js +5 -0
  58. package/dist/core/extensions/builtin/compaction/index.js.map +1 -1
  59. package/dist/core/extensions/builtin/compaction/log.d.ts +1 -1
  60. package/dist/core/extensions/builtin/compaction/log.d.ts.map +1 -1
  61. package/dist/core/extensions/builtin/compaction/log.js +1 -0
  62. package/dist/core/extensions/builtin/compaction/log.js.map +1 -1
  63. package/dist/core/extensions/builtin/compaction/speculative.d.ts +1 -0
  64. package/dist/core/extensions/builtin/compaction/speculative.d.ts.map +1 -1
  65. package/dist/core/extensions/builtin/compaction/speculative.js +4 -0
  66. package/dist/core/extensions/builtin/compaction/speculative.js.map +1 -1
  67. package/dist/core/extensions/builtin/config-reload/index.d.ts.map +1 -1
  68. package/dist/core/extensions/builtin/config-reload/index.js +13 -10
  69. package/dist/core/extensions/builtin/config-reload/index.js.map +1 -1
  70. package/dist/core/extensions/builtin/config-reload/watch-engine.d.ts +8 -1
  71. package/dist/core/extensions/builtin/config-reload/watch-engine.d.ts.map +1 -1
  72. package/dist/core/extensions/builtin/config-reload/watch-engine.js +98 -18
  73. package/dist/core/extensions/builtin/config-reload/watch-engine.js.map +1 -1
  74. package/dist/core/extensions/builtin/config-reload/watch-event-source.d.ts +1 -1
  75. package/dist/core/extensions/builtin/config-reload/watch-event-source.d.ts.map +1 -1
  76. package/dist/core/extensions/builtin/config-reload/watch-event-source.js +7 -2
  77. package/dist/core/extensions/builtin/config-reload/watch-event-source.js.map +1 -1
  78. package/dist/core/extensions/builtin/goal/elapsed-ticker.d.ts.map +1 -1
  79. package/dist/core/extensions/builtin/goal/elapsed-ticker.js +15 -1
  80. package/dist/core/extensions/builtin/goal/elapsed-ticker.js.map +1 -1
  81. package/dist/core/extensions/builtin/goal/index.d.ts.map +1 -1
  82. package/dist/core/extensions/builtin/goal/index.js +7 -22
  83. package/dist/core/extensions/builtin/goal/index.js.map +1 -1
  84. package/dist/core/extensions/builtin/goal/stale-context.d.ts +9 -0
  85. package/dist/core/extensions/builtin/goal/stale-context.d.ts.map +1 -0
  86. package/dist/core/extensions/builtin/goal/stale-context.js +11 -0
  87. package/dist/core/extensions/builtin/goal/stale-context.js.map +1 -0
  88. package/dist/core/extensions/builtin/goal/wait-ticker.d.ts +8 -0
  89. package/dist/core/extensions/builtin/goal/wait-ticker.d.ts.map +1 -1
  90. package/dist/core/extensions/builtin/goal/wait-ticker.js +37 -3
  91. package/dist/core/extensions/builtin/goal/wait-ticker.js.map +1 -1
  92. package/dist/core/extensions/builtin/mcp/index.d.ts.map +1 -1
  93. package/dist/core/extensions/builtin/mcp/index.js +12 -1
  94. package/dist/core/extensions/builtin/mcp/index.js.map +1 -1
  95. package/dist/core/extensions/builtin/prompt-url-widget.d.ts.map +1 -1
  96. package/dist/core/extensions/builtin/prompt-url-widget.js +7 -15
  97. package/dist/core/extensions/builtin/prompt-url-widget.js.map +1 -1
  98. package/dist/core/extensions/builtin/rules/ui/rules-banner.d.ts.map +1 -1
  99. package/dist/core/extensions/builtin/rules/ui/rules-banner.js +21 -25
  100. package/dist/core/extensions/builtin/rules/ui/rules-banner.js.map +1 -1
  101. package/dist/core/extensions/builtin/todotools/index.d.ts.map +1 -1
  102. package/dist/core/extensions/builtin/todotools/index.js +20 -0
  103. package/dist/core/extensions/builtin/todotools/index.js.map +1 -1
  104. package/dist/core/extensions/builtin/todotools/native-todo-mirror.d.ts +3 -0
  105. package/dist/core/extensions/builtin/todotools/native-todo-mirror.d.ts.map +1 -0
  106. package/dist/core/extensions/builtin/todotools/native-todo-mirror.js +22 -0
  107. package/dist/core/extensions/builtin/todotools/native-todo-mirror.js.map +1 -0
  108. package/dist/core/extensions/builtin/webfetch/webfetch/content.lazy.d.ts +17 -0
  109. package/dist/core/extensions/builtin/webfetch/webfetch/content.lazy.d.ts.map +1 -0
  110. package/dist/core/extensions/builtin/webfetch/webfetch/content.lazy.js +22 -0
  111. package/dist/core/extensions/builtin/webfetch/webfetch/content.lazy.js.map +1 -0
  112. package/dist/core/extensions/builtin/webfetch/webfetch/tool.js +3 -3
  113. package/dist/core/extensions/builtin/webfetch/webfetch/tool.js.map +1 -1
  114. package/dist/core/messages.d.ts +9 -2
  115. package/dist/core/messages.d.ts.map +1 -1
  116. package/dist/core/messages.js +13 -18
  117. package/dist/core/messages.js.map +1 -1
  118. package/dist/core/retry-fallback/hint-policy.d.ts +3 -2
  119. package/dist/core/retry-fallback/hint-policy.d.ts.map +1 -1
  120. package/dist/core/retry-fallback/hint-policy.js +19 -8
  121. package/dist/core/retry-fallback/hint-policy.js.map +1 -1
  122. package/dist/core/retry-fallback/settings.js.map +1 -1
  123. package/dist/core/session-discovery.d.ts +16 -0
  124. package/dist/core/session-discovery.d.ts.map +1 -0
  125. package/dist/core/session-discovery.js +101 -0
  126. package/dist/core/session-discovery.js.map +1 -0
  127. package/dist/core/session-manager.d.ts +2 -1
  128. package/dist/core/session-manager.d.ts.map +1 -1
  129. package/dist/core/session-manager.js +4 -170
  130. package/dist/core/session-manager.js.map +1 -1
  131. package/dist/core/session-record.d.ts +14 -0
  132. package/dist/core/session-record.d.ts.map +1 -0
  133. package/dist/core/session-record.js +47 -0
  134. package/dist/core/session-record.js.map +1 -0
  135. package/dist/core/session-summary-cache.d.ts +40 -0
  136. package/dist/core/session-summary-cache.d.ts.map +1 -0
  137. package/dist/core/session-summary-cache.js +79 -0
  138. package/dist/core/session-summary-cache.js.map +1 -0
  139. package/dist/core/session-summary-lru.d.ts +54 -0
  140. package/dist/core/session-summary-lru.d.ts.map +1 -0
  141. package/dist/core/session-summary-lru.js +72 -0
  142. package/dist/core/session-summary-lru.js.map +1 -0
  143. package/dist/core/session-summary.d.ts +29 -0
  144. package/dist/core/session-summary.d.ts.map +1 -0
  145. package/dist/core/session-summary.js +90 -0
  146. package/dist/core/session-summary.js.map +1 -0
  147. package/dist/index.d.ts +1 -0
  148. package/dist/index.d.ts.map +1 -1
  149. package/dist/index.js +2 -0
  150. package/dist/index.js.map +1 -1
  151. package/dist/inspector-policy.d.ts +6 -0
  152. package/dist/inspector-policy.d.ts.map +1 -1
  153. package/dist/inspector-policy.js +6 -1
  154. package/dist/inspector-policy.js.map +1 -1
  155. package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -1
  156. package/dist/modes/interactive/components/earendil-announcement.js +8 -8
  157. package/dist/modes/interactive/components/earendil-announcement.js.map +1 -1
  158. package/dist/modes/interactive/components/progressive-transcript-container.d.ts +72 -0
  159. package/dist/modes/interactive/components/progressive-transcript-container.d.ts.map +1 -0
  160. package/dist/modes/interactive/components/progressive-transcript-container.js +150 -0
  161. package/dist/modes/interactive/components/progressive-transcript-container.js.map +1 -0
  162. package/dist/modes/interactive/components/status-indicator.d.ts +1 -1
  163. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
  164. package/dist/modes/interactive/components/status-indicator.js +8 -2
  165. package/dist/modes/interactive/components/status-indicator.js.map +1 -1
  166. package/dist/modes/interactive/interactive-mode.d.ts +4 -0
  167. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  168. package/dist/modes/interactive/interactive-mode.js +127 -65
  169. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  170. package/dist/modes/interactive/split-trailing-assistant-text.d.ts +7 -0
  171. package/dist/modes/interactive/split-trailing-assistant-text.d.ts.map +1 -0
  172. package/dist/modes/interactive/split-trailing-assistant-text.js +19 -0
  173. package/dist/modes/interactive/split-trailing-assistant-text.js.map +1 -0
  174. package/dist/senpi +31 -3
  175. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/index.js +38 -13
  176. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-es/index.js +1 -1
  177. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-es/schemas/schemas_0.js +34 -12
  178. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/commands/ConverseCommand.d.ts +29 -0
  179. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/commands/ConverseStreamCommand.d.ts +15 -0
  180. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/commands/CountTokensCommand.d.ts +14 -0
  181. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/index.d.ts +1 -1
  182. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/models/models_0.d.ts +119 -1
  183. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/runtimeConfig.browser.d.ts +46 -46
  184. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/runtimeConfig.d.ts +36 -36
  185. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/runtimeConfig.native.d.ts +48 -48
  186. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/runtimeConfig.shared.d.ts +2 -2
  187. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/schemas/schemas_0.d.ts +3 -0
  188. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/ts3.4/index.d.ts +1 -1
  189. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/ts3.4/models/models_0.d.ts +76 -0
  190. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/ts3.4/runtimeConfig.browser.d.ts +70 -72
  191. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/ts3.4/runtimeConfig.d.ts +68 -68
  192. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/ts3.4/runtimeConfig.native.d.ts +86 -88
  193. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/ts3.4/runtimeConfig.shared.d.ts +3 -3
  194. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/ts3.4/schemas/schemas_0.d.ts +3 -0
  195. package/node_modules/@aws-sdk/client-bedrock-runtime/package.json +14 -14
  196. package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +1328 -411
  197. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/index.js +8 -5
  198. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJsonRpcProtocol.js +2 -2
  199. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsRestJsonProtocol.js +3 -3
  200. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonSettings.js +1 -0
  201. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/{JsonCodec.js → codec-v1/JsonCodec.js} +1 -1
  202. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v1/JsonSettings.js +1 -0
  203. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/{JsonShapeDeserializer.js → codec-v1/JsonShapeDeserializer.js} +6 -6
  204. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/{JsonShapeSerializer.js → codec-v1/JsonShapeSerializer.js} +8 -5
  205. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v2/JsonBytesStringAdapter.js +103 -0
  206. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v2/JsonCodec2.js +20 -0
  207. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/{experimental/BufferJsonShapeDeserializer.js → codec-v2/JsonShapeDeserializer2.js} +38 -18
  208. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/{experimental/ByteJsonShapeSerializer.js → codec-v2/JsonShapeSerializer2.js} +107 -71
  209. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/jsonReviver.js +93 -9
  210. package/node_modules/@aws-sdk/core/dist-types/submodules/client/util-endpoints/lib/aws/partitions.d.ts +54 -54
  211. package/node_modules/@aws-sdk/core/dist-types/submodules/client/util-user-agent-browser/defaultUserAgent.d.ts +1 -1
  212. package/node_modules/@aws-sdk/core/dist-types/submodules/client/util-user-agent-browser/defaultUserAgent.native.d.ts +1 -1
  213. package/node_modules/@aws-sdk/core/dist-types/submodules/client/util-user-agent-node/defaultUserAgent.d.ts +1 -1
  214. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/index.d.ts +9 -6
  215. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsJson1_0Protocol.d.ts +3 -2
  216. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsJson1_1Protocol.d.ts +3 -2
  217. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsJsonRpcProtocol.d.ts +4 -3
  218. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsRestJsonProtocol.d.ts +5 -3
  219. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/JsonSettings.d.ts +7 -0
  220. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/{JsonCodec.d.ts → codec-v1/JsonCodec.d.ts} +4 -8
  221. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/codec-v1/JsonSettings.d.ts +7 -0
  222. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/{JsonShapeDeserializer.d.ts → codec-v1/JsonShapeDeserializer.d.ts} +3 -2
  223. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/{JsonShapeSerializer.d.ts → codec-v1/JsonShapeSerializer.d.ts} +3 -2
  224. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/codec-v2/JsonBytesStringAdapter.d.ts +51 -0
  225. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/codec-v2/JsonCodec2.d.ts +13 -0
  226. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/{experimental/BufferJsonShapeDeserializer.d.ts → codec-v2/JsonShapeDeserializer2.d.ts} +4 -3
  227. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/{experimental/ByteJsonShapeSerializer.d.ts → codec-v2/JsonShapeSerializer2.d.ts} +19 -16
  228. package/node_modules/@aws-sdk/core/dist-types/ts3.4/api-extractor-type-index.d.ts +4 -7
  229. package/node_modules/@aws-sdk/core/dist-types/ts3.4/index.d.ts +61 -21
  230. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/account-id-endpoint/AccountIdEndpointModeConfigResolver.d.ts +13 -27
  231. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/account-id-endpoint/AccountIdEndpointModeConstants.d.ts +4 -16
  232. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/account-id-endpoint/NodeAccountIdEndpointModeConfigOptions.d.ts +5 -14
  233. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/account-id-endpoint/index.d.ts +16 -5
  234. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/emitWarningIfUnsupportedVersion.d.ts +4 -11
  235. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.browser.d.ts +107 -47
  236. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.d.ts +112 -39
  237. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.native.d.ts +107 -48
  238. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/longPollMiddleware.d.ts +13 -14
  239. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-host-header/hostHeaderMiddleware.d.ts +25 -35
  240. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-logger/loggerMiddleware.d.ts +14 -4
  241. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-recursion-detection/configuration.d.ts +2 -6
  242. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-recursion-detection/getRecursionDetectionPlugin.browser.d.ts +2 -5
  243. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-recursion-detection/getRecursionDetectionPlugin.d.ts +2 -5
  244. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-recursion-detection/recursionDetectionMiddleware.browser.d.ts +2 -6
  245. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-recursion-detection/recursionDetectionMiddleware.d.ts +2 -10
  246. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-recursion-detection/recursionDetectionMiddleware.native.d.ts +2 -6
  247. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-user-agent/check-features.d.ts +16 -20
  248. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-user-agent/configurations.d.ts +21 -44
  249. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-user-agent/constants.d.ts +7 -7
  250. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-user-agent/encode-features.d.ts +2 -5
  251. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-user-agent/user-agent-middleware.d.ts +18 -18
  252. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/region-config-resolver/awsRegionConfig.d.ts +8 -11
  253. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/region-config-resolver/extensions.d.ts +14 -16
  254. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/region-config-resolver/stsRegionDefaultResolver.browser.d.ts +1 -4
  255. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/region-config-resolver/stsRegionDefaultResolver.d.ts +7 -14
  256. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/region-config-resolver/stsRegionDefaultResolver.native.d.ts +1 -4
  257. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/setCredentialFeature.d.ts +6 -7
  258. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/setFeature.d.ts +6 -12
  259. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/setTokenFeature.d.ts +6 -7
  260. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/aws.d.ts +2 -2
  261. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/lib/aws/isVirtualHostableS3Bucket.d.ts +4 -5
  262. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/lib/aws/parseArn.d.ts +2 -7
  263. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/lib/aws/partition.d.ts +28 -38
  264. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/lib/aws/partitions.d.ts +647 -638
  265. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/lib/isIpAddress.d.ts +1 -1
  266. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/resolveDefaultAwsRegionalEndpointsConfig.d.ts +29 -56
  267. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/resolveEndpoint.d.ts +1 -1
  268. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/types/EndpointError.d.ts +1 -1
  269. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/types/EndpointRuleObject.d.ts +6 -1
  270. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/types/ErrorRuleObject.d.ts +1 -1
  271. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/types/RuleSetObject.d.ts +1 -1
  272. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/types/TreeRuleObject.d.ts +1 -1
  273. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/types/shared.d.ts +12 -1
  274. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-browser/configurations.d.ts +4 -7
  275. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-browser/createUserAgentStringParsingProvider.d.ts +7 -14
  276. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-browser/defaultUserAgent.browser.d.ts +7 -2
  277. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-browser/defaultUserAgent.d.ts +15 -27
  278. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-browser/defaultUserAgent.native.d.ts +10 -18
  279. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-node/crt-availability.d.ts +3 -8
  280. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-node/defaultUserAgent.d.ts +14 -28
  281. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-node/getRuntimeUserAgentPair.d.ts +2 -6
  282. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-node/is-crt-available.d.ts +2 -5
  283. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-node/nodeAppIdConfigOptions.d.ts +4 -13
  284. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.d.ts +9 -10
  285. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.d.ts +39 -44
  286. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/NODE_AUTH_SCHEME_PREFERENCE_OPTIONS.d.ts +2 -5
  287. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/clock-skew-defaults.browser.d.ts +1 -6
  288. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/clock-skew-defaults.d.ts +1 -7
  289. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/clock-skew-node-config.d.ts +4 -13
  290. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/index.d.ts +23 -7
  291. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4AConfig.d.ts +13 -38
  292. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.d.ts +57 -133
  293. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/index.browser.d.ts +32 -11
  294. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/index.d.ts +32 -9
  295. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/utils/getArrayForCommaSeparatedString.d.ts +1 -8
  296. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/utils/getBearerTokenEnvKey.d.ts +1 -6
  297. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/utils/getDateHeader.d.ts +2 -8
  298. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/utils/getSkewCorrectedDate.d.ts +1 -8
  299. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/utils/getUpdatedSystemClockOffset.d.ts +6 -26
  300. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/utils/index.d.ts +4 -4
  301. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/utils/isClockSkewed.d.ts +1 -9
  302. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/ConfigurableSerdeContext.d.ts +5 -8
  303. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/ProtocolLib.d.ts +40 -74
  304. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/UnionSerde.d.ts +9 -24
  305. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/cbor/AwsSmithyRpcV2CborProtocol.d.ts +36 -25
  306. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/coercing-serializers.d.ts +3 -18
  307. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/common.d.ts +5 -2
  308. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/index.d.ts +30 -22
  309. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsJson1_0Protocol.d.ts +22 -22
  310. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsJson1_1Protocol.d.ts +22 -22
  311. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsJsonRpcProtocol.d.ts +50 -29
  312. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsRestJsonProtocol.d.ts +52 -36
  313. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/JsonSettings.d.ts +4 -0
  314. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/awsExpectUnion.d.ts +1 -7
  315. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v1/JsonCodec.d.ts +11 -0
  316. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v1/JsonSettings.d.ts +4 -0
  317. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v1/JsonShapeDeserializer.d.ts +13 -0
  318. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v1/JsonShapeSerializer.d.ts +18 -0
  319. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonBytesStringAdapter.d.ts +27 -0
  320. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonCodec2.d.ts +9 -0
  321. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonShapeDeserializer2.d.ts +15 -0
  322. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonShapeSerializer2.d.ts +39 -0
  323. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/detectBufferParsing.d.ts +1 -1
  324. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/jsonReplacer.d.ts +7 -21
  325. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/jsonReviver.d.ts +7 -15
  326. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/needsReviver.d.ts +2 -11
  327. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/parseJsonBody.d.ts +14 -22
  328. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/query/AwsEc2QueryProtocol.d.ts +18 -27
  329. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/query/AwsQueryProtocol.d.ts +57 -49
  330. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/query/QuerySerializerSettings.d.ts +7 -13
  331. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/query/QueryShapeSerializer.d.ts +21 -16
  332. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/writeKey.d.ts +1 -4
  333. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/xml/AwsRestXmlProtocol.d.ts +47 -31
  334. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/xml/XmlCodec.d.ts +17 -14
  335. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/xml/XmlShapeDeserializer.d.ts +15 -20
  336. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/xml/XmlShapeSerializer.d.ts +21 -21
  337. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/xml/parseXmlBody.d.ts +4 -13
  338. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/xml/simpleFormatXml.d.ts +1 -6
  339. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/util/index.d.ts +3 -3
  340. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/util/util-arn-parser/arn.d.ts +14 -32
  341. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/util/util-format-url/format-url.d.ts +4 -2
  342. package/node_modules/@aws-sdk/core/package.json +6 -6
  343. package/node_modules/@aws-sdk/credential-provider-env/package.json +5 -5
  344. package/node_modules/@aws-sdk/credential-provider-http/package.json +7 -7
  345. package/node_modules/@aws-sdk/credential-provider-ini/package.json +13 -13
  346. package/node_modules/@aws-sdk/credential-provider-login/dist-cjs/index.js +35 -28
  347. package/node_modules/@aws-sdk/credential-provider-login/dist-es/LoginCredentialsFetcher.js +35 -28
  348. package/node_modules/@aws-sdk/credential-provider-login/dist-types/LoginCredentialsFetcher.d.ts +1 -0
  349. package/node_modules/@aws-sdk/credential-provider-login/dist-types/ts3.4/LoginCredentialsFetcher.d.ts +1 -0
  350. package/node_modules/@aws-sdk/credential-provider-login/package.json +6 -6
  351. package/node_modules/@aws-sdk/credential-provider-node/package.json +11 -11
  352. package/node_modules/@aws-sdk/credential-provider-process/package.json +5 -5
  353. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/package.json +6 -6
  354. package/node_modules/@aws-sdk/credential-provider-sso/package.json +7 -7
  355. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +6 -6
  356. package/node_modules/@aws-sdk/eventstream-handler-node/package.json +4 -4
  357. package/node_modules/@aws-sdk/middleware-eventstream/package.json +4 -4
  358. package/node_modules/@aws-sdk/middleware-websocket/package.json +7 -7
  359. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
  360. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
  361. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
  362. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
  363. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
  364. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.browser.d.ts +42 -42
  365. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.d.ts +42 -42
  366. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.native.d.ts +41 -41
  367. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.shared.d.ts +2 -2
  368. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.browser.d.ts +43 -43
  369. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.d.ts +43 -43
  370. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.native.d.ts +42 -42
  371. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.shared.d.ts +2 -2
  372. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.browser.d.ts +42 -42
  373. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.d.ts +42 -42
  374. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.native.d.ts +41 -41
  375. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.shared.d.ts +2 -2
  376. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.browser.d.ts +42 -42
  377. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.d.ts +42 -42
  378. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.native.d.ts +41 -41
  379. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.shared.d.ts +2 -2
  380. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.browser.d.ts +44 -44
  381. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.d.ts +35 -35
  382. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.native.d.ts +43 -43
  383. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.shared.d.ts +2 -2
  384. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.browser.d.ts +64 -66
  385. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.d.ts +65 -65
  386. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.native.d.ts +68 -70
  387. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.shared.d.ts +3 -3
  388. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.browser.d.ts +67 -69
  389. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.d.ts +66 -66
  390. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.native.d.ts +71 -73
  391. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.shared.d.ts +3 -3
  392. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.browser.d.ts +64 -66
  393. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.d.ts +65 -65
  394. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.native.d.ts +68 -70
  395. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.shared.d.ts +3 -3
  396. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.browser.d.ts +64 -66
  397. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.d.ts +65 -65
  398. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.native.d.ts +68 -70
  399. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.shared.d.ts +3 -3
  400. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.browser.d.ts +68 -70
  401. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.d.ts +68 -68
  402. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.native.d.ts +72 -74
  403. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.shared.d.ts +3 -3
  404. package/node_modules/@aws-sdk/nested-clients/package.json +8 -8
  405. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +4 -4
  406. package/node_modules/@aws-sdk/token-providers/package.json +6 -6
  407. package/node_modules/@aws-sdk/types/package.json +2 -2
  408. package/node_modules/@aws-sdk/xml-builder/package.json +2 -2
  409. package/node_modules/@bufbuild/protobuf/README.md +12 -15
  410. package/node_modules/@bufbuild/protobuf/dist/commonjs/create.js +199 -162
  411. package/node_modules/@bufbuild/protobuf/dist/commonjs/from-binary.js +321 -153
  412. package/node_modules/@bufbuild/protobuf/dist/commonjs/from-json.js +601 -303
  413. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/message.d.ts +49 -0
  414. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/message.js +157 -0
  415. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect-check.d.ts +27 -1
  416. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect-check.js +80 -56
  417. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect.js +3 -80
  418. package/node_modules/@bufbuild/protobuf/dist/commonjs/registry.js +12 -3
  419. package/node_modules/@bufbuild/protobuf/dist/commonjs/to-binary.d.ts +4 -0
  420. package/node_modules/@bufbuild/protobuf/dist/commonjs/to-binary.js +365 -127
  421. package/node_modules/@bufbuild/protobuf/dist/commonjs/to-json.js +393 -159
  422. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/base64-encoding.d.ts +3 -1
  423. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/base64-encoding.js +40 -8
  424. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/binary-encoding.d.ts +37 -19
  425. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/binary-encoding.js +281 -85
  426. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/index.d.ts +1 -1
  427. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/index.js +4 -1
  428. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/text-encoding.d.ts +19 -2
  429. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/text-encoding.js +47 -13
  430. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/varint.d.ts +4 -4
  431. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/varint.js +35 -23
  432. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/json.d.ts +28 -0
  433. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/json.js +44 -0
  434. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/wrappers.js +12 -12
  435. package/node_modules/@bufbuild/protobuf/dist/esm/create.js +199 -162
  436. package/node_modules/@bufbuild/protobuf/dist/esm/from-binary.js +321 -153
  437. package/node_modules/@bufbuild/protobuf/dist/esm/from-json.js +602 -304
  438. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/message.d.ts +49 -0
  439. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/message.js +152 -0
  440. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect-check.d.ts +27 -1
  441. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect-check.js +79 -57
  442. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect.js +1 -78
  443. package/node_modules/@bufbuild/protobuf/dist/esm/registry.js +12 -3
  444. package/node_modules/@bufbuild/protobuf/dist/esm/to-binary.d.ts +4 -0
  445. package/node_modules/@bufbuild/protobuf/dist/esm/to-binary.js +365 -127
  446. package/node_modules/@bufbuild/protobuf/dist/esm/to-json.js +393 -159
  447. package/node_modules/@bufbuild/protobuf/dist/esm/wire/base64-encoding.d.ts +3 -1
  448. package/node_modules/@bufbuild/protobuf/dist/esm/wire/base64-encoding.js +40 -8
  449. package/node_modules/@bufbuild/protobuf/dist/esm/wire/binary-encoding.d.ts +37 -19
  450. package/node_modules/@bufbuild/protobuf/dist/esm/wire/binary-encoding.js +283 -87
  451. package/node_modules/@bufbuild/protobuf/dist/esm/wire/index.d.ts +1 -1
  452. package/node_modules/@bufbuild/protobuf/dist/esm/wire/index.js +1 -1
  453. package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-encoding.d.ts +19 -2
  454. package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-encoding.js +46 -13
  455. package/node_modules/@bufbuild/protobuf/dist/esm/wire/varint.d.ts +4 -4
  456. package/node_modules/@bufbuild/protobuf/dist/esm/wire/varint.js +35 -23
  457. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/json.d.ts +28 -0
  458. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/json.js +41 -0
  459. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/wrappers.js +12 -12
  460. package/node_modules/@bufbuild/protobuf/package.json +2 -2
  461. package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +24 -0
  462. package/node_modules/@code-yeongyu/senpi-codemode/package.json +4 -4
  463. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
  464. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +38 -3
  465. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
  466. package/node_modules/@earendil-works/pi-agent-core/dist/assistant-terminal-state.d.ts +8 -1
  467. package/node_modules/@earendil-works/pi-agent-core/dist/assistant-terminal-state.d.ts.map +1 -1
  468. package/node_modules/@earendil-works/pi-agent-core/dist/assistant-terminal-state.js +25 -1
  469. package/node_modules/@earendil-works/pi-agent-core/dist/assistant-terminal-state.js.map +1 -1
  470. package/node_modules/@earendil-works/pi-agent-core/package.json +6 -6
  471. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.d.ts +2 -0
  472. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.d.ts.map +1 -1
  473. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.js +284 -209
  474. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.js.map +1 -1
  475. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-conversation-rotation.d.ts +37 -0
  476. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-conversation-rotation.d.ts.map +1 -0
  477. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-conversation-rotation.js +110 -0
  478. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-conversation-rotation.js.map +1 -0
  479. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-task-args.d.ts +3 -0
  480. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-task-args.d.ts.map +1 -0
  481. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-task-args.js +17 -0
  482. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-task-args.js.map +1 -0
  483. package/node_modules/@earendil-works/pi-ai/dist/cursor/selection-descriptor.d.ts.map +1 -1
  484. package/node_modules/@earendil-works/pi-ai/dist/cursor/selection-descriptor.js +27 -11
  485. package/node_modules/@earendil-works/pi-ai/dist/cursor/selection-descriptor.js.map +1 -1
  486. package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
  487. package/node_modules/@earendil-works/pi-ai/dist/providers/data/amazon-bedrock.json +1 -1
  488. package/node_modules/@earendil-works/pi-ai/dist/providers/data/baseten.json +1 -1
  489. package/node_modules/@earendil-works/pi-ai/dist/providers/data/huggingface.json +1 -1
  490. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode-go.json +1 -1
  491. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode.json +1 -1
  492. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
  493. package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
  494. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/index.d.ts.map +1 -1
  495. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/index.js +2 -0
  496. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/index.js.map +1 -1
  497. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts +30 -0
  498. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts.map +1 -1
  499. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js +33 -0
  500. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js.map +1 -1
  501. package/node_modules/@earendil-works/pi-ai/package.json +8 -8
  502. package/node_modules/@earendil-works/pi-pty/package.json +2 -2
  503. package/node_modules/@earendil-works/pi-telemetry/package.json +2 -2
  504. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  505. package/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +1562 -339
  506. package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.browser.js +23 -23
  507. package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js +23 -23
  508. package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +17 -13
  509. package/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js +0 -10
  510. package/node_modules/@smithy/core/dist-es/submodules/cbor/CborCodec.js +4 -205
  511. package/node_modules/@smithy/core/dist-es/submodules/cbor/SmithyRpcV2CborProtocol.js +1 -2
  512. package/node_modules/@smithy/core/dist-es/submodules/cbor/cbor-encode.js +1 -1
  513. package/node_modules/@smithy/core/dist-es/submodules/cbor/codec-v1/CborShapeDeserializer.js +113 -0
  514. package/node_modules/@smithy/core/dist-es/submodules/cbor/codec-v1/CborShapeSerializer.js +103 -0
  515. package/node_modules/@smithy/core/dist-es/submodules/cbor/codec-v2/CborShapeDeserializer2.js +621 -0
  516. package/node_modules/@smithy/core/dist-es/submodules/cbor/codec-v2/CborShapeSerializer2.js +602 -0
  517. package/node_modules/@smithy/core/dist-es/submodules/cbor/index.js +5 -1
  518. package/node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js +4 -4
  519. package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/HeaderMarshaller.js +19 -19
  520. package/node_modules/@smithy/core/dist-es/submodules/protocols/RpcProtocol.js +3 -4
  521. package/node_modules/@smithy/core/dist-es/submodules/protocols/middleware-content-length/contentLengthMiddleware.js +6 -4
  522. package/node_modules/@smithy/core/dist-es/submodules/protocols/protocol-http/extensions/httpExtensionConfiguration.js +8 -5
  523. package/node_modules/@smithy/core/dist-es/submodules/schema/schemas/ListSchema.js +0 -2
  524. package/node_modules/@smithy/core/dist-es/submodules/schema/schemas/MapSchema.js +0 -2
  525. package/node_modules/@smithy/core/dist-es/submodules/schema/schemas/OperationSchema.js +0 -2
  526. package/node_modules/@smithy/core/dist-es/submodules/schema/schemas/SimpleSchema.js +0 -2
  527. package/node_modules/@smithy/core/dist-es/submodules/schema/schemas/StructureSchema.js +0 -2
  528. package/node_modules/@smithy/core/dist-types/submodules/cbor/CborCodec.d.ts +5 -27
  529. package/node_modules/@smithy/core/dist-types/submodules/cbor/SmithyRpcV2CborProtocol.d.ts +2 -2
  530. package/node_modules/@smithy/core/dist-types/submodules/cbor/codec-v1/CborShapeDeserializer.d.ts +13 -0
  531. package/node_modules/@smithy/core/dist-types/submodules/cbor/codec-v1/CborShapeSerializer.d.ts +15 -0
  532. package/node_modules/@smithy/core/dist-types/submodules/cbor/codec-v2/CborShapeDeserializer2.d.ts +18 -0
  533. package/node_modules/@smithy/core/dist-types/submodules/cbor/codec-v2/CborShapeSerializer2.d.ts +35 -0
  534. package/node_modules/@smithy/core/dist-types/submodules/cbor/index.d.ts +5 -1
  535. package/node_modules/@smithy/core/dist-types/submodules/client/smithy-client/extensions/defaultExtensionConfiguration.d.ts +1 -7
  536. package/node_modules/@smithy/core/dist-types/submodules/config/config-resolver/regionConfig/checkRegion.d.ts +2 -1
  537. package/node_modules/@smithy/core/dist-types/submodules/endpoints/util-endpoints/utils/evaluateCondition.d.ts +1 -1
  538. package/node_modules/@smithy/core/dist-types/submodules/endpoints/util-endpoints/utils/evaluateConditions.d.ts +1 -1
  539. package/node_modules/@smithy/core/dist-types/submodules/endpoints/util-endpoints/utils/evaluateExpression.d.ts +2 -2
  540. package/node_modules/@smithy/core/dist-types/submodules/endpoints/util-endpoints/utils/evaluateRules.d.ts +2 -2
  541. package/node_modules/@smithy/core/dist-types/submodules/endpoints/util-endpoints/utils/getEndpointProperties.d.ts +2 -2
  542. package/node_modules/@smithy/core/dist-types/submodules/endpoints/util-endpoints/utils/getReferenceValue.d.ts +2 -2
  543. package/node_modules/@smithy/core/dist-types/submodules/event-streams/EventStreamSerde.d.ts +14 -2
  544. package/node_modules/@smithy/core/dist-types/submodules/protocols/protocol-http/extensions/httpExtensionConfiguration.d.ts +7 -2
  545. package/node_modules/@smithy/core/dist-types/submodules/retry/util-retry/retries-2026-config.d.ts +2 -2
  546. package/node_modules/@smithy/core/dist-types/submodules/schema/TypeRegistry.d.ts +1 -1
  547. package/node_modules/@smithy/core/dist-types/submodules/serde/parse-utils.d.ts +5 -5
  548. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/CborCodec.d.ts +5 -27
  549. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/SmithyRpcV2CborProtocol.d.ts +2 -2
  550. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/codec-v1/CborShapeDeserializer.d.ts +13 -0
  551. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/codec-v1/CborShapeSerializer.d.ts +15 -0
  552. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/codec-v2/CborShapeDeserializer2.d.ts +18 -0
  553. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/codec-v2/CborShapeSerializer2.d.ts +35 -0
  554. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/index.d.ts +5 -1
  555. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/smithy-client/extensions/defaultExtensionConfiguration.d.ts +1 -7
  556. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/config/config-resolver/regionConfig/checkRegion.d.ts +2 -1
  557. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/utils/evaluateCondition.d.ts +1 -1
  558. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/utils/evaluateConditions.d.ts +1 -1
  559. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/utils/evaluateExpression.d.ts +2 -2
  560. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/utils/evaluateRules.d.ts +2 -2
  561. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/utils/getEndpointProperties.d.ts +2 -2
  562. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/util-endpoints/utils/getReferenceValue.d.ts +2 -2
  563. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/event-streams/EventStreamSerde.d.ts +14 -2
  564. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/protocol-http/extensions/httpExtensionConfiguration.d.ts +7 -2
  565. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/util-retry/retries-2026-config.d.ts +2 -2
  566. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/TypeRegistry.d.ts +1 -1
  567. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/parse-utils.d.ts +5 -5
  568. package/node_modules/@smithy/core/package.json +4 -11
  569. package/node_modules/@smithy/credential-provider-imds/package.json +4 -12
  570. package/node_modules/@smithy/fetch-http-handler/package.json +5 -13
  571. package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +9 -2
  572. package/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js +9 -2
  573. package/node_modules/@smithy/node-http-handler/dist-types/node-http2-handler.d.ts +1 -1
  574. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-handler.d.ts +1 -1
  575. package/node_modules/@smithy/node-http-handler/package.json +5 -13
  576. package/node_modules/@smithy/signature-v4/dist-cjs/index.js +9 -9
  577. package/node_modules/@smithy/signature-v4/dist-es/HeaderFormatter.js +9 -9
  578. package/node_modules/@smithy/signature-v4/package.json +4 -12
  579. package/node_modules/@smithy/types/dist-types/schema/sentinels.d.ts +14 -14
  580. package/node_modules/@smithy/types/package.json +29 -39
  581. package/node_modules/@types/node/README.md +1 -1
  582. package/node_modules/@types/node/child_process.d.ts +0 -1
  583. package/node_modules/@types/node/crypto.d.ts +7 -7
  584. package/node_modules/@types/node/dns/promises.d.ts +5 -5
  585. package/node_modules/@types/node/dns.d.ts +5 -5
  586. package/node_modules/@types/node/fs.d.ts +7 -0
  587. package/node_modules/@types/node/http.d.ts +30 -0
  588. package/node_modules/@types/node/http2.d.ts +4 -4
  589. package/node_modules/@types/node/os.d.ts +30 -30
  590. package/node_modules/@types/node/package.json +2 -2
  591. package/node_modules/@types/node/perf_hooks.d.ts +2 -1
  592. package/node_modules/@types/node/process.d.ts +42 -43
  593. package/node_modules/@types/node/quic.d.ts +1049 -84
  594. package/node_modules/@types/node/sqlite.d.ts +14 -1
  595. package/node_modules/@types/node/stream/iter.d.ts +3 -2
  596. package/node_modules/@types/node/test.d.ts +61 -0
  597. package/node_modules/@types/node/v8.d.ts +20 -23
  598. package/package.json +36 -36
  599. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/JsonCodec.d.ts +0 -19
  600. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/JsonShapeDeserializer.d.ts +0 -13
  601. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/JsonShapeSerializer.d.ts +0 -28
  602. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/experimental/BufferJsonShapeDeserializer.d.ts +0 -29
  603. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/experimental/ByteJsonShapeSerializer.d.ts +0 -57
  604. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/LICENSE +0 -201
  605. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/README.md +0 -9
  606. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-cjs/index.js +0 -840
  607. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/build-abort-error.js +0 -19
  608. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/constants.js +0 -1
  609. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/get-transformed-headers.js +0 -9
  610. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/http2/ClientHttp2SessionRef.js +0 -50
  611. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/index.js +0 -3
  612. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js +0 -241
  613. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-manager.js +0 -136
  614. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-pool.js +0 -46
  615. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js +0 -173
  616. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/node-http2.js +0 -2
  617. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/node-https.js +0 -2
  618. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/set-connection-timeout.js +0 -36
  619. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/set-request-timeout.js +0 -21
  620. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/set-socket-keep-alive.js +0 -22
  621. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/set-socket-timeout.js +0 -23
  622. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/timing.js +0 -4
  623. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/write-request-body.js +0 -63
  624. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/build-abort-error.d.ts +0 -10
  625. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/constants.d.ts +0 -5
  626. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/get-transformed-headers.d.ts +0 -4
  627. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/http2/ClientHttp2SessionRef.d.ts +0 -46
  628. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/index.d.ts +0 -3
  629. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/node-http-handler.d.ts +0 -47
  630. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-manager.d.ts +0 -46
  631. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-pool.d.ts +0 -36
  632. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/node-http2-handler.d.ts +0 -76
  633. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/node-http2.d.ts +0 -2
  634. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/node-https.d.ts +0 -2
  635. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/set-connection-timeout.d.ts +0 -2
  636. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/set-request-timeout.d.ts +0 -6
  637. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/set-socket-keep-alive.d.ts +0 -6
  638. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/set-socket-timeout.d.ts +0 -2
  639. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/timing.d.ts +0 -9
  640. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/build-abort-error.d.ts +0 -10
  641. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/constants.d.ts +0 -5
  642. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/get-transformed-headers.d.ts +0 -4
  643. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/http2/ClientHttp2SessionRef.d.ts +0 -46
  644. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/index.d.ts +0 -3
  645. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http-handler.d.ts +0 -47
  646. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-manager.d.ts +0 -46
  647. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-pool.d.ts +0 -36
  648. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-handler.d.ts +0 -76
  649. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2.d.ts +0 -2
  650. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-https.d.ts +0 -2
  651. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-connection-timeout.d.ts +0 -2
  652. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-request-timeout.d.ts +0 -6
  653. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-keep-alive.d.ts +0 -6
  654. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-timeout.d.ts +0 -2
  655. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/timing.d.ts +0 -9
  656. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/write-request-body.d.ts +0 -12
  657. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/write-request-body.d.ts +0 -12
  658. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/package.json +0 -64
  659. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/LICENSE +0 -201
  660. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/README.md +0 -9
  661. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-cjs/index.js +0 -840
  662. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/build-abort-error.js +0 -19
  663. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/constants.js +0 -1
  664. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/get-transformed-headers.js +0 -9
  665. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/http2/ClientHttp2SessionRef.js +0 -50
  666. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/index.js +0 -3
  667. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js +0 -241
  668. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-manager.js +0 -136
  669. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-pool.js +0 -46
  670. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js +0 -173
  671. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/node-http2.js +0 -2
  672. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/node-https.js +0 -2
  673. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/set-connection-timeout.js +0 -36
  674. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/set-request-timeout.js +0 -21
  675. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/set-socket-keep-alive.js +0 -22
  676. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/set-socket-timeout.js +0 -23
  677. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/timing.js +0 -4
  678. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/write-request-body.js +0 -63
  679. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/build-abort-error.d.ts +0 -10
  680. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/constants.d.ts +0 -5
  681. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/get-transformed-headers.d.ts +0 -4
  682. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/http2/ClientHttp2SessionRef.d.ts +0 -46
  683. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/index.d.ts +0 -3
  684. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/node-http-handler.d.ts +0 -47
  685. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-manager.d.ts +0 -46
  686. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-pool.d.ts +0 -36
  687. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/node-http2-handler.d.ts +0 -76
  688. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/node-http2.d.ts +0 -2
  689. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/node-https.d.ts +0 -2
  690. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/set-connection-timeout.d.ts +0 -2
  691. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/set-request-timeout.d.ts +0 -6
  692. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/set-socket-keep-alive.d.ts +0 -6
  693. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/set-socket-timeout.d.ts +0 -2
  694. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/timing.d.ts +0 -9
  695. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/build-abort-error.d.ts +0 -10
  696. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/constants.d.ts +0 -5
  697. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/get-transformed-headers.d.ts +0 -4
  698. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/http2/ClientHttp2SessionRef.d.ts +0 -46
  699. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/index.d.ts +0 -3
  700. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http-handler.d.ts +0 -47
  701. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-manager.d.ts +0 -46
  702. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-pool.d.ts +0 -36
  703. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-handler.d.ts +0 -76
  704. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2.d.ts +0 -2
  705. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-https.d.ts +0 -2
  706. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-connection-timeout.d.ts +0 -2
  707. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-request-timeout.d.ts +0 -6
  708. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-keep-alive.d.ts +0 -6
  709. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-timeout.d.ts +0 -2
  710. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/timing.d.ts +0 -9
  711. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/write-request-body.d.ts +0 -12
  712. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/write-request-body.d.ts +0 -12
  713. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/package.json +0 -64
@@ -2,7 +2,7 @@ const { SmithyRpcV2CborProtocol, loadSmithyRpcV2CborErrorCode } = require("@smit
2
2
  const { TypeRegistry, NormalizedSchema, deref } = require("@smithy/core/schema");
3
3
  const { decorateServiceException, getValueFromTextNode } = require("@smithy/core/client");
4
4
  const { collectBody, determineTimestampFormat, RpcProtocol, HttpBindingProtocol, HttpInterceptingShapeSerializer, HttpInterceptingShapeDeserializer, FromStringShapeDeserializer, extendedEncodeURIComponent } = require("@smithy/core/protocols");
5
- const { NumericValue, toUtf8, fromBase64, LazyJsonString, parseEpochTimestamp, parseRfc7231DateTime, parseRfc3339DateTimeWithOffset, toBase64, dateToUtcString, generateIdempotencyToken, expectUnion } = require("@smithy/core/serde");
5
+ const { NumericValue, toUtf8, fromBase64, LazyJsonString, parseEpochTimestamp, parseRfc7231DateTime, parseRfc3339DateTimeWithOffset, generateIdempotencyToken, toBase64, dateToUtcString, expectUnion } = require("@smithy/core/serde");
6
6
  const { parseXML, XmlNode, XmlText } = require("@aws-sdk/xml-builder");
7
7
 
8
8
  class ProtocolLib {
@@ -193,56 +193,6 @@ class AwsSmithyRpcV2CborProtocol extends SmithyRpcV2CborProtocol {
193
193
  }
194
194
  }
195
195
 
196
- const _toStr = (val) => {
197
- if (val == null) {
198
- return val;
199
- }
200
- if (typeof val === "number" || typeof val === "bigint") {
201
- const warning = new Error(`Received number ${val} where a string was expected.`);
202
- warning.name = "Warning";
203
- console.warn(warning);
204
- return String(val);
205
- }
206
- if (typeof val === "boolean") {
207
- const warning = new Error(`Received boolean ${val} where a string was expected.`);
208
- warning.name = "Warning";
209
- console.warn(warning);
210
- return String(val);
211
- }
212
- return val;
213
- };
214
- const _toBool = (val) => {
215
- if (val == null) {
216
- return val;
217
- }
218
- if (typeof val === "string") {
219
- const lowercase = val.toLowerCase();
220
- if (val !== "" && lowercase !== "false" && lowercase !== "true") {
221
- const warning = new Error(`Received string "${val}" where a boolean was expected.`);
222
- warning.name = "Warning";
223
- console.warn(warning);
224
- }
225
- return val !== "" && lowercase !== "false";
226
- }
227
- return val;
228
- };
229
- const _toNum = (val) => {
230
- if (val == null) {
231
- return val;
232
- }
233
- if (typeof val === "string") {
234
- const num = Number(val);
235
- if (num.toString() !== val) {
236
- const warning = new Error(`Received string "${val}" where a number was expected.`);
237
- warning.name = "Warning";
238
- console.warn(warning);
239
- return val;
240
- }
241
- return num;
242
- }
243
- return val;
244
- };
245
-
246
196
  class SerdeContextConfig {
247
197
  serdeContext;
248
198
  setSerdeContext(serdeContext) {
@@ -277,30 +227,50 @@ class UnionSerde {
277
227
  }
278
228
  }
279
229
 
230
+ let canParseBuffer;
231
+ function detectBufferParsing() {
232
+ if (canParseBuffer === undefined) {
233
+ try {
234
+ if (typeof Buffer !== "function") {
235
+ canParseBuffer = false;
236
+ }
237
+ else {
238
+ const result = JSON.parse(Buffer.from([0x7b, 0x7d]));
239
+ canParseBuffer = result !== null && typeof result === "object";
240
+ }
241
+ }
242
+ catch {
243
+ canParseBuffer = false;
244
+ }
245
+ }
246
+ return canParseBuffer;
247
+ }
248
+
280
249
  function jsonReviver(key, value, context) {
281
250
  if (context?.source) {
282
251
  const numericString = context.source;
283
252
  if (typeof value === "number") {
284
253
  const inSafeRange = value <= Number.MAX_SAFE_INTEGER && value >= Number.MIN_SAFE_INTEGER;
285
- if (!inSafeRange || numericString !== String(value)) {
286
- if (inSafeRange && /[eE]/.test(numericString) && String(Number(numericString)) === String(value)) {
254
+ if (inSafeRange) {
255
+ if (isRepresentable(numericString, value)) {
287
256
  return value;
288
257
  }
289
- if (isFractionalNumeric(numericString)) {
258
+ return new NumericValue(numericString, "bigDecimal");
259
+ }
260
+ else {
261
+ if (isFractionalBigNumeric(numericString)) {
290
262
  return new NumericValue(numericString, "bigDecimal");
291
263
  }
292
- else {
293
- if (/[eE]/.test(numericString)) {
294
- return BigInt(Number(numericString));
295
- }
296
- return BigInt(numericString);
264
+ if (/[eE]/.test(numericString)) {
265
+ return expandExponentToBigInt(numericString);
297
266
  }
267
+ return BigInt(numericString);
298
268
  }
299
269
  }
300
270
  }
301
271
  return value;
302
272
  }
303
- function isFractionalNumeric(s) {
273
+ function isFractionalBigNumeric(s) {
304
274
  const dotIndex = s.indexOf(".");
305
275
  if (dotIndex === -1) {
306
276
  return false;
@@ -313,6 +283,89 @@ function isFractionalNumeric(s) {
313
283
  const exp = parseInt(s.slice(eIndex + 1), 10);
314
284
  return exp < fracDigits;
315
285
  }
286
+ function isRepresentable(numericString, value) {
287
+ if (numericString === String(value)) {
288
+ return true;
289
+ }
290
+ if (Object.is(value, -0)) {
291
+ return true;
292
+ }
293
+ if (/[eE]/.test(numericString)) {
294
+ return expandToDecimal(numericString) === expandToDecimal(String(value));
295
+ }
296
+ const normalized = numericString.replace(/(\.\d*?)0+$/, "$1").replace(/\.$/, "");
297
+ const canonical = String(value);
298
+ if (normalized === canonical) {
299
+ return true;
300
+ }
301
+ if (/[eE]/.test(canonical)) {
302
+ return normalized === expandToDecimal(canonical);
303
+ }
304
+ return false;
305
+ }
306
+ function expandToDecimal(s) {
307
+ const negative = s.startsWith("-");
308
+ const abs = negative ? s.slice(1) : s;
309
+ const eIndex = abs.search(/[eE]/);
310
+ let result;
311
+ if (eIndex === -1) {
312
+ result = abs;
313
+ }
314
+ else {
315
+ const exp = parseInt(abs.slice(eIndex + 1), 10);
316
+ const mantissa = abs.slice(0, eIndex);
317
+ const dotIndex = mantissa.indexOf(".");
318
+ let digits;
319
+ let intLen;
320
+ if (dotIndex === -1) {
321
+ digits = mantissa;
322
+ intLen = mantissa.length;
323
+ }
324
+ else {
325
+ digits = mantissa.slice(0, dotIndex) + mantissa.slice(dotIndex + 1);
326
+ intLen = dotIndex;
327
+ }
328
+ digits = digits.replace(/0+$/, "") || "0";
329
+ const newDotPos = intLen + exp;
330
+ if (digits === "0") {
331
+ result = "0";
332
+ }
333
+ else if (newDotPos <= 0) {
334
+ result = "0." + "0".repeat(-newDotPos) + digits;
335
+ }
336
+ else if (newDotPos >= digits.length) {
337
+ result = digits + "0".repeat(newDotPos - digits.length);
338
+ }
339
+ else {
340
+ result = digits.slice(0, newDotPos) + "." + digits.slice(newDotPos);
341
+ }
342
+ }
343
+ if (result.includes(".")) {
344
+ result = result.replace(/(\.\d*?)0+$/, "$1").replace(/\.$/, "");
345
+ }
346
+ return (negative ? "-" : "") + result;
347
+ }
348
+ function expandExponentToBigInt(s) {
349
+ const eIndex = s.search(/[eE]/);
350
+ const exp = parseInt(s.slice(eIndex + 1), 10);
351
+ const negative = s.startsWith("-");
352
+ const mantissa = s.slice(negative ? 1 : 0, eIndex);
353
+ const dotIndex = mantissa.indexOf(".");
354
+ let digits;
355
+ let shift;
356
+ if (dotIndex === -1) {
357
+ digits = mantissa;
358
+ shift = exp;
359
+ }
360
+ else {
361
+ digits = mantissa.slice(0, dotIndex) + mantissa.slice(dotIndex + 1);
362
+ const fracDigits = mantissa.length - dotIndex - 1;
363
+ shift = exp - fracDigits;
364
+ }
365
+ digits = digits.replace(/0+$/, "") || "0";
366
+ const result = BigInt(digits) * 10n ** BigInt(shift + (mantissa.replace(".", "").length - digits.length));
367
+ return negative ? -result : result;
368
+ }
316
369
 
317
370
  const REVIVER_SYMBOL = Symbol.for("@aws-sdk/reviver");
318
371
  function needsReviver(schema) {
@@ -357,25 +410,6 @@ function _check(ns, seen) {
357
410
 
358
411
  const collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => (context?.utf8Encoder ?? toUtf8)(body));
359
412
 
360
- let canParseBuffer;
361
- function detectBufferParsing() {
362
- if (canParseBuffer === undefined) {
363
- try {
364
- if (typeof Buffer !== "function") {
365
- canParseBuffer = false;
366
- }
367
- else {
368
- const result = JSON.parse(Buffer.from([0x7b, 0x7d]));
369
- canParseBuffer = result !== null && typeof result === "object";
370
- }
371
- }
372
- catch {
373
- canParseBuffer = false;
374
- }
375
- }
376
- return canParseBuffer;
377
- }
378
-
379
413
  async function parseJsonBody(streamBody, context, schema) {
380
414
  let parsingInput;
381
415
  if (detectBufferParsing() && typeof streamBody?.[Symbol.asyncIterator] === "function") {
@@ -399,70 +433,1094 @@ async function parseJsonBody(streamBody, context, schema) {
399
433
  try {
400
434
  return JSON.parse(parsingInput, reviver);
401
435
  }
402
- catch (e) {
403
- if (e?.name === "SyntaxError") {
404
- Object.defineProperty(e, "$responseBodyText", {
405
- value: typeof parsingInput === "string" ? parsingInput : parsingInput.toString("utf8"),
406
- });
407
- }
408
- throw e;
436
+ catch (e) {
437
+ if (e?.name === "SyntaxError") {
438
+ Object.defineProperty(e, "$responseBodyText", {
439
+ value: typeof parsingInput === "string" ? parsingInput : parsingInput.toString("utf8"),
440
+ });
441
+ }
442
+ throw e;
443
+ }
444
+ }
445
+ const parseJsonErrorBody = async (errorBody, context) => {
446
+ const value = await parseJsonBody(errorBody, context);
447
+ value.message = value.message ?? value.Message;
448
+ return value;
449
+ };
450
+ const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());
451
+ const sanitizeErrorCode = (rawValue) => {
452
+ let cleanValue = rawValue;
453
+ if (typeof cleanValue === "number") {
454
+ cleanValue = cleanValue.toString();
455
+ }
456
+ if (cleanValue.indexOf(",") >= 0) {
457
+ cleanValue = cleanValue.split(",")[0];
458
+ }
459
+ if (cleanValue.indexOf(":") >= 0) {
460
+ cleanValue = cleanValue.split(":")[0];
461
+ }
462
+ if (cleanValue.indexOf("#") >= 0) {
463
+ cleanValue = cleanValue.split("#")[1];
464
+ }
465
+ return cleanValue;
466
+ };
467
+ const loadRestJsonErrorCode = (output, data) => {
468
+ return loadErrorCode(output, data, ["header", "code", "type"]);
469
+ };
470
+ const loadJsonRpcErrorCode = (output, data, queryCompat = false) => {
471
+ return loadErrorCode(output, data, queryCompat ? ["code", "header", "type"] : ["type", "code", "header"]);
472
+ };
473
+ const loadErrorCode = ({ headers }, data, order) => {
474
+ while (order.length > 0) {
475
+ const location = order.shift();
476
+ switch (location) {
477
+ case "header":
478
+ const headerKey = findKey(headers ?? {}, "x-amzn-errortype");
479
+ if (headerKey !== undefined) {
480
+ return sanitizeErrorCode(headers[headerKey]);
481
+ }
482
+ break;
483
+ case "code":
484
+ const codeKey = findKey(data ?? {}, "code");
485
+ if (codeKey && data[codeKey] !== undefined) {
486
+ return sanitizeErrorCode(data[codeKey]);
487
+ }
488
+ break;
489
+ case "type":
490
+ if (data?.__type !== undefined) {
491
+ return sanitizeErrorCode(data.__type);
492
+ }
493
+ break;
494
+ }
495
+ }
496
+ };
497
+
498
+ function writeKey(obj) {
499
+ Object.defineProperty(obj, "__proto__", { value: undefined, writable: true, enumerable: true, configurable: true });
500
+ }
501
+
502
+ class JsonShapeDeserializer2 extends SerdeContextConfig {
503
+ settings;
504
+ constructor(settings) {
505
+ super();
506
+ this.settings = settings;
507
+ }
508
+ async read(schema, data) {
509
+ const reviver = needsReviver(schema) ? jsonReviver : undefined;
510
+ let parsed;
511
+ if (typeof data === "string") {
512
+ if (data.length === 0) {
513
+ return {};
514
+ }
515
+ parsed = JSON.parse(data, reviver);
516
+ }
517
+ else if (data instanceof Uint8Array && detectBufferParsing()) {
518
+ if (data.byteLength === 0) {
519
+ return {};
520
+ }
521
+ const buf = Buffer.isBuffer(data) ? data : Buffer.from(data.buffer, data.byteOffset, data.byteLength);
522
+ parsed = JSON.parse(buf, reviver);
523
+ }
524
+ else {
525
+ parsed = await parseJsonBody(data, this.serdeContext, schema);
526
+ }
527
+ return this._read(schema, parsed);
528
+ }
529
+ readObject(schema, data) {
530
+ return this._read(schema, data);
531
+ }
532
+ _read(schema, value) {
533
+ const isObject = value !== null && typeof value === "object";
534
+ const ns = NormalizedSchema.of(schema);
535
+ if (isObject) {
536
+ if (ns.isStructSchema()) {
537
+ return this._readStruct(ns, value);
538
+ }
539
+ if (Array.isArray(value) && ns.isListSchema()) {
540
+ const listMember = ns.getValueSchema();
541
+ if (this.needsTransform(listMember)) {
542
+ for (let i = 0; i < value.length; ++i) {
543
+ value[i] = this._read(listMember, value[i]);
544
+ }
545
+ }
546
+ return value;
547
+ }
548
+ if (ns.isMapSchema()) {
549
+ const mapMember = ns.getValueSchema();
550
+ const map = value;
551
+ if (this.needsTransform(mapMember)) {
552
+ for (const k in map) {
553
+ if (k === "__proto__") {
554
+ writeKey(map);
555
+ }
556
+ map[k] = this._read(mapMember, map[k]);
557
+ }
558
+ }
559
+ return map;
560
+ }
561
+ }
562
+ if (ns.isBlobSchema() && typeof value === "string") {
563
+ return fromBase64(value);
564
+ }
565
+ const mediaType = ns.getMergedTraits().mediaType;
566
+ if (ns.isStringSchema() && typeof value === "string" && mediaType) {
567
+ const isJson = mediaType === "application/json" || mediaType.endsWith("+json");
568
+ if (isJson) {
569
+ return LazyJsonString.from(value);
570
+ }
571
+ return value;
572
+ }
573
+ if (ns.isTimestampSchema() && value != null) {
574
+ const format = determineTimestampFormat(ns, this.settings);
575
+ switch (format) {
576
+ case 5:
577
+ return parseRfc3339DateTimeWithOffset(value);
578
+ case 6:
579
+ return parseRfc7231DateTime(value);
580
+ case 7:
581
+ return parseEpochTimestamp(value);
582
+ default:
583
+ console.warn("Missing timestamp format, parsing value with Date constructor:", value);
584
+ return new Date(value);
585
+ }
586
+ }
587
+ if (ns.isBigIntegerSchema() && (typeof value === "number" || typeof value === "string")) {
588
+ return BigInt(value);
589
+ }
590
+ if (ns.isBigDecimalSchema() && value != undefined) {
591
+ if (value instanceof NumericValue) {
592
+ return value;
593
+ }
594
+ const untyped = value;
595
+ if (untyped.type === "bigDecimal" && "string" in untyped) {
596
+ return new NumericValue(untyped.string, untyped.type);
597
+ }
598
+ return new NumericValue(String(value), "bigDecimal");
599
+ }
600
+ if (ns.isNumericSchema() && typeof value === "string") {
601
+ switch (value) {
602
+ case "Infinity":
603
+ return Infinity;
604
+ case "-Infinity":
605
+ return -Infinity;
606
+ case "NaN":
607
+ return NaN;
608
+ }
609
+ return value;
610
+ }
611
+ if (ns.isDocumentSchema()) {
612
+ if (isObject) {
613
+ if (Array.isArray(value)) {
614
+ for (let i = 0; i < value.length; ++i) {
615
+ const v = value[i];
616
+ if (!(v instanceof NumericValue)) {
617
+ value[i] = this._read(ns, v);
618
+ }
619
+ }
620
+ }
621
+ else {
622
+ const doc = value;
623
+ for (const k in doc) {
624
+ if (k === "__proto__") {
625
+ writeKey(doc);
626
+ }
627
+ const v = doc[k];
628
+ if (!(v instanceof NumericValue)) {
629
+ doc[k] = this._read(ns, v);
630
+ }
631
+ }
632
+ }
633
+ }
634
+ }
635
+ return value;
636
+ }
637
+ _readStruct(ns, record) {
638
+ const union = ns.isUnionSchema();
639
+ const out = {};
640
+ let nameMap;
641
+ const hasType = typeof record.__type === "string";
642
+ const { jsonName } = this.settings;
643
+ if (jsonName && hasType) {
644
+ nameMap = {};
645
+ }
646
+ let unionSerde;
647
+ if (union) {
648
+ unionSerde = new UnionSerde(record, out);
649
+ }
650
+ for (const [memberName, memberSchema] of ns.structIterator()) {
651
+ let fromKey = memberName;
652
+ if (jsonName) {
653
+ fromKey = memberSchema.getMergedTraits().jsonName ?? fromKey;
654
+ if (hasType) {
655
+ nameMap[fromKey] = memberName;
656
+ }
657
+ }
658
+ if (union) {
659
+ unionSerde.mark(fromKey);
660
+ }
661
+ if (record[fromKey] != null) {
662
+ out[memberName] = this._read(memberSchema, record[fromKey]);
663
+ }
664
+ }
665
+ if (union) {
666
+ unionSerde.writeUnknown();
667
+ }
668
+ else if (hasType) {
669
+ for (const k in record) {
670
+ const v = record[k];
671
+ const t = jsonName ? (nameMap[k] ?? k) : k;
672
+ if (!(t in out)) {
673
+ out[t] = v;
674
+ }
675
+ }
676
+ }
677
+ return out;
678
+ }
679
+ needsTransform(ns) {
680
+ if (ns.isBlobSchema() || ns.isTimestampSchema() || ns.isBigIntegerSchema() || ns.isBigDecimalSchema()) {
681
+ return true;
682
+ }
683
+ if (ns.isDocumentSchema() || ns.isStructSchema() || ns.isListSchema() || ns.isMapSchema()) {
684
+ return true;
685
+ }
686
+ if (ns.isStringSchema() && ns.getMergedTraits().mediaType) {
687
+ return true;
688
+ }
689
+ return false;
690
+ }
691
+ }
692
+
693
+ class JsonBytesStringAdapter extends Uint8Array {
694
+ string = null;
695
+ static allocUnsafe(bytes) {
696
+ if (typeof Buffer === "function") {
697
+ const buffer = Buffer.allocUnsafe(bytes);
698
+ return new JsonBytesStringAdapter(buffer.buffer, buffer.byteOffset, buffer.byteLength);
699
+ }
700
+ return new JsonBytesStringAdapter(bytes);
701
+ }
702
+ toString() {
703
+ return this.s();
704
+ }
705
+ valueOf() {
706
+ return this.s();
707
+ }
708
+ includes(searchString, position) {
709
+ if (typeof searchString === "string") {
710
+ return this.s().includes(searchString, position);
711
+ }
712
+ return Uint8Array.prototype.includes.call(this, searchString, position);
713
+ }
714
+ indexOf(searchString, position) {
715
+ if (typeof searchString === "string") {
716
+ return this.s().indexOf(searchString, position);
717
+ }
718
+ return Uint8Array.prototype.indexOf.call(this, searchString, position);
719
+ }
720
+ lastIndexOf(searchString, position) {
721
+ if (typeof searchString === "string") {
722
+ return this.s().lastIndexOf(searchString, position);
723
+ }
724
+ const fn = Uint8Array.prototype.lastIndexOf;
725
+ if (position !== undefined) {
726
+ return fn.call(this, searchString, position);
727
+ }
728
+ return fn.call(this, searchString);
729
+ }
730
+ startsWith(searchString, position) {
731
+ return this.s().startsWith(searchString, position);
732
+ }
733
+ endsWith(searchString, endPosition) {
734
+ return this.s().endsWith(searchString, endPosition);
735
+ }
736
+ match(regexp) {
737
+ return this.s().match(regexp);
738
+ }
739
+ replace(searchValue, replaceValue) {
740
+ return this.s().replace(searchValue, replaceValue);
741
+ }
742
+ search(regexp) {
743
+ return this.s().search(regexp);
744
+ }
745
+ split(separator, limit) {
746
+ return this.s().split(separator, limit);
747
+ }
748
+ substring(start, end) {
749
+ return this.s().substring(start, end);
750
+ }
751
+ trim() {
752
+ return this.s().trim();
753
+ }
754
+ trimStart() {
755
+ return this.s().trimStart();
756
+ }
757
+ trimEnd() {
758
+ return this.s().trimEnd();
759
+ }
760
+ charAt(pos) {
761
+ return this.s().charAt(pos);
762
+ }
763
+ charCodeAt(index) {
764
+ return this.s().charCodeAt(index);
765
+ }
766
+ padStart(maxLength, fillString) {
767
+ return this.s().padStart(maxLength, fillString);
768
+ }
769
+ padEnd(maxLength, fillString) {
770
+ return this.s().padEnd(maxLength, fillString);
771
+ }
772
+ repeat(count) {
773
+ return this.s().repeat(count);
774
+ }
775
+ toUpperCase() {
776
+ return this.s().toUpperCase();
777
+ }
778
+ toLowerCase() {
779
+ return this.s().toLowerCase();
780
+ }
781
+ s() {
782
+ if (this.string == null) {
783
+ const n = Date.now();
784
+ if (n > warned + 60_000) {
785
+ console.warn("@aws-sdk/core/protocols - WARN - JsonCodec2: you have called a string method on a Uint8Array request body. " +
786
+ "It has been automatically converted to string. In a future version this will throw an error.");
787
+ warned = n;
788
+ }
789
+ this.string = toUtf8(this);
790
+ }
791
+ return this.string;
792
+ }
793
+ }
794
+ var warned = 0;
795
+
796
+ const encoder = new TextEncoder();
797
+ const OPEN_BRACE = 0x7b;
798
+ const CLOSE_BRACE = 0x7d;
799
+ const OPEN_BRACKET = 0x5b;
800
+ const CLOSE_BRACKET = 0x5d;
801
+ const QUOTE = 0x22;
802
+ const COLON = 0x3a;
803
+ const COMMA = 0x2c;
804
+ const BACKSLASH = 0x5c;
805
+ const TRUE = new Uint8Array([0x74, 0x72, 0x75, 0x65]);
806
+ const FALSE = new Uint8Array([0x66, 0x61, 0x6c, 0x73, 0x65]);
807
+ const NULL = new Uint8Array([0x6e, 0x75, 0x6c, 0x6c]);
808
+ const ESCAPE_TABLE = new Array(128).fill(null);
809
+ ESCAPE_TABLE[0x08] = "b";
810
+ ESCAPE_TABLE[0x09] = "t";
811
+ ESCAPE_TABLE[0x0a] = "n";
812
+ ESCAPE_TABLE[0x0c] = "f";
813
+ ESCAPE_TABLE[0x0d] = "r";
814
+ ESCAPE_TABLE[0x22] = '"';
815
+ ESCAPE_TABLE[0x5c] = "\\";
816
+ for (let i = 0; i < 0x20; i++) {
817
+ if (ESCAPE_TABLE[i] === null) {
818
+ ESCAPE_TABLE[i] = "u00" + i.toString(16).padStart(2, "0");
819
+ }
820
+ }
821
+ const INITIAL_BUFFER_SIZE = 2048;
822
+ function alloc(size) {
823
+ return JsonBytesStringAdapter.allocUnsafe(size);
824
+ }
825
+ class JsonShapeSerializer2 extends SerdeContextConfig {
826
+ settings;
827
+ json;
828
+ i = 0;
829
+ rootSchema;
830
+ rawValue;
831
+ passthrough = false;
832
+ constructor(settings) {
833
+ super();
834
+ this.settings = settings;
835
+ this.json = alloc(INITIAL_BUFFER_SIZE);
836
+ }
837
+ write(schema, value) {
838
+ this.i = 0;
839
+ this.rawValue = value;
840
+ this.rootSchema = NormalizedSchema.of(schema);
841
+ this.passthrough = this.rootSchema.isBlobSchema() || this.rootSchema.isStringSchema();
842
+ if (!this.passthrough) {
843
+ this.writeValue(this.rootSchema, value, undefined);
844
+ }
845
+ }
846
+ writeDiscriminatedDocument(schema, value) {
847
+ this.i = 0;
848
+ this.rootSchema = NormalizedSchema.of(schema);
849
+ const ns = this.rootSchema;
850
+ if (ns.isStructSchema() && value != null && typeof value === "object") {
851
+ this.writeValue(ns, value, undefined);
852
+ const prefix = `"__type":"${ns.getName(true) ?? "Unknown"}",`;
853
+ const z = prefix.length;
854
+ this.ensure(z);
855
+ this.json.copyWithin(1 + z, 1, this.i);
856
+ encoder.encodeInto(prefix, this.json.subarray(1));
857
+ this.i += z;
858
+ }
859
+ else {
860
+ this.writeValue(ns, value, undefined);
861
+ }
862
+ }
863
+ flush() {
864
+ this.rootSchema = undefined;
865
+ const finalPosition = this.i;
866
+ this.i = 0;
867
+ const raw = this.rawValue;
868
+ this.rawValue = undefined;
869
+ if (finalPosition === 0) {
870
+ return raw;
871
+ }
872
+ const result = this.json.subarray(0, finalPosition);
873
+ this.json = alloc(INITIAL_BUFFER_SIZE);
874
+ return result;
875
+ }
876
+ ensure(byteCount) {
877
+ const { i, json } = this;
878
+ if (i + byteCount > json.length) {
879
+ let newSize = json.length * 2;
880
+ while (newSize < i + byteCount) {
881
+ newSize *= 2;
882
+ }
883
+ const next = alloc(newSize);
884
+ next.set(this.json);
885
+ this.json = next;
886
+ }
887
+ }
888
+ writeAscii(s) {
889
+ const z = s.length;
890
+ this.ensure(z);
891
+ let { i, json } = this;
892
+ for (let j = 0; j < z; ++j) {
893
+ json[i] = s.charCodeAt(j);
894
+ i += 1;
895
+ }
896
+ this.i = i;
897
+ }
898
+ writeAsciiQuoted(s) {
899
+ const z = s.length;
900
+ this.ensure(z + 4);
901
+ let { json, i } = this;
902
+ json[i++] = QUOTE;
903
+ for (let j = 0; j < z; ++j) {
904
+ json[i++] = s.charCodeAt(j);
905
+ }
906
+ json[i++] = QUOTE;
907
+ this.i = i;
908
+ }
909
+ writeJsonString(s) {
910
+ this.ensure(s.length * 3 + 2);
911
+ this.json[this.i++] = QUOTE;
912
+ const z = s.length;
913
+ for (let j = 0; j < z; ++j) {
914
+ const c = s.charCodeAt(j);
915
+ if (c > 0x22 && c < 0x5c) {
916
+ this.json[this.i++] = c;
917
+ }
918
+ else if (c < 0x80) {
919
+ const esc = ESCAPE_TABLE[c];
920
+ if (esc !== null) {
921
+ this.ensure(esc.length + 1);
922
+ this.json[this.i++] = BACKSLASH;
923
+ for (let k = 0; k < esc.length; k++) {
924
+ this.json[this.i++] = esc.charCodeAt(k);
925
+ }
926
+ }
927
+ else {
928
+ this.json[this.i++] = c;
929
+ }
930
+ }
931
+ else if (c >= 0xd800 && c <= 0xdbff) {
932
+ const next = j + 1 < z ? s.charCodeAt(j + 1) : 0;
933
+ if (next >= 0xdc00 && next <= 0xdfff) {
934
+ this.ensure(4);
935
+ const { written } = encoder.encodeInto(s.substring(j, j + 2), this.json.subarray(this.i));
936
+ this.i += written;
937
+ ++j;
938
+ }
939
+ else {
940
+ this.ensure(6);
941
+ this.writeUnicodeEscape(c);
942
+ }
943
+ }
944
+ else if (c >= 0xdc00 && c <= 0xdfff) {
945
+ this.ensure(6);
946
+ this.writeUnicodeEscape(c);
947
+ }
948
+ else {
949
+ let { i, json } = this;
950
+ if (c < 0x800) {
951
+ json[i++] = 0xc0 | (c >> 6);
952
+ json[i++] = 0x80 | (c & 0x3f);
953
+ }
954
+ else {
955
+ json[i++] = 0xe0 | (c >> 12);
956
+ json[i++] = 0x80 | ((c >> 6) & 0x3f);
957
+ json[i++] = 0x80 | (c & 0x3f);
958
+ }
959
+ this.i = i;
960
+ }
961
+ }
962
+ this.json[this.i++] = QUOTE;
963
+ }
964
+ writeUnicodeEscape(code) {
965
+ let { json, i } = this;
966
+ json[i++] = BACKSLASH;
967
+ json[i++] = 0x75;
968
+ const hex = code.toString(16).padStart(4, "0");
969
+ for (let j = 0; j < 4; ++j) {
970
+ json[i++] = hex.charCodeAt(j);
971
+ }
972
+ this.i = i;
973
+ }
974
+ static B64 = (() => {
975
+ const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
976
+ const table = new Uint8Array(64);
977
+ for (let i = 0; i < 64; ++i) {
978
+ table[i] = chars.charCodeAt(i);
979
+ }
980
+ return table;
981
+ })();
982
+ writeBase64(data) {
983
+ const b64Len = Math.ceil(data.length / 3) * 4;
984
+ this.ensure(b64Len + 2);
985
+ const json = this.json;
986
+ const B64 = JsonShapeSerializer2.B64;
987
+ let i = this.i;
988
+ json[i++] = QUOTE;
989
+ const len = data.length;
990
+ const remainder = len % 3;
991
+ const mainLen = len - remainder;
992
+ for (let j = 0; j < mainLen; j += 3) {
993
+ const a = data[j];
994
+ const b = data[j + 1];
995
+ const c = data[j + 2];
996
+ json[i++] = B64[a >> 2];
997
+ json[i++] = B64[((a & 0x03) << 4) | (b >> 4)];
998
+ json[i++] = B64[((b & 0x0f) << 2) | (c >> 6)];
999
+ json[i++] = B64[c & 0x3f];
1000
+ }
1001
+ if (remainder === 2) {
1002
+ const a = data[mainLen];
1003
+ const b = data[mainLen + 1];
1004
+ json[i++] = B64[a >> 2];
1005
+ json[i++] = B64[((a & 0x03) << 4) | (b >> 4)];
1006
+ json[i++] = B64[(b & 0x0f) << 2];
1007
+ json[i++] = 0x3d;
1008
+ }
1009
+ else if (remainder === 1) {
1010
+ const a = data[mainLen];
1011
+ json[i++] = B64[a >> 2];
1012
+ json[i++] = B64[(a & 0x03) << 4];
1013
+ json[i++] = 0x3d;
1014
+ json[i++] = 0x3d;
1015
+ }
1016
+ json[i++] = QUOTE;
1017
+ this.i = i;
1018
+ }
1019
+ writeValue(schema, value, container) {
1020
+ if (value == null) {
1021
+ if (container?.isStructSchema()) {
1022
+ if (value === undefined) {
1023
+ const ns = NormalizedSchema.of(schema);
1024
+ if (ns.isIdempotencyToken()) {
1025
+ this.writeAsciiQuoted(generateIdempotencyToken());
1026
+ return;
1027
+ }
1028
+ }
1029
+ return;
1030
+ }
1031
+ this.ensure(4);
1032
+ this.json.set(NULL, this.i);
1033
+ this.i += 4;
1034
+ return;
1035
+ }
1036
+ const ns = NormalizedSchema.of(schema);
1037
+ const isObject = typeof value === "object";
1038
+ if (ns.isStringSchema()) {
1039
+ const mediaType = ns.getMergedTraits().mediaType;
1040
+ if (mediaType) {
1041
+ const isJson = mediaType === "application/json" || mediaType.endsWith("+json");
1042
+ if (isJson) {
1043
+ this.writeJsonString(LazyJsonString.from(value).toString());
1044
+ return;
1045
+ }
1046
+ }
1047
+ }
1048
+ if (isObject) {
1049
+ if (ns.isStructSchema()) {
1050
+ this.writeStruct(ns, value);
1051
+ return;
1052
+ }
1053
+ if (Array.isArray(value) && (ns.isListSchema() || ns.isDocumentSchema())) {
1054
+ this.writeList(ns, value, ns.isDocumentSchema());
1055
+ return;
1056
+ }
1057
+ if (ns.isMapSchema()) {
1058
+ this.writeMap(ns, value, false);
1059
+ return;
1060
+ }
1061
+ if (value instanceof Uint8Array && (ns.isBlobSchema() || ns.isDocumentSchema())) {
1062
+ this.writeBase64(value);
1063
+ return;
1064
+ }
1065
+ if (value instanceof Date && (ns.isTimestampSchema() || ns.isDocumentSchema())) {
1066
+ this.writeTimestamp(ns, value);
1067
+ return;
1068
+ }
1069
+ if (value instanceof NumericValue) {
1070
+ this.writeAscii(value.string);
1071
+ return;
1072
+ }
1073
+ if (ns.isDocumentSchema()) {
1074
+ if (Array.isArray(value)) {
1075
+ this.writeList(ns, value, true);
1076
+ }
1077
+ else {
1078
+ this.writeMap(ns, value, true);
1079
+ }
1080
+ return;
1081
+ }
1082
+ const json = JSON.stringify(value);
1083
+ this.writeAscii(json);
1084
+ return;
1085
+ }
1086
+ if (typeof value === "string") {
1087
+ if (ns.isBlobSchema()) {
1088
+ const b64 = (this.serdeContext?.base64Encoder ?? toBase64)(value);
1089
+ this.writeAsciiQuoted(b64);
1090
+ return;
1091
+ }
1092
+ this.writeJsonString(value);
1093
+ return;
1094
+ }
1095
+ if (typeof value === "number") {
1096
+ if (Math.abs(value) === Infinity || Number.isNaN(value)) {
1097
+ this.writeAsciiQuoted(String(value));
1098
+ return;
1099
+ }
1100
+ const numStr = String(value);
1101
+ this.writeAscii(numStr);
1102
+ return;
1103
+ }
1104
+ if (typeof value === "boolean") {
1105
+ this.ensure(5);
1106
+ let { i, json } = this;
1107
+ if (value) {
1108
+ json.set(TRUE, i);
1109
+ i += 4;
1110
+ }
1111
+ else {
1112
+ json.set(FALSE, i);
1113
+ i += 5;
1114
+ }
1115
+ this.i = i;
1116
+ return;
1117
+ }
1118
+ if (typeof value === "bigint") {
1119
+ this.writeAscii(value.toString());
1120
+ return;
1121
+ }
1122
+ this.writeAscii(String(value));
1123
+ }
1124
+ writeStruct(ns, value) {
1125
+ this.ensure(2);
1126
+ this.json[this.i++] = OPEN_BRACE;
1127
+ let wroteAny = false;
1128
+ const hasType = typeof value.__type === "string";
1129
+ let writtenKeys;
1130
+ if (hasType) {
1131
+ writtenKeys = new Set();
1132
+ }
1133
+ for (const [memberName, memberSchema] of ns.structIterator()) {
1134
+ const item = value[memberName];
1135
+ if (item == null && !memberSchema.isIdempotencyToken()) {
1136
+ continue;
1137
+ }
1138
+ if (wroteAny) {
1139
+ this.ensure(1);
1140
+ this.json[this.i++] = COMMA;
1141
+ }
1142
+ wroteAny = true;
1143
+ const targetKey = this.settings.jsonName ? (memberSchema.getMergedTraits().jsonName ?? memberName) : memberName;
1144
+ if (writtenKeys) {
1145
+ writtenKeys.add(memberName);
1146
+ writtenKeys.add(targetKey);
1147
+ }
1148
+ this.writeAsciiQuoted(targetKey);
1149
+ this.json[this.i++] = COLON;
1150
+ this.writeValue(memberSchema, item, ns);
1151
+ }
1152
+ if (!wroteAny && ns.isUnionSchema()) {
1153
+ const { $unknown } = value;
1154
+ if (Array.isArray($unknown)) {
1155
+ const [k, v] = $unknown;
1156
+ this.writeAsciiQuoted(k);
1157
+ this.ensure(1);
1158
+ this.json[this.i++] = COLON;
1159
+ this.writeValue(15, v, ns);
1160
+ }
1161
+ }
1162
+ else if (hasType) {
1163
+ for (const k in value) {
1164
+ if (writtenKeys.has(k)) {
1165
+ continue;
1166
+ }
1167
+ writtenKeys.add(k);
1168
+ const v = value[k];
1169
+ if (wroteAny) {
1170
+ this.ensure(1);
1171
+ this.json[this.i++] = COMMA;
1172
+ }
1173
+ wroteAny = true;
1174
+ this.writeAsciiQuoted(k);
1175
+ this.ensure(1);
1176
+ this.json[this.i++] = COLON;
1177
+ this.writeValue(15, v, undefined);
1178
+ }
1179
+ }
1180
+ this.ensure(1);
1181
+ this.json[this.i++] = CLOSE_BRACE;
1182
+ }
1183
+ writeList(ns, value, isDocument) {
1184
+ const sparse = !!ns.getMergedTraits().sparse;
1185
+ const valueSchema = ns.getValueSchema();
1186
+ if (!isDocument) {
1187
+ if (valueSchema.isStringSchema() || valueSchema.isNumericSchema() || valueSchema.isBooleanSchema()) {
1188
+ let hasSpecials = false;
1189
+ for (let i = 0; i < value.length; ++i) {
1190
+ const v = value[i];
1191
+ if (Number.isNaN(v) || v === Infinity || v === -Infinity || (v == null && !sparse)) {
1192
+ hasSpecials = true;
1193
+ break;
1194
+ }
1195
+ }
1196
+ let json;
1197
+ if (!hasSpecials) {
1198
+ json = JSON.stringify(value);
1199
+ }
1200
+ else {
1201
+ const out = [];
1202
+ for (let i = 0; i < value.length; ++i) {
1203
+ const v = value[i];
1204
+ if (v == null && !sparse)
1205
+ continue;
1206
+ if (Number.isNaN(v) || v === Infinity || v === -Infinity) {
1207
+ out.push(String(v));
1208
+ }
1209
+ else {
1210
+ out.push(v);
1211
+ }
1212
+ }
1213
+ json = JSON.stringify(out);
1214
+ }
1215
+ this.ensure(json.length * 3);
1216
+ this.i += encoder.encodeInto(json, this.json.subarray(this.i)).written;
1217
+ return;
1218
+ }
1219
+ }
1220
+ this.ensure(2);
1221
+ this.json[this.i++] = OPEN_BRACKET;
1222
+ let wroteFirstItem = false;
1223
+ for (let i = 0; i < value.length; ++i) {
1224
+ const item = value[i];
1225
+ if (isDocument ? item === undefined : item == null && !sparse) {
1226
+ continue;
1227
+ }
1228
+ if (wroteFirstItem) {
1229
+ this.ensure(1);
1230
+ this.json[this.i++] = COMMA;
1231
+ }
1232
+ this.writeValue(valueSchema, item, undefined);
1233
+ wroteFirstItem = true;
1234
+ }
1235
+ this.ensure(1);
1236
+ this.json[this.i++] = CLOSE_BRACKET;
1237
+ }
1238
+ writeMap(ns, value, isDocument) {
1239
+ const sparse = !!ns.getMergedTraits().sparse;
1240
+ const valueSchema = ns.getValueSchema();
1241
+ if (!isDocument) {
1242
+ if (valueSchema.isStringSchema() || valueSchema.isNumericSchema() || valueSchema.isBooleanSchema()) {
1243
+ let modifications;
1244
+ for (const k in value) {
1245
+ const v = value[k];
1246
+ if (Number.isNaN(v) || v === Infinity || v === -Infinity) {
1247
+ (modifications ??= {})[k] = v;
1248
+ value[k] = String(v);
1249
+ }
1250
+ else if (v === null && !sparse) {
1251
+ (modifications ??= {})[k] = null;
1252
+ value[k] = undefined;
1253
+ }
1254
+ }
1255
+ const json = JSON.stringify(value);
1256
+ if (modifications) {
1257
+ Object.assign(value, modifications);
1258
+ }
1259
+ this.ensure(json.length * 3);
1260
+ this.i += encoder.encodeInto(json, this.json.subarray(this.i)).written;
1261
+ return;
1262
+ }
1263
+ }
1264
+ this.ensure(2);
1265
+ this.json[this.i++] = OPEN_BRACE;
1266
+ let first = true;
1267
+ for (const k in value) {
1268
+ const v = value[k];
1269
+ if (isDocument ? v === undefined : v == null && !sparse) {
1270
+ continue;
1271
+ }
1272
+ if (!first) {
1273
+ this.ensure(1);
1274
+ this.json[this.i++] = COMMA;
1275
+ }
1276
+ first = false;
1277
+ this.writeJsonString(k);
1278
+ this.ensure(1);
1279
+ this.json[this.i++] = COLON;
1280
+ this.writeValue(valueSchema, v, undefined);
1281
+ }
1282
+ this.ensure(1);
1283
+ this.json[this.i++] = CLOSE_BRACE;
1284
+ }
1285
+ writeTimestamp(ns, value) {
1286
+ const format = determineTimestampFormat(ns, this.settings);
1287
+ switch (format) {
1288
+ case 5: {
1289
+ const iso = value.toISOString().replace(".000Z", "Z");
1290
+ this.writeAsciiQuoted(iso);
1291
+ return;
1292
+ }
1293
+ case 6: {
1294
+ this.writeAsciiQuoted(dateToUtcString(value));
1295
+ return;
1296
+ }
1297
+ case 7: {
1298
+ const epochSecs = String(value.getTime() / 1000);
1299
+ this.writeAscii(epochSecs);
1300
+ return;
1301
+ }
1302
+ default: {
1303
+ const epochSecs = String(value.getTime() / 1000);
1304
+ this.writeAscii(epochSecs);
1305
+ return;
1306
+ }
1307
+ }
1308
+ }
1309
+ }
1310
+
1311
+ class JsonCodec2 extends SerdeContextConfig {
1312
+ settings;
1313
+ constructor(settings) {
1314
+ super();
1315
+ this.settings = settings;
1316
+ }
1317
+ createSerializer() {
1318
+ const serializer = new JsonShapeSerializer2(this.settings);
1319
+ serializer.setSerdeContext(this.serdeContext);
1320
+ return serializer;
1321
+ }
1322
+ createDeserializer() {
1323
+ const deserializer = new JsonShapeDeserializer2(this.settings);
1324
+ deserializer.setSerdeContext(this.serdeContext);
1325
+ return deserializer;
1326
+ }
1327
+ }
1328
+
1329
+ class AwsJsonRpcProtocol extends RpcProtocol {
1330
+ serializer;
1331
+ deserializer;
1332
+ serviceTarget;
1333
+ codec;
1334
+ mixin;
1335
+ awsQueryCompatible;
1336
+ constructor({ defaultNamespace, errorTypeRegistries, serviceTarget, awsQueryCompatible, jsonCodec, }) {
1337
+ super({
1338
+ defaultNamespace,
1339
+ errorTypeRegistries,
1340
+ });
1341
+ this.serviceTarget = serviceTarget;
1342
+ this.codec =
1343
+ jsonCodec ??
1344
+ new JsonCodec2({
1345
+ timestampFormat: {
1346
+ useTrait: true,
1347
+ default: 7,
1348
+ },
1349
+ jsonName: false,
1350
+ });
1351
+ this.serializer = this.codec.createSerializer();
1352
+ this.deserializer = this.codec.createDeserializer();
1353
+ this.awsQueryCompatible = !!awsQueryCompatible;
1354
+ this.mixin = new ProtocolLib(this.awsQueryCompatible);
1355
+ }
1356
+ async serializeRequest(operationSchema, input, context) {
1357
+ const request = await super.serializeRequest(operationSchema, input, context);
1358
+ if (!request.path.endsWith("/")) {
1359
+ request.path += "/";
1360
+ }
1361
+ request.headers["content-type"] = `application/x-amz-json-${this.getJsonRpcVersion()}`;
1362
+ request.headers["x-amz-target"] = `${this.serviceTarget}.${operationSchema.name}`;
1363
+ if (this.awsQueryCompatible) {
1364
+ request.headers["x-amzn-query-mode"] = "true";
1365
+ }
1366
+ if (deref(operationSchema.input) === "unit" || !request.body) {
1367
+ request.body = "{}";
1368
+ }
1369
+ return request;
1370
+ }
1371
+ getPayloadCodec() {
1372
+ return this.codec;
1373
+ }
1374
+ async handleError(operationSchema, context, response, dataObject, metadata) {
1375
+ const { awsQueryCompatible } = this;
1376
+ if (awsQueryCompatible) {
1377
+ this.mixin.setQueryCompatError(dataObject, response);
1378
+ }
1379
+ const errorIdentifier = loadJsonRpcErrorCode(response, dataObject, awsQueryCompatible) ?? "Unknown";
1380
+ this.mixin.compose(this.compositeErrorRegistry, errorIdentifier, this.options.defaultNamespace);
1381
+ const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata, awsQueryCompatible ? this.mixin.findQueryCompatibleError : undefined);
1382
+ const ns = NormalizedSchema.of(errorSchema);
1383
+ const message = dataObject.message ?? dataObject.Message ?? "UnknownError";
1384
+ const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error;
1385
+ const exception = new ErrorCtor({});
1386
+ const output = {};
1387
+ const errorDeserializer = this.codec.createDeserializer();
1388
+ for (const [name, member] of ns.structIterator()) {
1389
+ if (dataObject[name] != null) {
1390
+ output[name] = errorDeserializer.readObject(member, dataObject[name]);
1391
+ }
1392
+ }
1393
+ if (awsQueryCompatible) {
1394
+ this.mixin.queryCompatOutput(dataObject, output);
1395
+ }
1396
+ throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {
1397
+ $fault: ns.getMergedTraits().error,
1398
+ message,
1399
+ }, output), dataObject);
1400
+ }
1401
+ }
1402
+
1403
+ class AwsJson1_0Protocol extends AwsJsonRpcProtocol {
1404
+ constructor({ defaultNamespace, errorTypeRegistries, serviceTarget, awsQueryCompatible, jsonCodec, }) {
1405
+ super({
1406
+ defaultNamespace,
1407
+ errorTypeRegistries,
1408
+ serviceTarget,
1409
+ awsQueryCompatible,
1410
+ jsonCodec,
1411
+ });
1412
+ }
1413
+ getShapeId() {
1414
+ return "aws.protocols#awsJson1_0";
1415
+ }
1416
+ getJsonRpcVersion() {
1417
+ return "1.0";
1418
+ }
1419
+ getDefaultContentType() {
1420
+ return "application/x-amz-json-1.0";
1421
+ }
1422
+ }
1423
+
1424
+ class AwsJson1_1Protocol extends AwsJsonRpcProtocol {
1425
+ constructor({ defaultNamespace, errorTypeRegistries, serviceTarget, awsQueryCompatible, jsonCodec, }) {
1426
+ super({
1427
+ defaultNamespace,
1428
+ errorTypeRegistries,
1429
+ serviceTarget,
1430
+ awsQueryCompatible,
1431
+ jsonCodec,
1432
+ });
1433
+ }
1434
+ getShapeId() {
1435
+ return "aws.protocols#awsJson1_1";
1436
+ }
1437
+ getJsonRpcVersion() {
1438
+ return "1.1";
1439
+ }
1440
+ getDefaultContentType() {
1441
+ return "application/x-amz-json-1.1";
1442
+ }
1443
+ }
1444
+
1445
+ class AwsRestJsonProtocol extends HttpBindingProtocol {
1446
+ serializer;
1447
+ deserializer;
1448
+ codec;
1449
+ mixin = new ProtocolLib();
1450
+ constructor({ defaultNamespace, errorTypeRegistries, jsonCodec, }) {
1451
+ super({
1452
+ defaultNamespace,
1453
+ errorTypeRegistries,
1454
+ });
1455
+ const settings = {
1456
+ timestampFormat: {
1457
+ useTrait: true,
1458
+ default: 7,
1459
+ },
1460
+ httpBindings: true,
1461
+ jsonName: true,
1462
+ };
1463
+ this.codec = jsonCodec ?? new JsonCodec2(settings);
1464
+ this.serializer = new HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings);
1465
+ this.deserializer = new HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings);
1466
+ }
1467
+ getShapeId() {
1468
+ return "aws.protocols#restJson1";
409
1469
  }
410
- }
411
- const parseJsonErrorBody = async (errorBody, context) => {
412
- const value = await parseJsonBody(errorBody, context);
413
- value.message = value.message ?? value.Message;
414
- return value;
415
- };
416
- const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());
417
- const sanitizeErrorCode = (rawValue) => {
418
- let cleanValue = rawValue;
419
- if (typeof cleanValue === "number") {
420
- cleanValue = cleanValue.toString();
1470
+ getPayloadCodec() {
1471
+ return this.codec;
421
1472
  }
422
- if (cleanValue.indexOf(",") >= 0) {
423
- cleanValue = cleanValue.split(",")[0];
1473
+ setSerdeContext(serdeContext) {
1474
+ this.codec.setSerdeContext(serdeContext);
1475
+ super.setSerdeContext(serdeContext);
424
1476
  }
425
- if (cleanValue.indexOf(":") >= 0) {
426
- cleanValue = cleanValue.split(":")[0];
1477
+ async serializeRequest(operationSchema, input, context) {
1478
+ const request = await super.serializeRequest(operationSchema, input, context);
1479
+ const inputSchema = NormalizedSchema.of(operationSchema.input);
1480
+ if (!request.headers["content-type"]) {
1481
+ const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema);
1482
+ if (contentType) {
1483
+ request.headers["content-type"] = contentType;
1484
+ }
1485
+ }
1486
+ if (request.body == null && request.headers["content-type"] === this.getDefaultContentType()) {
1487
+ request.body = "{}";
1488
+ }
1489
+ return request;
427
1490
  }
428
- if (cleanValue.indexOf("#") >= 0) {
429
- cleanValue = cleanValue.split("#")[1];
1491
+ async deserializeResponse(operationSchema, context, response) {
1492
+ const output = await super.deserializeResponse(operationSchema, context, response);
1493
+ const outputSchema = NormalizedSchema.of(operationSchema.output);
1494
+ for (const [name, member] of outputSchema.structIterator()) {
1495
+ if (member.getMemberTraits().httpPayload && !(name in output)) {
1496
+ output[name] = null;
1497
+ }
1498
+ }
1499
+ return output;
430
1500
  }
431
- return cleanValue;
432
- };
433
- const loadRestJsonErrorCode = (output, data) => {
434
- return loadErrorCode(output, data, ["header", "code", "type"]);
435
- };
436
- const loadJsonRpcErrorCode = (output, data, queryCompat = false) => {
437
- return loadErrorCode(output, data, queryCompat ? ["code", "header", "type"] : ["type", "code", "header"]);
438
- };
439
- const loadErrorCode = ({ headers }, data, order) => {
440
- while (order.length > 0) {
441
- const location = order.shift();
442
- switch (location) {
443
- case "header":
444
- const headerKey = findKey(headers ?? {}, "x-amzn-errortype");
445
- if (headerKey !== undefined) {
446
- return sanitizeErrorCode(headers[headerKey]);
447
- }
448
- break;
449
- case "code":
450
- const codeKey = findKey(data ?? {}, "code");
451
- if (codeKey && data[codeKey] !== undefined) {
452
- return sanitizeErrorCode(data[codeKey]);
453
- }
454
- break;
455
- case "type":
456
- if (data?.__type !== undefined) {
457
- return sanitizeErrorCode(data.__type);
458
- }
459
- break;
1501
+ async handleError(operationSchema, context, response, dataObject, metadata) {
1502
+ const errorIdentifier = loadRestJsonErrorCode(response, dataObject) ?? "Unknown";
1503
+ this.mixin.compose(this.compositeErrorRegistry, errorIdentifier, this.options.defaultNamespace);
1504
+ const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);
1505
+ const ns = NormalizedSchema.of(errorSchema);
1506
+ const message = dataObject.message ?? dataObject.Message ?? "UnknownError";
1507
+ const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error;
1508
+ const exception = new ErrorCtor({});
1509
+ await this.deserializeHttpMessage(errorSchema, context, response, dataObject);
1510
+ const output = {};
1511
+ const errorDeserializer = this.codec.createDeserializer();
1512
+ for (const [name, member] of ns.structIterator()) {
1513
+ const target = member.getMergedTraits().jsonName ?? name;
1514
+ output[name] = errorDeserializer.readObject(member, dataObject[target]);
460
1515
  }
1516
+ throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {
1517
+ $fault: ns.getMergedTraits().error,
1518
+ message,
1519
+ }, output), dataObject);
1520
+ }
1521
+ getDefaultContentType() {
1522
+ return "application/json";
461
1523
  }
462
- };
463
-
464
- function writeKey(obj) {
465
- Object.defineProperty(obj, "__proto__", { value: undefined, writable: true, enumerable: true, configurable: true });
466
1524
  }
467
1525
 
468
1526
  class JsonShapeDeserializer extends SerdeContextConfig {
@@ -766,7 +1824,7 @@ class JsonShapeSerializer extends SerdeContextConfig {
766
1824
  }
767
1825
  return out;
768
1826
  }
769
- if (value instanceof Uint8Array && (ns.isBlobSchema() || ns.isDocumentSchema())) {
1827
+ if (value instanceof Uint8Array && ns.isBlobSchema()) {
770
1828
  if (ns === this.rootSchema) {
771
1829
  return value;
772
1830
  }
@@ -783,294 +1841,90 @@ class JsonShapeSerializer extends SerdeContextConfig {
783
1841
  return value.getTime() / 1000;
784
1842
  default:
785
1843
  console.warn("Missing timestamp format, using epoch seconds", value);
786
- return value.getTime() / 1000;
787
- }
788
- }
789
- if (value instanceof NumericValue) {
790
- this.useReplacer = true;
791
- }
792
- }
793
- if (value === null && container?.isStructSchema()) {
794
- return void 0;
795
- }
796
- if (ns.isStringSchema()) {
797
- if (typeof value === "undefined" && ns.isIdempotencyToken()) {
798
- return generateIdempotencyToken();
799
- }
800
- const mediaType = ns.getMergedTraits().mediaType;
801
- if (value != null && mediaType) {
802
- const isJson = mediaType === "application/json" || mediaType.endsWith("+json");
803
- if (isJson) {
804
- return LazyJsonString.from(value);
805
- }
806
- }
807
- return value;
808
- }
809
- if (typeof value === "number" && ns.isNumericSchema()) {
810
- if (Math.abs(value) === Infinity || isNaN(value)) {
811
- return String(value);
812
- }
813
- return value;
814
- }
815
- if (typeof value === "string" && ns.isBlobSchema()) {
816
- if (ns === this.rootSchema) {
817
- return value;
818
- }
819
- return (this.serdeContext?.base64Encoder ?? toBase64)(value);
820
- }
821
- if (typeof value === "bigint") {
822
- this.useReplacer = true;
823
- }
824
- if (ns.isDocumentSchema()) {
825
- if (isObject) {
826
- const out = Array.isArray(value) ? [] : {};
827
- for (const k in value) {
828
- const v = value[k];
829
- if (k === "__proto__") {
830
- writeKey(out);
831
- }
832
- if (v instanceof NumericValue) {
833
- this.useReplacer = true;
834
- out[k] = v;
835
- }
836
- else {
837
- out[k] = this._write(ns, v);
838
- }
839
- }
840
- return out;
841
- }
842
- else {
843
- return structuredClone(value);
844
- }
845
- }
846
- return value;
847
- }
848
- }
849
-
850
- class JsonCodec extends SerdeContextConfig {
851
- settings;
852
- constructor(settings) {
853
- super();
854
- this.settings = settings;
855
- }
856
- createSerializer() {
857
- const serializer = new JsonShapeSerializer(this.settings);
858
- serializer.setSerdeContext(this.serdeContext);
859
- return serializer;
860
- }
861
- createDeserializer() {
862
- const deserializer = new JsonShapeDeserializer(this.settings);
863
- deserializer.setSerdeContext(this.serdeContext);
864
- return deserializer;
865
- }
866
- }
867
-
868
- class AwsJsonRpcProtocol extends RpcProtocol {
869
- serializer;
870
- deserializer;
871
- serviceTarget;
872
- codec;
873
- mixin;
874
- awsQueryCompatible;
875
- constructor({ defaultNamespace, errorTypeRegistries, serviceTarget, awsQueryCompatible, jsonCodec, }) {
876
- super({
877
- defaultNamespace,
878
- errorTypeRegistries,
879
- });
880
- this.serviceTarget = serviceTarget;
881
- this.codec =
882
- jsonCodec ??
883
- new JsonCodec({
884
- timestampFormat: {
885
- useTrait: true,
886
- default: 7,
887
- },
888
- jsonName: false,
889
- });
890
- this.serializer = this.codec.createSerializer();
891
- this.deserializer = this.codec.createDeserializer();
892
- this.awsQueryCompatible = !!awsQueryCompatible;
893
- this.mixin = new ProtocolLib(this.awsQueryCompatible);
894
- }
895
- async serializeRequest(operationSchema, input, context) {
896
- const request = await super.serializeRequest(operationSchema, input, context);
897
- if (!request.path.endsWith("/")) {
898
- request.path += "/";
899
- }
900
- request.headers["content-type"] = `application/x-amz-json-${this.getJsonRpcVersion()}`;
901
- request.headers["x-amz-target"] = `${this.serviceTarget}.${operationSchema.name}`;
902
- if (this.awsQueryCompatible) {
903
- request.headers["x-amzn-query-mode"] = "true";
904
- }
905
- if (deref(operationSchema.input) === "unit" || !request.body) {
906
- request.body = "{}";
907
- }
908
- return request;
909
- }
910
- getPayloadCodec() {
911
- return this.codec;
912
- }
913
- async handleError(operationSchema, context, response, dataObject, metadata) {
914
- const { awsQueryCompatible } = this;
915
- if (awsQueryCompatible) {
916
- this.mixin.setQueryCompatError(dataObject, response);
917
- }
918
- const errorIdentifier = loadJsonRpcErrorCode(response, dataObject, awsQueryCompatible) ?? "Unknown";
919
- this.mixin.compose(this.compositeErrorRegistry, errorIdentifier, this.options.defaultNamespace);
920
- const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata, awsQueryCompatible ? this.mixin.findQueryCompatibleError : undefined);
921
- const ns = NormalizedSchema.of(errorSchema);
922
- const message = dataObject.message ?? dataObject.Message ?? "UnknownError";
923
- const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error;
924
- const exception = new ErrorCtor({});
925
- const output = {};
926
- const errorDeserializer = this.codec.createDeserializer();
927
- for (const [name, member] of ns.structIterator()) {
928
- if (dataObject[name] != null) {
929
- output[name] = errorDeserializer.readObject(member, dataObject[name]);
1844
+ return value.getTime() / 1000;
1845
+ }
1846
+ }
1847
+ if (value instanceof NumericValue) {
1848
+ this.useReplacer = true;
930
1849
  }
931
1850
  }
932
- if (awsQueryCompatible) {
933
- this.mixin.queryCompatOutput(dataObject, output);
1851
+ if (value === null && container?.isStructSchema()) {
1852
+ return void 0;
934
1853
  }
935
- throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {
936
- $fault: ns.getMergedTraits().error,
937
- message,
938
- }, output), dataObject);
939
- }
940
- }
941
-
942
- class AwsJson1_0Protocol extends AwsJsonRpcProtocol {
943
- constructor({ defaultNamespace, errorTypeRegistries, serviceTarget, awsQueryCompatible, jsonCodec, }) {
944
- super({
945
- defaultNamespace,
946
- errorTypeRegistries,
947
- serviceTarget,
948
- awsQueryCompatible,
949
- jsonCodec,
950
- });
951
- }
952
- getShapeId() {
953
- return "aws.protocols#awsJson1_0";
954
- }
955
- getJsonRpcVersion() {
956
- return "1.0";
957
- }
958
- getDefaultContentType() {
959
- return "application/x-amz-json-1.0";
960
- }
961
- }
962
-
963
- class AwsJson1_1Protocol extends AwsJsonRpcProtocol {
964
- constructor({ defaultNamespace, errorTypeRegistries, serviceTarget, awsQueryCompatible, jsonCodec, }) {
965
- super({
966
- defaultNamespace,
967
- errorTypeRegistries,
968
- serviceTarget,
969
- awsQueryCompatible,
970
- jsonCodec,
971
- });
972
- }
973
- getShapeId() {
974
- return "aws.protocols#awsJson1_1";
975
- }
976
- getJsonRpcVersion() {
977
- return "1.1";
978
- }
979
- getDefaultContentType() {
980
- return "application/x-amz-json-1.1";
981
- }
982
- }
983
-
984
- class AwsRestJsonProtocol extends HttpBindingProtocol {
985
- serializer;
986
- deserializer;
987
- codec;
988
- mixin = new ProtocolLib();
989
- constructor({ defaultNamespace, errorTypeRegistries, }) {
990
- super({
991
- defaultNamespace,
992
- errorTypeRegistries,
993
- });
994
- const settings = {
995
- timestampFormat: {
996
- useTrait: true,
997
- default: 7,
998
- },
999
- httpBindings: true,
1000
- jsonName: true,
1001
- };
1002
- this.codec = new JsonCodec(settings);
1003
- this.serializer = new HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings);
1004
- this.deserializer = new HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings);
1005
- }
1006
- getShapeId() {
1007
- return "aws.protocols#restJson1";
1008
- }
1009
- getPayloadCodec() {
1010
- return this.codec;
1011
- }
1012
- setSerdeContext(serdeContext) {
1013
- this.codec.setSerdeContext(serdeContext);
1014
- super.setSerdeContext(serdeContext);
1015
- }
1016
- async serializeRequest(operationSchema, input, context) {
1017
- const request = await super.serializeRequest(operationSchema, input, context);
1018
- const inputSchema = NormalizedSchema.of(operationSchema.input);
1019
- if (!request.headers["content-type"]) {
1020
- const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema);
1021
- if (contentType) {
1022
- request.headers["content-type"] = contentType;
1854
+ if (ns.isStringSchema()) {
1855
+ if (typeof value === "undefined" && ns.isIdempotencyToken()) {
1856
+ return generateIdempotencyToken();
1857
+ }
1858
+ const mediaType = ns.getMergedTraits().mediaType;
1859
+ if (value != null && mediaType) {
1860
+ const isJson = mediaType === "application/json" || mediaType.endsWith("+json");
1861
+ if (isJson) {
1862
+ return LazyJsonString.from(value);
1863
+ }
1023
1864
  }
1865
+ return value;
1024
1866
  }
1025
- if (request.body == null && request.headers["content-type"] === this.getDefaultContentType()) {
1026
- request.body = "{}";
1867
+ if (typeof value === "number") {
1868
+ if (Math.abs(value) === Infinity || isNaN(value)) {
1869
+ return String(value);
1870
+ }
1871
+ return value;
1027
1872
  }
1028
- return request;
1029
- }
1030
- async deserializeResponse(operationSchema, context, response) {
1031
- const output = await super.deserializeResponse(operationSchema, context, response);
1032
- const outputSchema = NormalizedSchema.of(operationSchema.output);
1033
- for (const [name, member] of outputSchema.structIterator()) {
1034
- if (member.getMemberTraits().httpPayload && !(name in output)) {
1035
- output[name] = null;
1873
+ if (typeof value === "string" && ns.isBlobSchema()) {
1874
+ if (ns === this.rootSchema) {
1875
+ return value;
1036
1876
  }
1877
+ return (this.serdeContext?.base64Encoder ?? toBase64)(value);
1037
1878
  }
1038
- return output;
1039
- }
1040
- async handleError(operationSchema, context, response, dataObject, metadata) {
1041
- const errorIdentifier = loadRestJsonErrorCode(response, dataObject) ?? "Unknown";
1042
- this.mixin.compose(this.compositeErrorRegistry, errorIdentifier, this.options.defaultNamespace);
1043
- const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);
1044
- const ns = NormalizedSchema.of(errorSchema);
1045
- const message = dataObject.message ?? dataObject.Message ?? "UnknownError";
1046
- const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error;
1047
- const exception = new ErrorCtor({});
1048
- await this.deserializeHttpMessage(errorSchema, context, response, dataObject);
1049
- const output = {};
1050
- const errorDeserializer = this.codec.createDeserializer();
1051
- for (const [name, member] of ns.structIterator()) {
1052
- const target = member.getMergedTraits().jsonName ?? name;
1053
- output[name] = errorDeserializer.readObject(member, dataObject[target]);
1879
+ if (typeof value === "bigint") {
1880
+ this.useReplacer = true;
1054
1881
  }
1055
- throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {
1056
- $fault: ns.getMergedTraits().error,
1057
- message,
1058
- }, output), dataObject);
1059
- }
1060
- getDefaultContentType() {
1061
- return "application/json";
1882
+ if (ns.isDocumentSchema()) {
1883
+ if (isObject) {
1884
+ if (value instanceof Uint8Array) {
1885
+ return (this.serdeContext?.base64Encoder ?? toBase64)(value);
1886
+ }
1887
+ const out = Array.isArray(value) ? [] : {};
1888
+ for (const k in value) {
1889
+ const v = value[k];
1890
+ if (k === "__proto__") {
1891
+ writeKey(out);
1892
+ }
1893
+ if (v instanceof NumericValue) {
1894
+ this.useReplacer = true;
1895
+ out[k] = v;
1896
+ }
1897
+ else {
1898
+ out[k] = this._write(ns, v);
1899
+ }
1900
+ }
1901
+ return out;
1902
+ }
1903
+ else {
1904
+ return structuredClone(value);
1905
+ }
1906
+ }
1907
+ return value;
1062
1908
  }
1063
1909
  }
1064
1910
 
1065
- const awsExpectUnion = (value) => {
1066
- if (value == null) {
1067
- return undefined;
1911
+ class JsonCodec extends SerdeContextConfig {
1912
+ settings;
1913
+ constructor(settings) {
1914
+ super();
1915
+ this.settings = settings;
1068
1916
  }
1069
- if (typeof value === "object" && "__type" in value) {
1070
- delete value.__type;
1917
+ createSerializer() {
1918
+ const serializer = new JsonShapeSerializer(this.settings);
1919
+ serializer.setSerdeContext(this.serdeContext);
1920
+ return serializer;
1071
1921
  }
1072
- return expectUnion(value);
1073
- };
1922
+ createDeserializer() {
1923
+ const deserializer = new JsonShapeDeserializer(this.settings);
1924
+ deserializer.setSerdeContext(this.serdeContext);
1925
+ return deserializer;
1926
+ }
1927
+ }
1074
1928
 
1075
1929
  class XmlShapeDeserializer extends SerdeContextConfig {
1076
1930
  settings;
@@ -2004,6 +2858,66 @@ class AwsRestXmlProtocol extends HttpBindingProtocol {
2004
2858
  }
2005
2859
  }
2006
2860
 
2861
+ const awsExpectUnion = (value) => {
2862
+ if (value == null) {
2863
+ return undefined;
2864
+ }
2865
+ if (typeof value === "object" && "__type" in value) {
2866
+ delete value.__type;
2867
+ }
2868
+ return expectUnion(value);
2869
+ };
2870
+
2871
+ const _toStr = (val) => {
2872
+ if (val == null) {
2873
+ return val;
2874
+ }
2875
+ if (typeof val === "number" || typeof val === "bigint") {
2876
+ const warning = new Error(`Received number ${val} where a string was expected.`);
2877
+ warning.name = "Warning";
2878
+ console.warn(warning);
2879
+ return String(val);
2880
+ }
2881
+ if (typeof val === "boolean") {
2882
+ const warning = new Error(`Received boolean ${val} where a string was expected.`);
2883
+ warning.name = "Warning";
2884
+ console.warn(warning);
2885
+ return String(val);
2886
+ }
2887
+ return val;
2888
+ };
2889
+ const _toBool = (val) => {
2890
+ if (val == null) {
2891
+ return val;
2892
+ }
2893
+ if (typeof val === "string") {
2894
+ const lowercase = val.toLowerCase();
2895
+ if (val !== "" && lowercase !== "false" && lowercase !== "true") {
2896
+ const warning = new Error(`Received string "${val}" where a boolean was expected.`);
2897
+ warning.name = "Warning";
2898
+ console.warn(warning);
2899
+ }
2900
+ return val !== "" && lowercase !== "false";
2901
+ }
2902
+ return val;
2903
+ };
2904
+ const _toNum = (val) => {
2905
+ if (val == null) {
2906
+ return val;
2907
+ }
2908
+ if (typeof val === "string") {
2909
+ const num = Number(val);
2910
+ if (num.toString() !== val) {
2911
+ const warning = new Error(`Received string "${val}" where a number was expected.`);
2912
+ warning.name = "Warning";
2913
+ console.warn(warning);
2914
+ return val;
2915
+ }
2916
+ return num;
2917
+ }
2918
+ return val;
2919
+ };
2920
+
2007
2921
  exports.AwsEc2QueryProtocol = AwsEc2QueryProtocol;
2008
2922
  exports.AwsJson1_0Protocol = AwsJson1_0Protocol;
2009
2923
  exports.AwsJson1_1Protocol = AwsJson1_1Protocol;
@@ -2013,8 +2927,11 @@ exports.AwsRestJsonProtocol = AwsRestJsonProtocol;
2013
2927
  exports.AwsRestXmlProtocol = AwsRestXmlProtocol;
2014
2928
  exports.AwsSmithyRpcV2CborProtocol = AwsSmithyRpcV2CborProtocol;
2015
2929
  exports.JsonCodec = JsonCodec;
2930
+ exports.JsonCodec2 = JsonCodec2;
2016
2931
  exports.JsonShapeDeserializer = JsonShapeDeserializer;
2932
+ exports.JsonShapeDeserializer2 = JsonShapeDeserializer2;
2017
2933
  exports.JsonShapeSerializer = JsonShapeSerializer;
2934
+ exports.JsonShapeSerializer2 = JsonShapeSerializer2;
2018
2935
  exports.QueryShapeSerializer = QueryShapeSerializer;
2019
2936
  exports.XmlCodec = XmlCodec;
2020
2937
  exports.XmlShapeDeserializer = XmlShapeDeserializer;