@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,5 @@
1
1
  'use strict';
2
2
 
3
- var node_url = require('node:url');
4
3
  var config = require('@smithy/core/config');
5
4
  var node_http = require('node:http');
6
5
  var protocols = require('@smithy/core/protocols');
@@ -95,14 +94,8 @@ const requestFromEcsImds = async (timeout, options) => {
95
94
  return buffer.toString();
96
95
  };
97
96
  const CMDS_IP = "169.254.170.2";
98
- const GREENGRASS_HOSTS = {
99
- localhost: true,
100
- "127.0.0.1": true,
101
- };
102
- const GREENGRASS_PROTOCOLS = {
103
- "http:": true,
104
- "https:": true,
105
- };
97
+ const GREENGRASS_HOSTS = new Set(["localhost", "127.0.0.1"]);
98
+ const GREENGRASS_PROTOCOLS = new Set(["http:", "https:"]);
106
99
  const getCmdsUri = async ({ logger }) => {
107
100
  if (process.env[ENV_CMDS_RELATIVE_URI]) {
108
101
  return {
@@ -111,21 +104,29 @@ const getCmdsUri = async ({ logger }) => {
111
104
  };
112
105
  }
113
106
  if (process.env[ENV_CMDS_FULL_URI]) {
114
- const parsed = node_url.parse(process.env[ENV_CMDS_FULL_URI]);
115
- if (!parsed.hostname || !(parsed.hostname in GREENGRASS_HOSTS)) {
107
+ let parsed;
108
+ try {
109
+ parsed = new URL(process.env[ENV_CMDS_FULL_URI]);
110
+ }
111
+ catch {
112
+ throw new config.CredentialsProviderError(`${process.env[ENV_CMDS_FULL_URI]} is not a valid container metadata service URL`, { tryNextLink: false, logger });
113
+ }
114
+ if (!parsed.hostname || !GREENGRASS_HOSTS.has(parsed.hostname)) {
116
115
  throw new config.CredentialsProviderError(`${parsed.hostname} is not a valid container metadata service hostname`, {
117
116
  tryNextLink: false,
118
117
  logger,
119
118
  });
120
119
  }
121
- if (!parsed.protocol || !(parsed.protocol in GREENGRASS_PROTOCOLS)) {
120
+ if (!parsed.protocol || !GREENGRASS_PROTOCOLS.has(parsed.protocol)) {
122
121
  throw new config.CredentialsProviderError(`${parsed.protocol} is not a valid container metadata service protocol`, {
123
122
  tryNextLink: false,
124
123
  logger,
125
124
  });
126
125
  }
127
126
  return {
128
- ...parsed,
127
+ protocol: parsed.protocol,
128
+ hostname: parsed.hostname,
129
+ path: parsed.pathname + parsed.search,
129
130
  port: parsed.port ? parseInt(parsed.port, 10) : undefined,
130
131
  };
131
132
  }
@@ -1,4 +1,3 @@
1
- import { parse } from "node:url";
2
1
  import { CredentialsProviderError } from "@smithy/core/config";
3
2
  import { fromImdsCredentials, isImdsCredentials } from "./remoteProvider/ImdsCredentials";
4
3
  import { providerConfigFromInit } from "./remoteProvider/RemoteProviderInit";
@@ -34,14 +33,8 @@ const requestFromEcsImds = async (timeout, options) => {
34
33
  return buffer.toString();
35
34
  };
36
35
  const CMDS_IP = "169.254.170.2";
37
- const GREENGRASS_HOSTS = {
38
- localhost: true,
39
- "127.0.0.1": true,
40
- };
41
- const GREENGRASS_PROTOCOLS = {
42
- "http:": true,
43
- "https:": true,
44
- };
36
+ const GREENGRASS_HOSTS = new Set(["localhost", "127.0.0.1"]);
37
+ const GREENGRASS_PROTOCOLS = new Set(["http:", "https:"]);
45
38
  const getCmdsUri = async ({ logger }) => {
46
39
  if (process.env[ENV_CMDS_RELATIVE_URI]) {
47
40
  return {
@@ -50,21 +43,29 @@ const getCmdsUri = async ({ logger }) => {
50
43
  };
51
44
  }
52
45
  if (process.env[ENV_CMDS_FULL_URI]) {
53
- const parsed = parse(process.env[ENV_CMDS_FULL_URI]);
54
- if (!parsed.hostname || !(parsed.hostname in GREENGRASS_HOSTS)) {
46
+ let parsed;
47
+ try {
48
+ parsed = new URL(process.env[ENV_CMDS_FULL_URI]);
49
+ }
50
+ catch {
51
+ throw new CredentialsProviderError(`${process.env[ENV_CMDS_FULL_URI]} is not a valid container metadata service URL`, { tryNextLink: false, logger });
52
+ }
53
+ if (!parsed.hostname || !GREENGRASS_HOSTS.has(parsed.hostname)) {
55
54
  throw new CredentialsProviderError(`${parsed.hostname} is not a valid container metadata service hostname`, {
56
55
  tryNextLink: false,
57
56
  logger,
58
57
  });
59
58
  }
60
- if (!parsed.protocol || !(parsed.protocol in GREENGRASS_PROTOCOLS)) {
59
+ if (!parsed.protocol || !GREENGRASS_PROTOCOLS.has(parsed.protocol)) {
61
60
  throw new CredentialsProviderError(`${parsed.protocol} is not a valid container metadata service protocol`, {
62
61
  tryNextLink: false,
63
62
  logger,
64
63
  });
65
64
  }
66
65
  return {
67
- ...parsed,
66
+ protocol: parsed.protocol,
67
+ hostname: parsed.hostname,
68
+ path: parsed.pathname + parsed.search,
68
69
  port: parsed.port ? parseInt(parsed.port, 10) : undefined,
69
70
  };
70
71
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/credential-provider-imds",
3
- "version": "4.3.4",
3
+ "version": "4.3.7",
4
4
  "description": "AWS credential provider that sources credentials from the EC2 instance metadata service and ECS container metadata service",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -27,8 +27,8 @@
27
27
  "license": "Apache-2.0",
28
28
  "sideEffects": false,
29
29
  "dependencies": {
30
- "@smithy/core": "^3.24.4",
31
- "@smithy/types": "^4.14.2",
30
+ "@smithy/core": "^3.24.6",
31
+ "@smithy/types": "^4.14.3",
32
32
  "tslib": "^2.6.2"
33
33
  },
34
34
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/fetch-http-handler",
3
- "version": "5.4.4",
3
+ "version": "5.4.6",
4
4
  "description": "Provides a way to make requests",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:types' 'yarn:build:es:cjs'",
@@ -27,12 +27,12 @@
27
27
  "module": "./dist-es/index.js",
28
28
  "types": "./dist-types/index.d.ts",
29
29
  "dependencies": {
30
- "@smithy/core": "^3.24.4",
31
- "@smithy/types": "^4.14.2",
30
+ "@smithy/core": "^3.24.6",
31
+ "@smithy/types": "^4.14.3",
32
32
  "tslib": "^2.6.2"
33
33
  },
34
34
  "devDependencies": {
35
- "@smithy/abort-controller": "^4.2.15",
35
+ "@smithy/abort-controller": "^4.2.16",
36
36
  "concurrently": "7.0.0",
37
37
  "downlevel-dts": "0.10.1",
38
38
  "premove": "4.0.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/node-http-handler",
3
- "version": "4.7.4",
3
+ "version": "4.7.6",
4
4
  "description": "Provides a way to make requests",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:types' 'yarn:build:es:cjs'",
@@ -26,12 +26,12 @@
26
26
  "module": "./dist-es/index.js",
27
27
  "types": "./dist-types/index.d.ts",
28
28
  "dependencies": {
29
- "@smithy/core": "^3.24.4",
30
- "@smithy/types": "^4.14.2",
29
+ "@smithy/core": "^3.24.6",
30
+ "@smithy/types": "^4.14.3",
31
31
  "tslib": "^2.6.2"
32
32
  },
33
33
  "devDependencies": {
34
- "@smithy/abort-controller": "^4.2.15",
34
+ "@smithy/abort-controller": "^4.2.16",
35
35
  "@types/node": "^18.11.9",
36
36
  "concurrently": "7.0.0",
37
37
  "downlevel-dts": "0.10.1",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/signature-v4",
3
- "version": "5.4.4",
3
+ "version": "5.4.6",
4
4
  "description": "A standalone implementation of the AWS Signature V4 request signing algorithm",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -25,8 +25,8 @@
25
25
  "license": "Apache-2.0",
26
26
  "sideEffects": false,
27
27
  "dependencies": {
28
- "@smithy/core": "^3.24.4",
29
- "@smithy/types": "^4.14.2",
28
+ "@smithy/core": "^3.24.6",
29
+ "@smithy/types": "^4.14.3",
30
30
  "tslib": "^2.6.2"
31
31
  },
32
32
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/types",
3
- "version": "4.14.2",
3
+ "version": "4.14.3",
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 types",
@@ -8,29 +8,40 @@ class ParseError extends Error {
8
8
  const LF = 10, CR = 13, SPACE = 32;
9
9
  function noop(_arg) {
10
10
  }
11
- function createParser(callbacks) {
12
- if (typeof callbacks == "function")
11
+ function createParser(config) {
12
+ if (typeof config == "function")
13
13
  throw new TypeError(
14
- "`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?"
14
+ "`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?"
15
15
  );
16
- const { onEvent = noop, onError = noop, onRetry = noop, onComment } = callbacks, pendingFragments = [];
17
- let isFirstChunk = !0, id, data = "", dataLines = 0, eventType;
16
+ const { onEvent = noop, onError = noop, onRetry = noop, onComment, maxBufferSize } = config, pendingFragments = [];
17
+ let pendingFragmentsLength = 0, isFirstChunk = !0, id, data = "", dataLines = 0, eventType, terminated = !1;
18
18
  function feed(chunk) {
19
+ if (terminated)
20
+ throw new Error(
21
+ "Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing."
22
+ );
19
23
  if (isFirstChunk && (isFirstChunk = !1, chunk.charCodeAt(0) === 239 && chunk.charCodeAt(1) === 187 && chunk.charCodeAt(2) === 191 && (chunk = chunk.slice(3))), pendingFragments.length === 0) {
20
24
  const trailing2 = processLines(chunk);
21
- trailing2 !== "" && pendingFragments.push(trailing2);
25
+ trailing2 !== "" && (pendingFragments.push(trailing2), pendingFragmentsLength = trailing2.length), checkBufferSize();
22
26
  return;
23
27
  }
24
28
  if (chunk.indexOf(`
25
29
  `) === -1 && chunk.indexOf("\r") === -1) {
26
- pendingFragments.push(chunk);
30
+ pendingFragments.push(chunk), pendingFragmentsLength += chunk.length, checkBufferSize();
27
31
  return;
28
32
  }
29
33
  pendingFragments.push(chunk);
30
34
  const input = pendingFragments.join("");
31
- pendingFragments.length = 0;
35
+ pendingFragments.length = 0, pendingFragmentsLength = 0;
32
36
  const trailing = processLines(input);
33
- trailing !== "" && pendingFragments.push(trailing);
37
+ trailing !== "" && (pendingFragments.push(trailing), pendingFragmentsLength = trailing.length), checkBufferSize();
38
+ }
39
+ function checkBufferSize() {
40
+ maxBufferSize !== void 0 && (pendingFragmentsLength + data.length <= maxBufferSize || (terminated = !0, pendingFragments.length = 0, pendingFragmentsLength = 0, id = void 0, data = "", dataLines = 0, eventType = void 0, onError(
41
+ new ParseError(`Buffered data exceeded max buffer size of ${maxBufferSize} characters`, {
42
+ type: "max-buffer-size-exceeded"
43
+ })
44
+ )));
34
45
  }
35
46
  function processLines(chunk) {
36
47
  let searchIndex = 0;
@@ -151,7 +162,7 @@ ${value}`, dataLines++;
151
162
  const incompleteLine = pendingFragments.join("");
152
163
  parseLine(incompleteLine, 0, incompleteLine.length);
153
164
  }
154
- isFirstChunk = !0, id = void 0, data = "", dataLines = 0, eventType = void 0, pendingFragments.length = 0;
165
+ isFirstChunk = !0, id = void 0, data = "", dataLines = 0, eventType = void 0, pendingFragments.length = 0, pendingFragmentsLength = 0, terminated = !1;
155
166
  }
156
167
  return { feed, reset };
157
168
  }
@@ -1,24 +1,22 @@
1
1
  /**
2
2
  * Creates a new EventSource parser.
3
3
  *
4
- * @param callbacks - Callbacks to invoke on different parsing events:
5
- * - `onEvent` when a new event is parsed
6
- * - `onError` when an error occurs
7
- * - `onRetry` when a new reconnection interval has been sent from the server
8
- * - `onComment` when a comment is encountered in the stream
4
+ * @param config - Parser configuration. Accepts callbacks (see {@link ParserCallbacks})
5
+ * and options like `maxBufferSize` (see {@link ParserConfig}).
9
6
  *
10
- * @returns A new EventSource parser, with `parse` and `reset` methods.
7
+ * @returns A new EventSource parser, with `feed` and `reset` methods.
11
8
  * @public
12
9
  */
13
- export declare function createParser(
14
- callbacks: ParserCallbacks,
15
- ): EventSourceParser;
10
+ export declare function createParser(config: ParserConfig): EventSourceParser;
16
11
 
17
12
  /**
18
13
  * The type of error that occurred.
19
14
  * @public
20
15
  */
21
- export declare type ErrorType = "invalid-retry" | "unknown-field";
16
+ export declare type ErrorType =
17
+ | "invalid-retry"
18
+ | "unknown-field"
19
+ | "max-buffer-size-exceeded";
22
20
 
23
21
  /**
24
22
  * A parsed EventSource message event
@@ -143,4 +141,29 @@ export declare interface ParserCallbacks {
143
141
  onError?: ((error: ParseError) => void) | undefined;
144
142
  }
145
143
 
144
+ /**
145
+ * Configuration accepted by {@link createParser}. Extends {@link ParserCallbacks} with
146
+ * additional options that control parser behavior.
147
+ *
148
+ * @public
149
+ */
150
+ export declare interface ParserConfig extends ParserCallbacks {
151
+ /**
152
+ * Maximum number of characters the parser is allowed to buffer across calls to `feed()`.
153
+ *
154
+ * Two unbounded surfaces exist in a streaming SSE parser:
155
+ * - A partial line that has not yet been terminated by `\n`, `\r`, or `\r\n`.
156
+ * - A multi-line event whose terminating blank line has not yet arrived (each `data:`
157
+ * field gets appended to the buffered event).
158
+ *
159
+ * When the combined size of these buffers exceeds `maxBufferSize`, the parser emits a
160
+ * `ParseError` with `type: 'max-buffer-size-exceeded'` to `onError` and becomes
161
+ * terminated — subsequent calls to `feed()` will throw until `reset()` is called.
162
+ * This protects against unbounded memory growth from malformed or malicious streams.
163
+ *
164
+ * @defaultValue `undefined` (unbounded)
165
+ */
166
+ maxBufferSize?: number | undefined;
167
+ }
168
+
146
169
  export {};
@@ -6,29 +6,40 @@ class ParseError extends Error {
6
6
  const LF = 10, CR = 13, SPACE = 32;
7
7
  function noop(_arg) {
8
8
  }
9
- function createParser(callbacks) {
10
- if (typeof callbacks == "function")
9
+ function createParser(config) {
10
+ if (typeof config == "function")
11
11
  throw new TypeError(
12
- "`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?"
12
+ "`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?"
13
13
  );
14
- const { onEvent = noop, onError = noop, onRetry = noop, onComment } = callbacks, pendingFragments = [];
15
- let isFirstChunk = !0, id, data = "", dataLines = 0, eventType;
14
+ const { onEvent = noop, onError = noop, onRetry = noop, onComment, maxBufferSize } = config, pendingFragments = [];
15
+ let pendingFragmentsLength = 0, isFirstChunk = !0, id, data = "", dataLines = 0, eventType, terminated = !1;
16
16
  function feed(chunk) {
17
+ if (terminated)
18
+ throw new Error(
19
+ "Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing."
20
+ );
17
21
  if (isFirstChunk && (isFirstChunk = !1, chunk.charCodeAt(0) === 239 && chunk.charCodeAt(1) === 187 && chunk.charCodeAt(2) === 191 && (chunk = chunk.slice(3))), pendingFragments.length === 0) {
18
22
  const trailing2 = processLines(chunk);
19
- trailing2 !== "" && pendingFragments.push(trailing2);
23
+ trailing2 !== "" && (pendingFragments.push(trailing2), pendingFragmentsLength = trailing2.length), checkBufferSize();
20
24
  return;
21
25
  }
22
26
  if (chunk.indexOf(`
23
27
  `) === -1 && chunk.indexOf("\r") === -1) {
24
- pendingFragments.push(chunk);
28
+ pendingFragments.push(chunk), pendingFragmentsLength += chunk.length, checkBufferSize();
25
29
  return;
26
30
  }
27
31
  pendingFragments.push(chunk);
28
32
  const input = pendingFragments.join("");
29
- pendingFragments.length = 0;
33
+ pendingFragments.length = 0, pendingFragmentsLength = 0;
30
34
  const trailing = processLines(input);
31
- trailing !== "" && pendingFragments.push(trailing);
35
+ trailing !== "" && (pendingFragments.push(trailing), pendingFragmentsLength = trailing.length), checkBufferSize();
36
+ }
37
+ function checkBufferSize() {
38
+ maxBufferSize !== void 0 && (pendingFragmentsLength + data.length <= maxBufferSize || (terminated = !0, pendingFragments.length = 0, pendingFragmentsLength = 0, id = void 0, data = "", dataLines = 0, eventType = void 0, onError(
39
+ new ParseError(`Buffered data exceeded max buffer size of ${maxBufferSize} characters`, {
40
+ type: "max-buffer-size-exceeded"
41
+ })
42
+ )));
32
43
  }
33
44
  function processLines(chunk) {
34
45
  let searchIndex = 0;
@@ -149,7 +160,7 @@ ${value}`, dataLines++;
149
160
  const incompleteLine = pendingFragments.join("");
150
161
  parseLine(incompleteLine, 0, incompleteLine.length);
151
162
  }
152
- isFirstChunk = !0, id = void 0, data = "", dataLines = 0, eventType = void 0, pendingFragments.length = 0;
163
+ isFirstChunk = !0, id = void 0, data = "", dataLines = 0, eventType = void 0, pendingFragments.length = 0, pendingFragmentsLength = 0, terminated = !1;
153
164
  }
154
165
  return { feed, reset };
155
166
  }
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: !0 });
3
3
  var index = require("./index.cjs");
4
4
  class EventSourceParserStream extends TransformStream {
5
- constructor({ onError, onRetry, onComment } = {}) {
5
+ constructor({ onError, onRetry, onComment, maxBufferSize } = {}) {
6
6
  let parser;
7
7
  super({
8
8
  start(controller) {
@@ -11,10 +11,11 @@ class EventSourceParserStream extends TransformStream {
11
11
  controller.enqueue(event);
12
12
  },
13
13
  onError(error) {
14
- onError === "terminate" ? controller.error(error) : typeof onError == "function" && onError(error);
14
+ typeof onError == "function" && onError(error), (onError === "terminate" || error.type === "max-buffer-size-exceeded") && controller.error(error);
15
15
  },
16
16
  onRetry,
17
- onComment
17
+ onComment,
18
+ maxBufferSize
18
19
  });
19
20
  },
20
21
  transform(chunk) {
@@ -2,7 +2,10 @@
2
2
  * The type of error that occurred.
3
3
  * @public
4
4
  */
5
- export declare type ErrorType = "invalid-retry" | "unknown-field";
5
+ export declare type ErrorType =
6
+ | "invalid-retry"
7
+ | "unknown-field"
8
+ | "max-buffer-size-exceeded";
6
9
 
7
10
  /**
8
11
  * A parsed EventSource message event
@@ -43,7 +46,7 @@ export declare interface EventSourceMessage {
43
46
  * const eventStream =
44
47
  * response.body
45
48
  * .pipeThrough(new TextDecoderStream())
46
- * .pipeThrough(new EventSourceParserStream({terminateOnError: true}))
49
+ * .pipeThrough(new EventSourceParserStream({onError: 'terminate'}))
47
50
  * ```
48
51
  *
49
52
  * @public
@@ -52,7 +55,7 @@ export declare class EventSourceParserStream extends TransformStream<
52
55
  string,
53
56
  EventSourceMessage
54
57
  > {
55
- constructor({ onError, onRetry, onComment }?: StreamOptions);
58
+ constructor({ onError, onRetry, onComment, maxBufferSize }?: StreamOptions);
56
59
  }
57
60
 
58
61
  /**
@@ -116,6 +119,16 @@ export declare interface StreamOptions {
116
119
  * @param comment - The comment encountered in the stream.
117
120
  */
118
121
  onComment?: ((comment: string) => void) | undefined;
122
+ /**
123
+ * Maximum number of characters the parser is allowed to buffer across calls to `feed()`.
124
+ * See {@link ParserConfig.maxBufferSize} for details.
125
+ *
126
+ * When the limit is exceeded, the stream is always errored (regardless of the `onError`
127
+ * setting) since the underlying parser is unrecoverable without a `reset()`.
128
+ *
129
+ * @defaultValue `undefined` (unbounded)
130
+ */
131
+ maxBufferSize?: number | undefined;
119
132
  }
120
133
 
121
134
  export {};
@@ -1,7 +1,7 @@
1
1
  import { createParser } from "./index.js";
2
2
  import { ParseError } from "./index.js";
3
3
  class EventSourceParserStream extends TransformStream {
4
- constructor({ onError, onRetry, onComment } = {}) {
4
+ constructor({ onError, onRetry, onComment, maxBufferSize } = {}) {
5
5
  let parser;
6
6
  super({
7
7
  start(controller) {
@@ -10,10 +10,11 @@ class EventSourceParserStream extends TransformStream {
10
10
  controller.enqueue(event);
11
11
  },
12
12
  onError(error) {
13
- onError === "terminate" ? controller.error(error) : typeof onError == "function" && onError(error);
13
+ typeof onError == "function" && onError(error), (onError === "terminate" || error.type === "max-buffer-size-exceeded") && controller.error(error);
14
14
  },
15
15
  onRetry,
16
- onComment
16
+ onComment,
17
+ maxBufferSize
17
18
  });
18
19
  },
19
20
  transform(chunk) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eventsource-parser",
3
- "version": "3.0.8",
3
+ "version": "3.1.0",
4
4
  "description": "Streaming, source-agnostic EventSource/Server-Sent Events parser",
5
5
  "keywords": [
6
6
  "eventsource",
@@ -63,21 +63,21 @@
63
63
  "test:node": "vitest --reporter=verbose"
64
64
  },
65
65
  "devDependencies": {
66
- "@sanity/pkg-utils": "^10.4.15",
66
+ "@sanity/pkg-utils": "^10.4.18",
67
67
  "@sanity/semantic-release-preset": "^6.0.0",
68
68
  "@sanity/tsconfig": "^2.1.0",
69
69
  "@types/node": "^20.19.0",
70
- "eventsource-encoder": "^1.0.1",
71
- "knip": "^6.4.1",
70
+ "eventsource-encoder": "^1.0.2",
71
+ "knip": "^6.7.0",
72
72
  "mitata": "^1.0.34",
73
- "oxfmt": "^0.45.0",
74
- "oxlint": "^1.60.0",
73
+ "oxfmt": "^0.47.0",
74
+ "oxlint": "^1.62.0",
75
75
  "rimraf": "^6.1.3",
76
76
  "rollup-plugin-visualizer": "^6.0.3",
77
77
  "semantic-release": "^25.0.3",
78
- "terser": "^5.46.1",
78
+ "terser": "^5.46.2",
79
79
  "typescript": "^5.9.3",
80
- "vitest": "^4.1.4"
80
+ "vitest": "^4.1.5"
81
81
  },
82
82
  "browserslist": [
83
83
  "node >= 18",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hasown",
3
- "version": "2.0.3",
3
+ "version": "2.0.4",
4
4
  "description": "A robust, ES3 compatible, \"has own property\" predicate.",
5
5
  "main": "index.js",
6
6
  "exports": {
@@ -52,13 +52,12 @@
52
52
  },
53
53
  "devDependencies": {
54
54
  "@arethetypeswrong/cli": "^0.18.2",
55
- "@ljharb/eslint-config": "^22.2.2",
55
+ "@ljharb/eslint-config": "^22.2.3",
56
56
  "@ljharb/tsconfig": "^0.3.2",
57
57
  "@types/function-bind": "^1.1.10",
58
58
  "@types/tape": "^5.8.1",
59
- "auto-changelog": "^2.5.0",
60
- "encoding": "^0.1.13",
61
- "eslint": "^10.2.0",
59
+ "auto-changelog": "^2.5.1",
60
+ "eslint": "^10.4.0",
62
61
  "evalmd": "^0.0.19",
63
62
  "in-publish": "^2.0.1",
64
63
  "jiti": "^0.0.0",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "lru-cache",
3
3
  "description": "A cache object that deletes the least-recently-used items.",
4
- "version": "11.5.0",
4
+ "version": "11.5.1",
5
5
  "author": "Isaac Z. Schlueter <i@izs.me>",
6
6
  "keywords": [
7
7
  "mru",
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * protobuf.js v7.6.1 (c) 2016, daniel wirtz
3
- * compiled fri, 22 may 2026 02:52:08 utc
2
+ * protobuf.js v7.6.2 (c) 2016, daniel wirtz
3
+ * compiled sat, 30 may 2026 21:57:57 utc
4
4
  * licensed under the bsd-3-clause license
5
5
  * see: https://github.com/dcodeio/protobuf.js for details
6
6
  */
@@ -1207,7 +1207,7 @@ function genValuePartial_fromObject(gen, field, fieldIndex, prop) {
1207
1207
  } gen
1208
1208
  ("}");
1209
1209
  } else gen
1210
- ("if(typeof d%s!==\"object\")", prop)
1210
+ ("if(!util.isObject(d%s))", prop)
1211
1211
  ("throw TypeError(%j)", field.fullName + ": object expected")
1212
1212
  ("m%s=types[%i].fromObject(d%s,n+1)", prop, fieldIndex, prop);
1213
1213
  } else {
@@ -1274,6 +1274,8 @@ converter.fromObject = function fromObject(mtype) {
1274
1274
  var gen = util.codegen(["d", "n"], mtype.name + "$fromObject")
1275
1275
  ("if(d instanceof this.ctor)")
1276
1276
  ("return d")
1277
+ ("if(!util.isObject(d))")
1278
+ ("throw TypeError(%j)", mtype.fullName + ": object expected")
1277
1279
  ("if(n===undefined)n=0")
1278
1280
  ("if(n>util.recursionLimit)")
1279
1281
  ("throw Error(\"maximum nesting depth exceeded\")");
@@ -1288,7 +1290,7 @@ converter.fromObject = function fromObject(mtype) {
1288
1290
  // Map fields
1289
1291
  if (field.map) { gen
1290
1292
  ("if(d%s){", prop)
1291
- ("if(typeof d%s!==\"object\")", prop)
1293
+ ("if(!util.isObject(d%s))", prop)
1292
1294
  ("throw TypeError(%j)", field.fullName + ": object expected")
1293
1295
  ("m%s={}", prop)
1294
1296
  ("for(var ks=Object.keys(d%s),i=0;i<ks.length;++i){", prop);
@@ -5049,7 +5051,7 @@ Root._configure = function(Type_, parse_, common_) {
5049
5051
 
5050
5052
  },{"16":16,"17":17,"23":23,"25":25,"35":35}],29:[function(require,module,exports){
5051
5053
  "use strict";
5052
- module.exports = {};
5054
+ module.exports = Object.create(null);
5053
5055
 
5054
5056
  /**
5055
5057
  * Named roots.