@qqbrowser/openclaw-qbot 0.10.13 → 0.10.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build-info.json +3 -3
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/canvas-host/a2ui/a2ui.bundle.js +6 -6
- package/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/index.js +1 -0
- package/node_modules/@aws-sdk/client-bedrock-runtime/dist-es/models/enums.js +1 -0
- package/node_modules/@aws-sdk/client-bedrock-runtime/package.json +13 -13
- package/node_modules/@aws-sdk/core/package.json +6 -6
- package/node_modules/@aws-sdk/credential-provider-env/package.json +5 -5
- package/node_modules/@aws-sdk/credential-provider-http/package.json +7 -7
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +13 -13
- package/node_modules/@aws-sdk/credential-provider-login/package.json +6 -6
- package/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js +12 -1
- package/node_modules/@aws-sdk/credential-provider-node/dist-es/runtime/memoize-chain.js +12 -1
- package/node_modules/@aws-sdk/credential-provider-node/package.json +11 -11
- package/node_modules/@aws-sdk/credential-provider-process/package.json +5 -5
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +7 -7
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +6 -6
- package/node_modules/@aws-sdk/eventstream-handler-node/package.json +4 -4
- package/node_modules/@aws-sdk/middleware-eventstream/package.json +4 -4
- package/node_modules/@aws-sdk/middleware-websocket/package.json +7 -7
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/package.json +8 -8
- package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +4 -4
- package/node_modules/@aws-sdk/token-providers/package.json +6 -6
- package/node_modules/@aws-sdk/types/package.json +2 -2
- package/node_modules/@aws-sdk/xml-builder/package.json +2 -2
- package/node_modules/@clack/core/dist/index.mjs +7 -7
- package/node_modules/@clack/core/package.json +2 -1
- package/node_modules/@clack/prompts/dist/index.mjs +38 -38
- package/node_modules/@clack/prompts/package.json +2 -2
- package/node_modules/@nodable/entities/package.json +1 -1
- package/node_modules/@nodable/entities/src/EntityDecoder.js +1 -1
- package/node_modules/@nodable/entities/src/entities.js +0 -18
- package/node_modules/@slack/bolt/dist/App.js +8 -12
- package/node_modules/@slack/bolt/dist/context/index.js +7 -7
- package/node_modules/@slack/bolt/dist/index.js +16 -16
- package/node_modules/@slack/bolt/dist/receivers/AwsLambdaReceiver.js +2 -0
- package/node_modules/@slack/bolt/dist/receivers/ExpressReceiver.js +8 -1
- package/node_modules/@slack/bolt/dist/receivers/HTTPReceiver.js +4 -2
- package/node_modules/@slack/bolt/dist/receivers/SocketModeReceiver.js +1 -1
- package/node_modules/@slack/bolt/dist/receivers/verify-request.js +3 -0
- package/node_modules/@slack/bolt/dist/receivers/verify-signing-secret.js +12 -0
- package/node_modules/@slack/bolt/dist/types/actions/index.js +1 -1
- package/node_modules/@slack/bolt/dist/types/index.js +3 -3
- package/node_modules/@slack/bolt/package.json +4 -4
- package/node_modules/@smithy/core/dist-cjs/index.js +3 -4
- package/node_modules/@smithy/core/dist-cjs/submodules/client/index.js +3 -11
- package/node_modules/@smithy/core/dist-cjs/submodules/config/index.browser.js +2 -2
- package/node_modules/@smithy/core/dist-cjs/submodules/config/index.js +2 -2
- package/node_modules/@smithy/core/dist-cjs/submodules/config/index.native.js +2 -2
- package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.browser.js +9 -40
- package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.js +9 -40
- package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +12 -142
- package/node_modules/@smithy/core/dist-cjs/submodules/retry/index.browser.js +39 -22
- package/node_modules/@smithy/core/dist-cjs/submodules/retry/index.js +39 -22
- package/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js +7 -9
- package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.browser.js +2 -2
- package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +2 -2
- package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.native.js +2 -2
- package/node_modules/@smithy/core/dist-cjs/submodules/transport/index.js +184 -0
- package/node_modules/@smithy/core/dist-es/index.js +6 -6
- package/node_modules/@smithy/core/dist-es/submodules/client/index.js +2 -2
- package/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/checkRegion.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/endpoints/index.browser.js +2 -2
- package/node_modules/@smithy/core/dist-es/submodules/endpoints/index.js +2 -2
- package/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/toEndpointV1.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/resolveEndpointConfig.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/index.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpBindingProtocol.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +1 -2
- package/node_modules/@smithy/core/dist-es/submodules/protocols/RpcProtocol.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/protocols/index.js +5 -5
- package/node_modules/@smithy/core/dist-es/submodules/protocols/middleware-content-length/contentLengthMiddleware.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/protocols/requestBuilder.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/configurations.js +19 -6
- package/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retryMiddleware.js +4 -5
- package/node_modules/@smithy/core/dist-es/submodules/retry/service-error-classification/constants.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/ConfiguredRetryStrategy.js +4 -5
- package/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/DefaultRetryToken.js +3 -0
- package/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/StandardRetryStrategy.js +9 -5
- package/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaDeserializationMiddleware.js +3 -4
- package/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaSerializationMiddleware.js +1 -2
- package/node_modules/@smithy/core/dist-es/submodules/serde/middleware-serde/deserializerMiddleware.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/transport/index.js +9 -0
- package/node_modules/@smithy/core/dist-es/submodules/{protocols/url-parser → transport}/parseUrl.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/{endpoints → transport}/toEndpointV1.js +1 -1
- package/node_modules/@smithy/core/package.json +20 -11
- package/node_modules/@smithy/core/transport.js +5 -0
- package/node_modules/@smithy/credential-provider-imds/dist-cjs/index.js +14 -13
- package/node_modules/@smithy/credential-provider-imds/dist-es/fromContainerMetadata.js +14 -13
- package/node_modules/@smithy/credential-provider-imds/package.json +3 -3
- package/node_modules/@smithy/fetch-http-handler/package.json +4 -4
- package/node_modules/@smithy/node-http-handler/package.json +4 -4
- package/node_modules/@smithy/signature-v4/package.json +3 -3
- package/node_modules/@smithy/types/package.json +1 -1
- package/node_modules/eventsource-parser/dist/index.cjs +21 -10
- package/node_modules/eventsource-parser/dist/index.d.cts +33 -10
- package/node_modules/eventsource-parser/dist/index.js +21 -10
- package/node_modules/eventsource-parser/dist/stream.cjs +4 -3
- package/node_modules/eventsource-parser/dist/stream.d.cts +16 -3
- package/node_modules/eventsource-parser/dist/stream.js +4 -3
- package/node_modules/eventsource-parser/package.json +8 -8
- package/node_modules/hasown/package.json +4 -5
- package/node_modules/lru-cache/package.json +1 -1
- package/node_modules/protobufjs/dist/light/protobuf.js +7 -5
- package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
- package/node_modules/protobufjs/dist/minimal/protobuf.js +3 -3
- package/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
- package/node_modules/protobufjs/dist/protobuf.js +7 -5
- package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
- package/node_modules/protobufjs/package.json +1 -1
- package/node_modules/protobufjs/src/converter.js +4 -2
- package/node_modules/protobufjs/src/roots.js +1 -1
- package/node_modules/thread-stream/.claude/settings.local.json +15 -0
- package/node_modules/thread-stream/CLAUDE.md +64 -0
- package/node_modules/thread-stream/index.js +41 -13
- package/node_modules/thread-stream/lib/indexes.js +3 -1
- package/node_modules/thread-stream/lib/worker.js +20 -8
- package/node_modules/thread-stream/package.json +1 -1
- package/node_modules/undici/lib/global.js +10 -1
- package/node_modules/undici/package.json +1 -1
- package/package.json +1 -1
- package/skills/qqbrowser-playbook/SKILL.md +262 -234
- package/skills/qqbrowser-skill/SKILL.md +330 -234
- package/node_modules/@smithy/core/dist-cjs/getSmithyContext.js +0 -6
- package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.js +0 -21
- package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js +0 -21
- package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js +0 -46
- package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/index.js +0 -6
- package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/resolveAuthOptions.js +0 -24
- package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/getHttpSigningMiddleware.js +0 -19
- package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/httpSigningMiddleware.js +0 -27
- package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/index.js +0 -5
- package/node_modules/@smithy/core/dist-cjs/normalizeProvider.js +0 -10
- package/node_modules/@smithy/core/dist-cjs/pagination/createPaginator.js +0 -44
- package/node_modules/@smithy/core/dist-cjs/request-builder/requestBuilder.js +0 -5
- package/node_modules/@smithy/core/dist-cjs/setFeature.js +0 -14
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/DefaultIdentityProviderConfig.js +0 -18
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/httpApiKeyAuth.js +0 -38
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/httpBearerAuth.js +0 -15
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/index.js +0 -6
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/noAuth.js +0 -9
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/index.js +0 -6
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/memoizeIdentityProvider.js +0 -61
- package/node_modules/@smithy/core/dist-es/request-builder/requestBuilder.js +0 -1
- package/node_modules/@smithy/core/dist-es/submodules/client/util-middleware/getSmithyContext.js +0 -2
- package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/TestVectors.fixture.js +0 -146
- package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/vectorTypes.fixture.js +0 -1
- package/node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/index.js +0 -2
- package/node_modules/@smithy/node-http-handler/dist-es/readable.mock.js +0 -21
- package/node_modules/@smithy/node-http-handler/dist-es/server.mock.js +0 -88
- package/node_modules/@smithy/node-http-handler/dist-es/stream-collector/readable.mock.js +0 -21
- package/node_modules/@smithy/signature-v4/dist-es/suite.fixture.js +0 -399
- /package/node_modules/@smithy/core/dist-es/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/getHttpAuthSchemeEndpointRuleSetPlugin.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/getHttpAuthSchemePlugin.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/httpAuthSchemeMiddleware.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/index.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{middleware-http-auth-scheme → legacy-root-exports/middleware-http-auth-scheme}/resolveAuthOptions.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{middleware-http-signing → legacy-root-exports/middleware-http-signing}/getHttpSigningMiddleware.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{middleware-http-signing → legacy-root-exports/middleware-http-signing}/httpSigningMiddleware.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{middleware-http-signing → legacy-root-exports/middleware-http-signing}/index.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{pagination → legacy-root-exports/pagination}/createPaginator.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/DefaultIdentityProviderConfig.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/httpAuthSchemes/httpApiKeyAuth.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/httpAuthSchemes/httpBearerAuth.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/httpAuthSchemes/index.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/httpAuthSchemes/noAuth.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/index.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{util-identity-and-auth → legacy-root-exports/util-identity-and-auth}/memoizeIdentityProvider.js +0 -0
- /package/node_modules/@smithy/core/dist-es/{getSmithyContext.js → submodules/transport/getSmithyContext.js} +0 -0
- /package/node_modules/@smithy/core/dist-es/submodules/{protocols/protocol-http → transport}/httpRequest.js +0 -0
- /package/node_modules/@smithy/core/dist-es/submodules/{protocols/protocol-http → transport}/httpResponse.js +0 -0
- /package/node_modules/@smithy/core/dist-es/submodules/{endpoints/util-endpoints/lib → transport}/isValidHostLabel.js +0 -0
- /package/node_modules/@smithy/core/dist-es/submodules/{protocols/protocol-http → transport}/isValidHostname.js +0 -0
- /package/node_modules/@smithy/core/dist-es/submodules/{client/util-middleware → transport}/normalizeProvider.js +0 -0
- /package/node_modules/@smithy/core/dist-es/submodules/{protocols/querystring-parser → transport}/parseQueryString.js +0 -0
|
@@ -8,7 +8,8 @@ const { pathToFileURL } = require('url')
|
|
|
8
8
|
const { wait } = require('./lib/wait')
|
|
9
9
|
const {
|
|
10
10
|
WRITE_INDEX,
|
|
11
|
-
READ_INDEX
|
|
11
|
+
READ_INDEX,
|
|
12
|
+
SEQ_INDEX
|
|
12
13
|
} = require('./lib/indexes')
|
|
13
14
|
const buffer = require('buffer')
|
|
14
15
|
const assert = require('assert')
|
|
@@ -18,6 +19,13 @@ const kImpl = Symbol('kImpl')
|
|
|
18
19
|
// V8 limit for string size
|
|
19
20
|
const MAX_STRING = buffer.constants.MAX_STRING_LENGTH
|
|
20
21
|
|
|
22
|
+
function updateState (stream, fn) {
|
|
23
|
+
Atomics.add(stream[kImpl].state, SEQ_INDEX, 1)
|
|
24
|
+
fn()
|
|
25
|
+
Atomics.add(stream[kImpl].state, SEQ_INDEX, 1)
|
|
26
|
+
Atomics.notify(stream[kImpl].state, SEQ_INDEX)
|
|
27
|
+
}
|
|
28
|
+
|
|
21
29
|
class FakeWeakRef {
|
|
22
30
|
constructor (value) {
|
|
23
31
|
this._value = value
|
|
@@ -120,8 +128,11 @@ function nextFlush (stream) {
|
|
|
120
128
|
return
|
|
121
129
|
}
|
|
122
130
|
|
|
123
|
-
|
|
124
|
-
|
|
131
|
+
updateState(stream, () => {
|
|
132
|
+
Atomics.store(stream[kImpl].state, READ_INDEX, 0)
|
|
133
|
+
Atomics.store(stream[kImpl].state, WRITE_INDEX, 0)
|
|
134
|
+
})
|
|
135
|
+
Atomics.notify(stream[kImpl].state, READ_INDEX)
|
|
125
136
|
|
|
126
137
|
// Find a toWrite length that fits the buffer
|
|
127
138
|
// it must exists as the buffer is at least 4 bytes length
|
|
@@ -141,8 +152,11 @@ function nextFlush (stream) {
|
|
|
141
152
|
return
|
|
142
153
|
}
|
|
143
154
|
stream.flush(() => {
|
|
144
|
-
|
|
145
|
-
|
|
155
|
+
updateState(stream, () => {
|
|
156
|
+
Atomics.store(stream[kImpl].state, READ_INDEX, 0)
|
|
157
|
+
Atomics.store(stream[kImpl].state, WRITE_INDEX, 0)
|
|
158
|
+
})
|
|
159
|
+
Atomics.notify(stream[kImpl].state, READ_INDEX)
|
|
146
160
|
nextFlush(stream)
|
|
147
161
|
})
|
|
148
162
|
} else {
|
|
@@ -160,6 +174,12 @@ function onWorkerMessage (msg) {
|
|
|
160
174
|
return
|
|
161
175
|
}
|
|
162
176
|
|
|
177
|
+
// Node.js watch mode may send internal worker messages that do not
|
|
178
|
+
// participate in thread-stream's worker protocol.
|
|
179
|
+
if (msg?.code == null) {
|
|
180
|
+
return
|
|
181
|
+
}
|
|
182
|
+
|
|
163
183
|
switch (msg.code) {
|
|
164
184
|
case 'READY':
|
|
165
185
|
// Replace the FakeWeakRef with a
|
|
@@ -401,8 +421,9 @@ function write (stream, data, cb) {
|
|
|
401
421
|
const current = Atomics.load(stream[kImpl].state, WRITE_INDEX)
|
|
402
422
|
const length = Buffer.byteLength(data)
|
|
403
423
|
stream[kImpl].data.write(data, current)
|
|
404
|
-
|
|
405
|
-
|
|
424
|
+
updateState(stream, () => {
|
|
425
|
+
Atomics.store(stream[kImpl].state, WRITE_INDEX, current + length)
|
|
426
|
+
})
|
|
406
427
|
cb()
|
|
407
428
|
return true
|
|
408
429
|
}
|
|
@@ -419,9 +440,10 @@ function end (stream) {
|
|
|
419
440
|
let readIndex = Atomics.load(stream[kImpl].state, READ_INDEX)
|
|
420
441
|
|
|
421
442
|
// process._rawDebug('writing index')
|
|
422
|
-
|
|
443
|
+
updateState(stream, () => {
|
|
444
|
+
Atomics.store(stream[kImpl].state, WRITE_INDEX, -1)
|
|
445
|
+
})
|
|
423
446
|
// process._rawDebug(`(end) readIndex (${Atomics.load(stream.state, READ_INDEX)}) writeIndex (${Atomics.load(stream.state, WRITE_INDEX)})`)
|
|
424
|
-
Atomics.notify(stream[kImpl].state, WRITE_INDEX)
|
|
425
447
|
|
|
426
448
|
// Wait for the process to complete
|
|
427
449
|
let spins = 0
|
|
@@ -466,8 +488,11 @@ function writeSync (stream) {
|
|
|
466
488
|
let leftover = stream[kImpl].data.length - writeIndex
|
|
467
489
|
if (leftover === 0) {
|
|
468
490
|
flushSync(stream)
|
|
469
|
-
|
|
470
|
-
|
|
491
|
+
updateState(stream, () => {
|
|
492
|
+
Atomics.store(stream[kImpl].state, READ_INDEX, 0)
|
|
493
|
+
Atomics.store(stream[kImpl].state, WRITE_INDEX, 0)
|
|
494
|
+
})
|
|
495
|
+
Atomics.notify(stream[kImpl].state, READ_INDEX)
|
|
471
496
|
continue
|
|
472
497
|
} else if (leftover < 0) {
|
|
473
498
|
// stream should never happen
|
|
@@ -483,8 +508,11 @@ function writeSync (stream) {
|
|
|
483
508
|
} else {
|
|
484
509
|
// multi-byte utf-8
|
|
485
510
|
flushSync(stream)
|
|
486
|
-
|
|
487
|
-
|
|
511
|
+
updateState(stream, () => {
|
|
512
|
+
Atomics.store(stream[kImpl].state, READ_INDEX, 0)
|
|
513
|
+
Atomics.store(stream[kImpl].state, WRITE_INDEX, 0)
|
|
514
|
+
})
|
|
515
|
+
Atomics.notify(stream[kImpl].state, READ_INDEX)
|
|
488
516
|
|
|
489
517
|
// Find a toWrite length that fits the buffer
|
|
490
518
|
// it must exists as the buffer is at least 4 bytes length
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
const { realImport, realRequire } = require('real-require')
|
|
4
4
|
const { workerData, parentPort } = require('worker_threads')
|
|
5
|
-
const { WRITE_INDEX, READ_INDEX } = require('./indexes')
|
|
5
|
+
const { WRITE_INDEX, READ_INDEX, SEQ_INDEX } = require('./indexes')
|
|
6
6
|
const { waitDiff } = require('./wait')
|
|
7
7
|
|
|
8
8
|
const {
|
|
@@ -101,18 +101,30 @@ start().then(function () {
|
|
|
101
101
|
process.nextTick(run)
|
|
102
102
|
})
|
|
103
103
|
|
|
104
|
+
function readState () {
|
|
105
|
+
while (true) {
|
|
106
|
+
const seq = Atomics.load(state, SEQ_INDEX)
|
|
107
|
+
|
|
108
|
+
if ((seq & 1) !== 0) {
|
|
109
|
+
continue
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
const current = Atomics.load(state, READ_INDEX)
|
|
113
|
+
const end = Atomics.load(state, WRITE_INDEX)
|
|
114
|
+
|
|
115
|
+
if (seq === Atomics.load(state, SEQ_INDEX)) {
|
|
116
|
+
return { current, end, seq }
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
104
121
|
function run () {
|
|
105
|
-
const current =
|
|
106
|
-
const end = Atomics.load(state, WRITE_INDEX)
|
|
122
|
+
const { current, end, seq } = readState()
|
|
107
123
|
|
|
108
124
|
// process._rawDebug(`pre state ${current} ${end}`)
|
|
109
125
|
|
|
110
126
|
if (end === current) {
|
|
111
|
-
|
|
112
|
-
waitDiff(state, READ_INDEX, end, Infinity, run)
|
|
113
|
-
} else {
|
|
114
|
-
waitDiff(state, WRITE_INDEX, end, Infinity, run)
|
|
115
|
-
}
|
|
127
|
+
waitDiff(state, SEQ_INDEX, seq, Infinity, run)
|
|
116
128
|
return
|
|
117
129
|
}
|
|
118
130
|
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
// We include a version number for the Dispatcher API. In case of breaking changes,
|
|
4
4
|
// this version number must be increased to avoid conflicts.
|
|
5
|
-
const globalDispatcher = Symbol.for('undici.globalDispatcher.
|
|
5
|
+
const globalDispatcher = Symbol.for('undici.globalDispatcher.2')
|
|
6
|
+
const legacyGlobalDispatcher = Symbol.for('undici.globalDispatcher.1')
|
|
6
7
|
const { InvalidArgumentError } = require('./core/errors')
|
|
7
8
|
const Agent = require('./dispatcher/agent')
|
|
8
9
|
|
|
@@ -14,12 +15,20 @@ function setGlobalDispatcher (agent) {
|
|
|
14
15
|
if (!agent || typeof agent.dispatch !== 'function') {
|
|
15
16
|
throw new InvalidArgumentError('Argument agent must implement Agent')
|
|
16
17
|
}
|
|
18
|
+
|
|
17
19
|
Object.defineProperty(globalThis, globalDispatcher, {
|
|
18
20
|
value: agent,
|
|
19
21
|
writable: true,
|
|
20
22
|
enumerable: false,
|
|
21
23
|
configurable: false
|
|
22
24
|
})
|
|
25
|
+
|
|
26
|
+
Object.defineProperty(globalThis, legacyGlobalDispatcher, {
|
|
27
|
+
value: agent,
|
|
28
|
+
writable: true,
|
|
29
|
+
enumerable: false,
|
|
30
|
+
configurable: false
|
|
31
|
+
})
|
|
23
32
|
}
|
|
24
33
|
|
|
25
34
|
function getGlobalDispatcher () {
|
package/package.json
CHANGED