@qqbrowser/openclaw-qbot 0.10.13 → 0.10.16

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 (180) hide show
  1. package/dist/build-info.json +3 -3
  2. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  3. package/dist/canvas-host/a2ui/a2ui.bundle.js +6 -6
  4. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/index.js +1 -0
  5. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-es/models/enums.js +1 -0
  6. package/node_modules/@aws-sdk/client-bedrock-runtime/package.json +13 -13
  7. package/node_modules/@aws-sdk/core/package.json +6 -6
  8. package/node_modules/@aws-sdk/credential-provider-env/package.json +5 -5
  9. package/node_modules/@aws-sdk/credential-provider-http/package.json +7 -7
  10. package/node_modules/@aws-sdk/credential-provider-ini/package.json +13 -13
  11. package/node_modules/@aws-sdk/credential-provider-login/package.json +6 -6
  12. package/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js +12 -1
  13. package/node_modules/@aws-sdk/credential-provider-node/dist-es/runtime/memoize-chain.js +12 -1
  14. package/node_modules/@aws-sdk/credential-provider-node/package.json +11 -11
  15. package/node_modules/@aws-sdk/credential-provider-process/package.json +5 -5
  16. package/node_modules/@aws-sdk/credential-provider-sso/package.json +7 -7
  17. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +6 -6
  18. package/node_modules/@aws-sdk/eventstream-handler-node/package.json +4 -4
  19. package/node_modules/@aws-sdk/middleware-eventstream/package.json +4 -4
  20. package/node_modules/@aws-sdk/middleware-websocket/package.json +7 -7
  21. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
  22. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
  23. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
  24. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
  25. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
  26. package/node_modules/@aws-sdk/nested-clients/package.json +8 -8
  27. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +4 -4
  28. package/node_modules/@aws-sdk/token-providers/package.json +6 -6
  29. package/node_modules/@aws-sdk/types/package.json +2 -2
  30. package/node_modules/@aws-sdk/xml-builder/package.json +2 -2
  31. package/node_modules/@clack/core/dist/index.mjs +7 -7
  32. package/node_modules/@clack/core/package.json +2 -1
  33. package/node_modules/@clack/prompts/dist/index.mjs +38 -38
  34. package/node_modules/@clack/prompts/package.json +2 -2
  35. package/node_modules/@nodable/entities/package.json +1 -1
  36. package/node_modules/@nodable/entities/src/EntityDecoder.js +1 -1
  37. package/node_modules/@nodable/entities/src/entities.js +0 -18
  38. package/node_modules/@slack/bolt/dist/App.js +8 -12
  39. package/node_modules/@slack/bolt/dist/context/index.js +7 -7
  40. package/node_modules/@slack/bolt/dist/index.js +16 -16
  41. package/node_modules/@slack/bolt/dist/receivers/AwsLambdaReceiver.js +2 -0
  42. package/node_modules/@slack/bolt/dist/receivers/ExpressReceiver.js +8 -1
  43. package/node_modules/@slack/bolt/dist/receivers/HTTPReceiver.js +4 -2
  44. package/node_modules/@slack/bolt/dist/receivers/SocketModeReceiver.js +1 -1
  45. package/node_modules/@slack/bolt/dist/receivers/verify-request.js +3 -0
  46. package/node_modules/@slack/bolt/dist/receivers/verify-signing-secret.js +12 -0
  47. package/node_modules/@slack/bolt/dist/types/actions/index.js +1 -1
  48. package/node_modules/@slack/bolt/dist/types/index.js +3 -3
  49. package/node_modules/@slack/bolt/package.json +4 -4
  50. package/node_modules/@smithy/core/dist-cjs/index.js +3 -4
  51. package/node_modules/@smithy/core/dist-cjs/submodules/client/index.js +3 -11
  52. package/node_modules/@smithy/core/dist-cjs/submodules/config/index.browser.js +2 -2
  53. package/node_modules/@smithy/core/dist-cjs/submodules/config/index.js +2 -2
  54. package/node_modules/@smithy/core/dist-cjs/submodules/config/index.native.js +2 -2
  55. package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.browser.js +9 -40
  56. package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.js +9 -40
  57. package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +12 -142
  58. package/node_modules/@smithy/core/dist-cjs/submodules/retry/index.browser.js +39 -22
  59. package/node_modules/@smithy/core/dist-cjs/submodules/retry/index.js +39 -22
  60. package/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js +7 -9
  61. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.browser.js +2 -2
  62. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +2 -2
  63. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.native.js +2 -2
  64. package/node_modules/@smithy/core/dist-cjs/submodules/transport/index.js +184 -0
  65. package/node_modules/@smithy/core/dist-es/index.js +6 -6
  66. package/node_modules/@smithy/core/dist-es/submodules/client/index.js +2 -2
  67. package/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/checkRegion.js +1 -1
  68. package/node_modules/@smithy/core/dist-es/submodules/endpoints/index.browser.js +2 -2
  69. package/node_modules/@smithy/core/dist-es/submodules/endpoints/index.js +2 -2
  70. package/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/toEndpointV1.js +1 -1
  71. package/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/resolveEndpointConfig.js +1 -1
  72. package/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/index.js +1 -1
  73. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpBindingProtocol.js +1 -1
  74. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +1 -2
  75. package/node_modules/@smithy/core/dist-es/submodules/protocols/RpcProtocol.js +1 -1
  76. package/node_modules/@smithy/core/dist-es/submodules/protocols/index.js +5 -5
  77. package/node_modules/@smithy/core/dist-es/submodules/protocols/middleware-content-length/contentLengthMiddleware.js +1 -1
  78. package/node_modules/@smithy/core/dist-es/submodules/protocols/requestBuilder.js +1 -1
  79. package/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/configurations.js +19 -6
  80. package/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retryMiddleware.js +4 -5
  81. package/node_modules/@smithy/core/dist-es/submodules/retry/service-error-classification/constants.js +1 -1
  82. package/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/ConfiguredRetryStrategy.js +4 -5
  83. package/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/DefaultRetryToken.js +3 -0
  84. package/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/StandardRetryStrategy.js +9 -5
  85. package/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaDeserializationMiddleware.js +3 -4
  86. package/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaSerializationMiddleware.js +1 -2
  87. package/node_modules/@smithy/core/dist-es/submodules/serde/middleware-serde/deserializerMiddleware.js +1 -1
  88. package/node_modules/@smithy/core/dist-es/submodules/transport/index.js +9 -0
  89. package/node_modules/@smithy/core/dist-es/submodules/{protocols/url-parser → transport}/parseUrl.js +1 -1
  90. package/node_modules/@smithy/core/dist-es/submodules/{endpoints → transport}/toEndpointV1.js +1 -1
  91. package/node_modules/@smithy/core/package.json +20 -11
  92. package/node_modules/@smithy/core/transport.js +5 -0
  93. package/node_modules/@smithy/credential-provider-imds/dist-cjs/index.js +14 -13
  94. package/node_modules/@smithy/credential-provider-imds/dist-es/fromContainerMetadata.js +14 -13
  95. package/node_modules/@smithy/credential-provider-imds/package.json +3 -3
  96. package/node_modules/@smithy/fetch-http-handler/package.json +4 -4
  97. package/node_modules/@smithy/node-http-handler/package.json +4 -4
  98. package/node_modules/@smithy/signature-v4/package.json +3 -3
  99. package/node_modules/@smithy/types/package.json +1 -1
  100. package/node_modules/eventsource-parser/dist/index.cjs +21 -10
  101. package/node_modules/eventsource-parser/dist/index.d.cts +33 -10
  102. package/node_modules/eventsource-parser/dist/index.js +21 -10
  103. package/node_modules/eventsource-parser/dist/stream.cjs +4 -3
  104. package/node_modules/eventsource-parser/dist/stream.d.cts +16 -3
  105. package/node_modules/eventsource-parser/dist/stream.js +4 -3
  106. package/node_modules/eventsource-parser/package.json +8 -8
  107. package/node_modules/hasown/package.json +4 -5
  108. package/node_modules/lru-cache/package.json +1 -1
  109. package/node_modules/protobufjs/dist/light/protobuf.js +7 -5
  110. package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  111. package/node_modules/protobufjs/dist/minimal/protobuf.js +3 -3
  112. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
  113. package/node_modules/protobufjs/dist/protobuf.js +7 -5
  114. package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  115. package/node_modules/protobufjs/package.json +1 -1
  116. package/node_modules/protobufjs/src/converter.js +4 -2
  117. package/node_modules/protobufjs/src/roots.js +1 -1
  118. package/node_modules/thread-stream/.claude/settings.local.json +15 -0
  119. package/node_modules/thread-stream/CLAUDE.md +64 -0
  120. package/node_modules/thread-stream/index.js +41 -13
  121. package/node_modules/thread-stream/lib/indexes.js +3 -1
  122. package/node_modules/thread-stream/lib/worker.js +20 -8
  123. package/node_modules/thread-stream/package.json +1 -1
  124. package/node_modules/undici/lib/global.js +10 -1
  125. package/node_modules/undici/package.json +1 -1
  126. package/package.json +1 -1
  127. package/skills/qqbrowser-playbook/SKILL.md +289 -237
  128. package/skills/qqbrowser-skill/SKILL.md +241 -233
  129. package/node_modules/@smithy/core/dist-cjs/getSmithyContext.js +0 -6
  130. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.js +0 -21
  131. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js +0 -21
  132. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js +0 -46
  133. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/index.js +0 -6
  134. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/resolveAuthOptions.js +0 -24
  135. package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/getHttpSigningMiddleware.js +0 -19
  136. package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/httpSigningMiddleware.js +0 -27
  137. package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/index.js +0 -5
  138. package/node_modules/@smithy/core/dist-cjs/normalizeProvider.js +0 -10
  139. package/node_modules/@smithy/core/dist-cjs/pagination/createPaginator.js +0 -44
  140. package/node_modules/@smithy/core/dist-cjs/request-builder/requestBuilder.js +0 -5
  141. package/node_modules/@smithy/core/dist-cjs/setFeature.js +0 -14
  142. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/DefaultIdentityProviderConfig.js +0 -18
  143. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/httpApiKeyAuth.js +0 -38
  144. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/httpBearerAuth.js +0 -15
  145. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/index.js +0 -6
  146. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/noAuth.js +0 -9
  147. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/index.js +0 -6
  148. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/memoizeIdentityProvider.js +0 -61
  149. package/node_modules/@smithy/core/dist-es/request-builder/requestBuilder.js +0 -1
  150. package/node_modules/@smithy/core/dist-es/submodules/client/util-middleware/getSmithyContext.js +0 -2
  151. package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/TestVectors.fixture.js +0 -146
  152. package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/vectorTypes.fixture.js +0 -1
  153. package/node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/index.js +0 -2
  154. package/node_modules/@smithy/node-http-handler/dist-es/readable.mock.js +0 -21
  155. package/node_modules/@smithy/node-http-handler/dist-es/server.mock.js +0 -88
  156. package/node_modules/@smithy/node-http-handler/dist-es/stream-collector/readable.mock.js +0 -21
  157. package/node_modules/@smithy/signature-v4/dist-es/suite.fixture.js +0 -399
  158. /package/node_modules/@smithy/core/dist-es/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/getHttpAuthSchemeEndpointRuleSetPlugin.js +0 -0
  159. /package/node_modules/@smithy/core/dist-es/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/getHttpAuthSchemePlugin.js +0 -0
  160. /package/node_modules/@smithy/core/dist-es/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/httpAuthSchemeMiddleware.js +0 -0
  161. /package/node_modules/@smithy/core/dist-es/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/index.js +0 -0
  162. /package/node_modules/@smithy/core/dist-es/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/resolveAuthOptions.js +0 -0
  163. /package/node_modules/@smithy/core/dist-es/{middleware-http-signing → legacy-root-exports/middleware-http-signing}/getHttpSigningMiddleware.js +0 -0
  164. /package/node_modules/@smithy/core/dist-es/{middleware-http-signing → legacy-root-exports/middleware-http-signing}/httpSigningMiddleware.js +0 -0
  165. /package/node_modules/@smithy/core/dist-es/{middleware-http-signing → legacy-root-exports/middleware-http-signing}/index.js +0 -0
  166. /package/node_modules/@smithy/core/dist-es/{pagination → legacy-root-exports/pagination}/createPaginator.js +0 -0
  167. /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/DefaultIdentityProviderConfig.js +0 -0
  168. /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/httpAuthSchemes/httpApiKeyAuth.js +0 -0
  169. /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/httpAuthSchemes/httpBearerAuth.js +0 -0
  170. /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/httpAuthSchemes/index.js +0 -0
  171. /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/httpAuthSchemes/noAuth.js +0 -0
  172. /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/index.js +0 -0
  173. /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/memoizeIdentityProvider.js +0 -0
  174. /package/node_modules/@smithy/core/dist-es/{getSmithyContext.js → submodules/transport/getSmithyContext.js} +0 -0
  175. /package/node_modules/@smithy/core/dist-es/submodules/{protocols/protocol-http → transport}/httpRequest.js +0 -0
  176. /package/node_modules/@smithy/core/dist-es/submodules/{protocols/protocol-http → transport}/httpResponse.js +0 -0
  177. /package/node_modules/@smithy/core/dist-es/submodules/{endpoints/util-endpoints/lib → transport}/isValidHostLabel.js +0 -0
  178. /package/node_modules/@smithy/core/dist-es/submodules/{protocols/protocol-http → transport}/isValidHostname.js +0 -0
  179. /package/node_modules/@smithy/core/dist-es/submodules/{client/util-middleware → transport}/normalizeProvider.js +0 -0
  180. /package/node_modules/@smithy/core/dist-es/submodules/{protocols/querystring-parser → transport}/parseQueryString.js +0 -0
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var protocols = require('@smithy/core/protocols');
3
+ var transport = require('@smithy/core/transport');
4
4
  var endpoints = require('@smithy/core/endpoints');
5
5
 
6
6
  const chars = `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`;
@@ -912,7 +912,7 @@ const deserializerMiddleware = (options, deserializer) => (next, context) => asy
912
912
  }
913
913
  }
914
914
  try {
915
- if (protocols.HttpResponse.isInstance(response)) {
915
+ if (transport.HttpResponse.isInstance(response)) {
916
916
  const { headers = {} } = response;
917
917
  const headerEntries = Object.entries(headers);
918
918
  error.$metadata = {
@@ -0,0 +1,184 @@
1
+ 'use strict';
2
+
3
+ var types = require('@smithy/types');
4
+
5
+ const getSmithyContext = (context) => context[types.SMITHY_CONTEXT_KEY] || (context[types.SMITHY_CONTEXT_KEY] = {});
6
+
7
+ class HttpRequest {
8
+ method;
9
+ protocol;
10
+ hostname;
11
+ port;
12
+ path;
13
+ query;
14
+ headers;
15
+ username;
16
+ password;
17
+ fragment;
18
+ body;
19
+ constructor(options) {
20
+ this.method = options.method || "GET";
21
+ this.hostname = options.hostname || "localhost";
22
+ this.port = options.port;
23
+ this.query = options.query || {};
24
+ this.headers = options.headers || {};
25
+ this.body = options.body;
26
+ this.protocol = options.protocol
27
+ ? options.protocol.slice(-1) !== ":"
28
+ ? `${options.protocol}:`
29
+ : options.protocol
30
+ : "https:";
31
+ this.path = options.path ? (options.path.charAt(0) !== "/" ? `/${options.path}` : options.path) : "/";
32
+ this.username = options.username;
33
+ this.password = options.password;
34
+ this.fragment = options.fragment;
35
+ }
36
+ static clone(request) {
37
+ const cloned = new HttpRequest({
38
+ ...request,
39
+ headers: { ...request.headers },
40
+ });
41
+ if (cloned.query) {
42
+ cloned.query = cloneQuery(cloned.query);
43
+ }
44
+ return cloned;
45
+ }
46
+ static isInstance(request) {
47
+ if (!request) {
48
+ return false;
49
+ }
50
+ const req = request;
51
+ return ("method" in req &&
52
+ "protocol" in req &&
53
+ "hostname" in req &&
54
+ "path" in req &&
55
+ typeof req["query"] === "object" &&
56
+ typeof req["headers"] === "object");
57
+ }
58
+ clone() {
59
+ return HttpRequest.clone(this);
60
+ }
61
+ }
62
+ function cloneQuery(query) {
63
+ return Object.keys(query).reduce((carry, paramName) => {
64
+ const param = query[paramName];
65
+ return {
66
+ ...carry,
67
+ [paramName]: Array.isArray(param) ? [...param] : param,
68
+ };
69
+ }, {});
70
+ }
71
+
72
+ class HttpResponse {
73
+ statusCode;
74
+ reason;
75
+ headers;
76
+ body;
77
+ constructor(options) {
78
+ this.statusCode = options.statusCode;
79
+ this.reason = options.reason;
80
+ this.headers = options.headers || {};
81
+ this.body = options.body;
82
+ }
83
+ static isInstance(response) {
84
+ if (!response)
85
+ return false;
86
+ const resp = response;
87
+ return typeof resp.statusCode === "number" && typeof resp.headers === "object";
88
+ }
89
+ }
90
+
91
+ const VALID_HOST_LABEL_REGEX = new RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`);
92
+ const isValidHostLabel = (value, allowSubDomains = false) => {
93
+ if (!allowSubDomains) {
94
+ return VALID_HOST_LABEL_REGEX.test(value);
95
+ }
96
+ const labels = value.split(".");
97
+ for (const label of labels) {
98
+ if (!isValidHostLabel(label)) {
99
+ return false;
100
+ }
101
+ }
102
+ return true;
103
+ };
104
+
105
+ function isValidHostname(hostname) {
106
+ const hostPattern = /^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/;
107
+ return hostPattern.test(hostname);
108
+ }
109
+
110
+ const normalizeProvider = (input) => {
111
+ if (typeof input === "function")
112
+ return input;
113
+ const promisified = Promise.resolve(input);
114
+ return () => promisified;
115
+ };
116
+
117
+ function parseQueryString(querystring) {
118
+ const query = {};
119
+ querystring = querystring.replace(/^\?/, "");
120
+ if (querystring) {
121
+ for (const pair of querystring.split("&")) {
122
+ let [key, value = null] = pair.split("=");
123
+ key = decodeURIComponent(key);
124
+ if (value) {
125
+ value = decodeURIComponent(value);
126
+ }
127
+ if (!(key in query)) {
128
+ query[key] = value;
129
+ }
130
+ else if (Array.isArray(query[key])) {
131
+ query[key].push(value);
132
+ }
133
+ else {
134
+ query[key] = [query[key], value];
135
+ }
136
+ }
137
+ }
138
+ return query;
139
+ }
140
+
141
+ const parseUrl = (url) => {
142
+ if (typeof url === "string") {
143
+ return parseUrl(new URL(url));
144
+ }
145
+ const { hostname, pathname, port, protocol, search } = url;
146
+ let query;
147
+ if (search) {
148
+ query = parseQueryString(search);
149
+ }
150
+ return {
151
+ hostname,
152
+ port: port ? parseInt(port) : undefined,
153
+ protocol,
154
+ path: pathname,
155
+ query,
156
+ };
157
+ };
158
+
159
+ const toEndpointV1 = (endpoint) => {
160
+ if (typeof endpoint === "object") {
161
+ if ("url" in endpoint) {
162
+ const v1Endpoint = parseUrl(endpoint.url);
163
+ if (endpoint.headers) {
164
+ v1Endpoint.headers = {};
165
+ for (const name in endpoint.headers) {
166
+ v1Endpoint.headers[name.toLowerCase()] = endpoint.headers[name].join(", ");
167
+ }
168
+ }
169
+ return v1Endpoint;
170
+ }
171
+ return endpoint;
172
+ }
173
+ return parseUrl(endpoint);
174
+ };
175
+
176
+ exports.HttpRequest = HttpRequest;
177
+ exports.HttpResponse = HttpResponse;
178
+ exports.getSmithyContext = getSmithyContext;
179
+ exports.isValidHostLabel = isValidHostLabel;
180
+ exports.isValidHostname = isValidHostname;
181
+ exports.normalizeProvider = normalizeProvider;
182
+ exports.parseQueryString = parseQueryString;
183
+ exports.parseUrl = parseUrl;
184
+ exports.toEndpointV1 = toEndpointV1;
@@ -1,8 +1,8 @@
1
- export * from "./getSmithyContext";
2
- export * from "./middleware-http-auth-scheme";
3
- export * from "./middleware-http-signing";
1
+ export { getSmithyContext } from "@smithy/core/transport";
2
+ export * from "./legacy-root-exports/middleware-http-auth-scheme";
3
+ export * from "./legacy-root-exports/middleware-http-signing";
4
4
  export * from "./normalizeProvider";
5
- export { createPaginator } from "./pagination/createPaginator";
6
- export * from "./request-builder/requestBuilder";
5
+ export { createPaginator } from "./legacy-root-exports/pagination/createPaginator";
6
+ export { requestBuilder } from "@smithy/core/protocols";
7
7
  export * from "./setFeature";
8
- export * from "./util-identity-and-auth";
8
+ export * from "./legacy-root-exports/util-identity-and-auth";
@@ -1,6 +1,6 @@
1
1
  export { constructStack } from "./middleware-stack/MiddlewareStack";
2
- export { getSmithyContext } from "./util-middleware/getSmithyContext";
3
- export { normalizeProvider } from "./util-middleware/normalizeProvider";
2
+ export { getSmithyContext } from "@smithy/core/transport";
3
+ export { normalizeProvider } from "@smithy/core/transport";
4
4
  export { invalidFunction } from "./invalid-dependency/invalidFunction";
5
5
  export { invalidProvider } from "./invalid-dependency/invalidProvider";
6
6
  export { createWaiter } from "./util-waiter/createWaiter";
@@ -1,4 +1,4 @@
1
- import { isValidHostLabel } from "@smithy/core/endpoints";
1
+ import { isValidHostLabel } from "@smithy/core/transport";
2
2
  const validRegions = new Set();
3
3
  export const checkRegion = (region, check = isValidHostLabel) => {
4
4
  if (!validRegions.has(region) && !check(region)) {
@@ -3,12 +3,12 @@ import { bindGetEndpointFromInstructions } from "./middleware-endpoint/adaptors/
3
3
  import { bindEndpointMiddleware } from "./middleware-endpoint/endpointMiddleware";
4
4
  import { bindGetEndpointPlugin } from "./middleware-endpoint/getEndpointPlugin";
5
5
  import { bindResolveEndpointConfig } from "./middleware-endpoint/resolveEndpointConfig";
6
- export * from "./toEndpointV1";
6
+ export { toEndpointV1 } from "@smithy/core/transport";
7
7
  export { BinaryDecisionDiagram } from "./util-endpoints/bdd/BinaryDecisionDiagram";
8
8
  export { EndpointCache } from "./util-endpoints/cache/EndpointCache";
9
9
  export { decideEndpoint } from "./util-endpoints/decideEndpoint";
10
10
  export { isIpAddress } from "./util-endpoints/lib/isIpAddress";
11
- export { isValidHostLabel } from "./util-endpoints/lib/isValidHostLabel";
11
+ export { isValidHostLabel } from "@smithy/core/transport";
12
12
  export { customEndpointFunctions } from "./util-endpoints/utils/customEndpointFunctions";
13
13
  export { resolveEndpoint } from "./util-endpoints/resolveEndpoint";
14
14
  export * from "./util-endpoints/types";
@@ -3,12 +3,12 @@ import { bindGetEndpointFromInstructions } from "./middleware-endpoint/adaptors/
3
3
  import { bindEndpointMiddleware } from "./middleware-endpoint/endpointMiddleware";
4
4
  import { bindGetEndpointPlugin } from "./middleware-endpoint/getEndpointPlugin";
5
5
  import { bindResolveEndpointConfig } from "./middleware-endpoint/resolveEndpointConfig";
6
- export * from "./toEndpointV1";
6
+ export { toEndpointV1 } from "@smithy/core/transport";
7
7
  export { BinaryDecisionDiagram } from "./util-endpoints/bdd/BinaryDecisionDiagram";
8
8
  export { EndpointCache } from "./util-endpoints/cache/EndpointCache";
9
9
  export { decideEndpoint } from "./util-endpoints/decideEndpoint";
10
10
  export { isIpAddress } from "./util-endpoints/lib/isIpAddress";
11
- export { isValidHostLabel } from "./util-endpoints/lib/isValidHostLabel";
11
+ export { isValidHostLabel } from "@smithy/core/transport";
12
12
  export { customEndpointFunctions } from "./util-endpoints/utils/customEndpointFunctions";
13
13
  export { resolveEndpoint } from "./util-endpoints/resolveEndpoint";
14
14
  export * from "./util-endpoints/types";
@@ -1 +1 @@
1
- export { toEndpointV1 } from "../../toEndpointV1";
1
+ export { toEndpointV1 } from "@smithy/core/transport";
@@ -1,4 +1,4 @@
1
- import { normalizeProvider } from "@smithy/core/client";
1
+ import { normalizeProvider } from "@smithy/core/transport";
2
2
  import { toEndpointV1 } from "./adaptors/toEndpointV1";
3
3
  export function bindResolveEndpointConfig(getEndpointFromConfig) {
4
4
  return (input) => {
@@ -2,7 +2,7 @@ export * from "./booleanEquals";
2
2
  export * from "./coalesce";
3
3
  export * from "./getAttr";
4
4
  export * from "./isSet";
5
- export * from "./isValidHostLabel";
5
+ export { isValidHostLabel } from "@smithy/core/transport";
6
6
  export * from "./ite";
7
7
  export * from "./not";
8
8
  export * from "./parseURL";
@@ -1,9 +1,9 @@
1
1
  import { NormalizedSchema, translateTraits } from "@smithy/core/schema";
2
2
  import { sdkStreamMixin, splitEvery, splitHeader } from "@smithy/core/serde";
3
+ import { HttpRequest } from "@smithy/core/transport";
3
4
  import { HttpProtocol } from "./HttpProtocol";
4
5
  import { collectBody } from "./collect-stream-body";
5
6
  import { extendedEncodeURIComponent } from "./extended-encode-uri-component";
6
- import { HttpRequest } from "./protocol-http/httpRequest";
7
7
  export class HttpBindingProtocol extends HttpProtocol {
8
8
  async serializeRequest(operationSchema, _input, context) {
9
9
  const input = _input && typeof _input === "object" ? _input : {};
@@ -1,7 +1,6 @@
1
1
  import { NormalizedSchema, TypeRegistry, translateTraits } from "@smithy/core/schema";
2
+ import { HttpRequest, HttpResponse } from "@smithy/core/transport";
2
3
  import { SerdeContext } from "./SerdeContext";
3
- import { HttpRequest } from "./protocol-http/httpRequest";
4
- import { HttpResponse } from "./protocol-http/httpResponse";
5
4
  export class HttpProtocol extends SerdeContext {
6
5
  options;
7
6
  compositeErrorRegistry;
@@ -1,7 +1,7 @@
1
1
  import { NormalizedSchema } from "@smithy/core/schema";
2
+ import { HttpRequest } from "@smithy/core/transport";
2
3
  import { HttpProtocol } from "./HttpProtocol";
3
4
  import { collectBody } from "./collect-stream-body";
4
- import { HttpRequest } from "./protocol-http/httpRequest";
5
5
  export class RpcProtocol extends HttpProtocol {
6
6
  async serializeRequest(operationSchema, _input, context) {
7
7
  const serializer = this.serializer;
@@ -13,13 +13,13 @@ export * from "./serde/determineTimestampFormat";
13
13
  export * from "./SerdeContext";
14
14
  export { Field } from "./protocol-http/Field";
15
15
  export { Fields } from "./protocol-http/Fields";
16
- export { HttpRequest } from "./protocol-http/httpRequest";
17
- export { HttpResponse } from "./protocol-http/httpResponse";
18
- export { isValidHostname } from "./protocol-http/isValidHostname";
16
+ export { HttpRequest } from "@smithy/core/transport";
17
+ export { HttpResponse } from "@smithy/core/transport";
18
+ export { isValidHostname } from "@smithy/core/transport";
19
19
  export { getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig, } from "./protocol-http/extensions/httpExtensionConfiguration";
20
20
  export { contentLengthMiddleware, contentLengthMiddlewareOptions, getContentLengthPlugin, } from "./middleware-content-length/contentLengthMiddleware";
21
21
  export { escapeUri } from "./util-uri-escape/escape-uri";
22
22
  export { escapeUriPath } from "./util-uri-escape/escape-uri-path";
23
23
  export { buildQueryString } from "./querystring-builder/buildQueryString";
24
- export { parseQueryString } from "./querystring-parser/parseQueryString";
25
- export { parseUrl } from "./url-parser/parseUrl";
24
+ export { parseQueryString } from "@smithy/core/transport";
25
+ export { parseUrl } from "@smithy/core/transport";
@@ -1,4 +1,4 @@
1
- import { HttpRequest } from "../protocol-http/httpRequest";
1
+ import { HttpRequest } from "@smithy/core/transport";
2
2
  const CONTENT_LENGTH_HEADER = "content-length";
3
3
  export function contentLengthMiddleware(bodyLengthChecker) {
4
4
  return (next) => async (args) => {
@@ -1,4 +1,4 @@
1
- import { HttpRequest } from "./protocol-http/httpRequest";
1
+ import { HttpRequest } from "@smithy/core/transport";
2
2
  import { resolvedPath } from "./resolve-path";
3
3
  export function requestBuilder(input, context) {
4
4
  return new RequestBuilder(input, context);
@@ -2,6 +2,7 @@ import { normalizeProvider } from "@smithy/core/client";
2
2
  import { AdaptiveRetryStrategy } from "../util-retry/AdaptiveRetryStrategy";
3
3
  import { StandardRetryStrategy } from "../util-retry/StandardRetryStrategy";
4
4
  import { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE, RETRY_MODES } from "../util-retry/config";
5
+ import { Retry } from "../util-retry/retries-2026-config";
5
6
  export const ENV_MAX_ATTEMPTS = "AWS_MAX_ATTEMPTS";
6
7
  export const CONFIG_MAX_ATTEMPTS = "max_attempts";
7
8
  export const NODE_MAX_ATTEMPT_CONFIG_OPTIONS = {
@@ -27,17 +28,29 @@ export const NODE_MAX_ATTEMPT_CONFIG_OPTIONS = {
27
28
  },
28
29
  default: DEFAULT_MAX_ATTEMPTS,
29
30
  };
30
- export const resolveRetryConfig = (input) => {
31
+ export const resolveRetryConfig = (input, defaults) => {
31
32
  const { retryStrategy, retryMode } = input;
32
- const maxAttempts = normalizeProvider(input.maxAttempts ?? DEFAULT_MAX_ATTEMPTS);
33
+ const { defaultMaxAttempts = DEFAULT_MAX_ATTEMPTS, defaultBaseDelay = Retry.delay() } = defaults ?? {};
34
+ const maxAttemptsProvider = normalizeProvider(input.maxAttempts ?? defaultMaxAttempts);
33
35
  let controller = retryStrategy
34
36
  ? Promise.resolve(retryStrategy)
35
37
  : undefined;
36
- const getDefault = async () => (await normalizeProvider(retryMode)()) === RETRY_MODES.ADAPTIVE
37
- ? new AdaptiveRetryStrategy(maxAttempts)
38
- : new StandardRetryStrategy(maxAttempts);
38
+ const getDefault = async () => {
39
+ const maxAttempts = await maxAttemptsProvider();
40
+ const adaptive = (await normalizeProvider(retryMode)()) === RETRY_MODES.ADAPTIVE;
41
+ if (adaptive) {
42
+ return new AdaptiveRetryStrategy(maxAttemptsProvider, {
43
+ maxAttempts,
44
+ baseDelay: defaultBaseDelay,
45
+ });
46
+ }
47
+ return new StandardRetryStrategy({
48
+ maxAttempts,
49
+ baseDelay: defaultBaseDelay,
50
+ });
51
+ };
39
52
  return Object.assign(input, {
40
- maxAttempts,
53
+ maxAttempts: maxAttemptsProvider,
41
54
  retryStrategy: () => (controller ??= getDefault()),
42
55
  });
43
56
  };
@@ -42,9 +42,6 @@ export function bindRetryMiddleware(isStreamingPayload) {
42
42
  retryToken = await retryStrategy.refreshRetryTokenForRetry(retryToken, retryErrorInfo);
43
43
  }
44
44
  catch (refreshError) {
45
- if (typeof refreshError.$backoff === "number") {
46
- await cooldown(refreshError.$backoff);
47
- }
48
45
  if (!lastError.$metadata) {
49
46
  lastError.$metadata = {};
50
47
  }
@@ -54,8 +51,10 @@ export function bindRetryMiddleware(isStreamingPayload) {
54
51
  }
55
52
  attempts = retryToken.getRetryCount();
56
53
  const delay = retryToken.getRetryDelay();
57
- totalRetryDelay += delay;
58
- await cooldown(delay);
54
+ totalRetryDelay += (retryToken?.$retryLog?.acquisitionDelay ?? 0) + delay;
55
+ if (delay > 0) {
56
+ await cooldown(delay);
57
+ }
59
58
  }
60
59
  }
61
60
  }
@@ -25,4 +25,4 @@ export const THROTTLING_ERROR_CODES = [
25
25
  export const TRANSIENT_ERROR_CODES = ["TimeoutError", "RequestTimeout", "RequestTimeoutException"];
26
26
  export const TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504];
27
27
  export const NODEJS_TIMEOUT_ERROR_CODES = ["ECONNRESET", "ECONNREFUSED", "EPIPE", "ETIMEDOUT"];
28
- export const NODEJS_NETWORK_ERROR_CODES = ["EHOSTUNREACH", "ENETUNREACH", "ENOTFOUND"];
28
+ export const NODEJS_NETWORK_ERROR_CODES = ["EHOSTUNREACH", "ENETUNREACH", "ENOTFOUND", "EAI_AGAIN"];
@@ -10,10 +10,9 @@ export class ConfiguredRetryStrategy extends StandardRetryStrategy {
10
10
  else {
11
11
  this.computeNextBackoffDelay = computeNextBackoffDelay;
12
12
  }
13
- }
14
- async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {
15
- const token = await super.refreshRetryTokenForRetry(tokenToRenew, errorInfo);
16
- token.getRetryDelay = () => this.computeNextBackoffDelay(token.getRetryCount());
17
- return token;
13
+ this.retryBackoffStrategy.computeNextBackoffDelay = (completedAttempt) => {
14
+ const nextAttempt = completedAttempt + 1;
15
+ return this.computeNextBackoffDelay(nextAttempt);
16
+ };
18
17
  }
19
18
  }
@@ -4,6 +4,9 @@ export class DefaultRetryToken {
4
4
  count;
5
5
  cost;
6
6
  longPoll;
7
+ $retryLog = {
8
+ acquisitionDelay: 0,
9
+ };
7
10
  constructor(delay, count, cost, longPoll) {
8
11
  this.delay = delay;
9
12
  this.count = count;
@@ -10,8 +10,8 @@ const refusal = {
10
10
  };
11
11
  export class StandardRetryStrategy {
12
12
  mode = RETRY_MODES.STANDARD;
13
- capacity = INITIAL_RETRY_TOKENS;
14
13
  retryBackoffStrategy;
14
+ capacity = INITIAL_RETRY_TOKENS;
15
15
  maxAttemptsProvider;
16
16
  baseDelay;
17
17
  constructor(arg1) {
@@ -47,14 +47,18 @@ export class StandardRetryStrategy {
47
47
  retryDelay = Math.max(delayFromErrorType, Math.min(errorInfo.retryAfterHint.getTime() - Date.now(), delayFromErrorType + 5_000));
48
48
  }
49
49
  if (!shouldRetry) {
50
- throw Object.assign(new Error("No retry token available"), {
51
- $backoff: Retry.v2026 && retryCode === refusal.capacity && isLongPoll ? retryDelay : 0,
52
- });
50
+ const longPollBackoff = Retry.v2026 && retryCode === refusal.capacity && isLongPoll ? retryDelay : 0;
51
+ if (longPollBackoff > 0) {
52
+ await new Promise((r) => setTimeout(r, longPollBackoff));
53
+ }
53
54
  }
54
55
  else {
55
56
  const capacityCost = this.getCapacityCost(errorType);
56
57
  this.capacity -= capacityCost;
57
- return new DefaultRetryToken(retryDelay, token.getRetryCount() + 1, capacityCost, token.isLongPoll?.() ?? false);
58
+ const nextToken = new DefaultRetryToken(0, token.getRetryCount() + 1, capacityCost, token.isLongPoll?.() ?? false);
59
+ await new Promise((r) => setTimeout(r, retryDelay));
60
+ nextToken.$retryLog.acquisitionDelay = retryDelay;
61
+ return nextToken;
58
62
  }
59
63
  }
60
64
  throw new Error("No retry token available");
@@ -1,5 +1,4 @@
1
- import { getSmithyContext } from "@smithy/core/client";
2
- import { HttpResponse } from "@smithy/core/protocols";
1
+ import { HttpResponse, getSmithyContext } from "@smithy/core/transport";
3
2
  import { operation } from "../schemas/operation";
4
3
  export const schemaDeserializationMiddleware = (config) => (next, context) => async (args) => {
5
4
  const { response } = await next(args);
@@ -42,10 +41,10 @@ export const schemaDeserializationMiddleware = (config) => (next, context) => as
42
41
  }
43
42
  try {
44
43
  if (HttpResponse.isInstance(response)) {
45
- const { headers = {} } = response;
44
+ const { headers = {}, statusCode } = response;
46
45
  const headerEntries = Object.entries(headers);
47
46
  error.$metadata = {
48
- httpStatusCode: response.statusCode,
47
+ httpStatusCode: statusCode,
49
48
  requestId: findHeader(/^x-[\w-]+-request-?id$/, headerEntries),
50
49
  extendedRequestId: findHeader(/^x-[\w-]+-id-2$/, headerEntries),
51
50
  cfId: findHeader(/^x-[\w-]+-cf-id$/, headerEntries),
@@ -1,5 +1,4 @@
1
- import { getSmithyContext } from "@smithy/core/client";
2
- import { toEndpointV1 } from "@smithy/core/endpoints";
1
+ import { getSmithyContext, toEndpointV1 } from "@smithy/core/transport";
3
2
  import { operation } from "../schemas/operation";
4
3
  export const schemaSerializationMiddleware = (config) => (next, context) => async (args) => {
5
4
  const { operationSchema } = getSmithyContext(context);
@@ -1,4 +1,4 @@
1
- import { HttpResponse } from "@smithy/core/protocols";
1
+ import { HttpResponse } from "@smithy/core/transport";
2
2
  export const deserializerMiddleware = (options, deserializer) => (next, context) => async (args) => {
3
3
  const { response } = await next(args);
4
4
  try {
@@ -0,0 +1,9 @@
1
+ export { getSmithyContext } from "./getSmithyContext";
2
+ export { HttpRequest } from "./httpRequest";
3
+ export { HttpResponse } from "./httpResponse";
4
+ export { isValidHostLabel } from "./isValidHostLabel";
5
+ export { isValidHostname } from "./isValidHostname";
6
+ export { normalizeProvider } from "./normalizeProvider";
7
+ export { parseQueryString } from "./parseQueryString";
8
+ export { parseUrl } from "./parseUrl";
9
+ export { toEndpointV1 } from "./toEndpointV1";
@@ -1,4 +1,4 @@
1
- import { parseQueryString } from "../querystring-parser/parseQueryString";
1
+ import { parseQueryString } from "./parseQueryString";
2
2
  export const parseUrl = (url) => {
3
3
  if (typeof url === "string") {
4
4
  return parseUrl(new URL(url));
@@ -1,4 +1,4 @@
1
- import { parseUrl } from "@smithy/core/protocols";
1
+ import { parseUrl } from "./parseUrl";
2
2
  export const toEndpointV1 = (endpoint) => {
3
3
  if (typeof endpoint === "object") {
4
4
  if ("url" in endpoint) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/core",
3
- "version": "3.24.4",
3
+ "version": "3.24.6",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:types' 'yarn:build:es:cjs'",
6
6
  "build:es:cjs": "yarn g:tsc -p tsconfig.es.json && node ../../scripts/inline core",
@@ -151,6 +151,13 @@
151
151
  "node": "./dist-cjs/submodules/retry/index.js",
152
152
  "import": "./dist-es/submodules/retry/index.js",
153
153
  "require": "./dist-cjs/submodules/retry/index.js"
154
+ },
155
+ "./transport": {
156
+ "types": "./dist-types/submodules/transport/index.d.ts",
157
+ "module": "./dist-es/submodules/transport/index.js",
158
+ "node": "./dist-cjs/submodules/transport/index.js",
159
+ "import": "./dist-es/submodules/transport/index.js",
160
+ "require": "./dist-cjs/submodules/transport/index.js"
154
161
  }
155
162
  },
156
163
  "author": {
@@ -162,7 +169,7 @@
162
169
  "sideEffects": false,
163
170
  "dependencies": {
164
171
  "@aws-crypto/crc32": "5.2.0",
165
- "@smithy/types": "^4.14.2",
172
+ "@smithy/types": "^4.14.3",
166
173
  "tslib": "^2.6.2"
167
174
  },
168
175
  "engines": {
@@ -178,25 +185,27 @@
178
185
  "files": [
179
186
  "./cbor.d.ts",
180
187
  "./cbor.js",
188
+ "./checksum.d.ts",
189
+ "./checksum.js",
190
+ "./client.d.ts",
191
+ "./client.js",
192
+ "./config.d.ts",
193
+ "./config.js",
181
194
  "./endpoints.d.ts",
182
195
  "./endpoints.js",
183
196
  "./event-streams.d.ts",
184
197
  "./event-streams.js",
185
198
  "./protocols.d.ts",
186
199
  "./protocols.js",
200
+ "./retry.d.ts",
201
+ "./retry.js",
187
202
  "./schema.d.ts",
188
203
  "./schema.js",
189
204
  "./serde.d.ts",
190
205
  "./serde.js",
191
- "dist-*/**",
192
- "./client.d.ts",
193
- "./client.js",
194
- "./config.d.ts",
195
- "./config.js",
196
- "./checksum.d.ts",
197
- "./checksum.js",
198
- "./retry.d.ts",
199
- "./retry.js"
206
+ "./transport.d.ts",
207
+ "./transport.js",
208
+ "dist-*/**"
200
209
  ],
201
210
  "homepage": "https://github.com/smithy-lang/smithy-typescript/tree/main/packages/core",
202
211
  "repository": {
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Do not edit:
3
+ * This is a compatibility redirect for contexts that do not understand package.json exports field.
4
+ */
5
+ module.exports = require("./dist-cjs/submodules/transport/index.js");