@yanglaofish/fishtools 0.5.2 → 0.5.3
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/README.md +23 -11
- package/manual/README.md +23 -11
- package/manual/docs/deployment.md +3 -3
- package/manual/docs/examples/action-plugin/package.json +1 -1
- package/manual/docs/plugin-development.md +15 -4
- package/manual/docs/releases.md +24 -0
- package/manual/docs/superpowers/plans/2026-10-13-command-shortcuts.md +3 -2
- package/manual/docs/superpowers/plans/2026-10-13-global-plugins.md +56 -0
- package/manual/docs/superpowers/plans/2026-10-13-tui-readable-sessions.md +21 -0
- package/manual/docs/superpowers/reviews/2026-10-13-0.5.3-review.md +28 -0
- package/manual/docs/superpowers/reviews/2026-10-13-command-shortcuts-review.md +7 -0
- package/manual/docs/superpowers/reviews/2026-10-13-tui-sessions-review.md +55 -0
- package/manual/docs/superpowers/specs/2026-10-13-issue-4-workflow-menu.md +23 -0
- package/manual/docs/superpowers/specs/2026-10-13-issue-5-results-and-history.md +20 -0
- package/manual/docs/terminal-commands.md +8 -0
- package/manual/docs/verification.md +30 -0
- package/manual/packages/core/README.md +2 -0
- package/manual/packages/core/package.json +1 -1
- package/manual/packages/core/src/application.js +100 -51
- package/manual/packages/core/src/development-watch-worker.js +10 -1
- package/manual/packages/core/src/development.js +1 -1
- package/manual/packages/core/src/plugin-catalog.js +42 -0
- package/manual/packages/core/src/version.js +1 -1
- package/manual/packages/fst-cli/README.md +4 -0
- package/manual/packages/fst-cli/bin/fst.js +7 -6
- package/manual/packages/fst-cli/package.json +1 -1
- package/manual/packages/fst-cli/src/development.js +6 -1
- package/manual/packages/fst-cli/src/terminal/command-menu.js +8 -3
- package/manual/packages/fst-cli/src/terminal/navigation.js +2 -0
- package/manual/packages/fst-cli/src/terminal/presentation.js +4 -3
- package/manual/packages/fst-cli/src/terminal/run-feed.js +69 -13
- package/manual/packages/fst-cli/src/terminal/run-presentation.js +55 -12
- package/manual/packages/fst-cli/src/terminal/run-viewer.js +26 -10
- package/manual/packages/fst-cli/src/terminal/session-history.js +82 -0
- package/manual/packages/fst-cli/src/terminal/session.js +119 -40
- package/manual/packages/fst-cli/src/terminal/view.js +31 -8
- package/manual/packages/fst-cli/src/terminal/workflow-menu.js +14 -9
- package/manual/packages/fst-devtools/package.json +2 -2
- package/manual/packages/fst-devtools/src/plugin-tools.js +1 -1
- package/manual/packages/fst-logs/README.md +23 -2
- package/manual/packages/fst-logs/package.json +2 -1
- package/manual/packages/fst-logs/src/file-identity.js +23 -0
- package/manual/packages/fst-logs/src/markdown-log.js +4 -3
- package/manual/packages/fst-logs/src/run-logs.js +3 -2
- package/manual/packages/fst-logs/src/session-history.js +180 -0
- package/manual/packages/fst-platform/README.md +4 -0
- package/manual/packages/fst-platform/package.json +3 -3
- package/manual/packages/fst-platform/src/process.js +4 -1
- package/manual/packages/fst-platform/src/shell.js +46 -1
- package/manual/packages/fst-plugin/package.json +1 -1
- package/manual/packages/fst-plugin/src/host.js +31 -23
- package/manual/packages/fst-workflow/package.json +1 -1
- package/manual/packages/fst-workflow/src/engine.js +1 -1
- package/manual/packages/fst-workspace/README.md +2 -0
- package/manual/packages/fst-workspace/package.json +2 -1
- package/manual/packages/fst-workspace/src/plugin-registry.js +58 -0
- package/manual/packages/fst-workspace/src/plugins.js +7 -4
- package/manual/packages/fst-workspace/src/workflows.js +5 -3
- package/manual/packages/pack/package.json +3 -3
- package/manual/packages/pack/runtime-cache.js +26 -0
- package/manual/packages/pack/runtime.js +6 -10
- package/manual/plugins/commands/package.json +1 -1
- package/node_modules/@mytools/commands/package.json +1 -1
- package/node_modules/@mytools/core/README.md +2 -0
- package/node_modules/@mytools/core/package.json +1 -1
- package/node_modules/@mytools/core/src/application.js +100 -51
- package/node_modules/@mytools/core/src/development-watch-worker.js +10 -1
- package/node_modules/@mytools/core/src/development.js +1 -1
- package/node_modules/@mytools/core/src/plugin-catalog.js +42 -0
- package/node_modules/@mytools/core/src/version.js +1 -1
- package/node_modules/@mytools/fst-cli/README.md +4 -0
- package/node_modules/@mytools/fst-cli/bin/fst.js +7 -6
- package/node_modules/@mytools/fst-cli/package.json +1 -1
- package/node_modules/@mytools/fst-cli/src/development.js +6 -1
- package/node_modules/@mytools/fst-cli/src/terminal/command-menu.js +8 -3
- package/node_modules/@mytools/fst-cli/src/terminal/navigation.js +2 -0
- package/node_modules/@mytools/fst-cli/src/terminal/presentation.js +4 -3
- package/node_modules/@mytools/fst-cli/src/terminal/run-feed.js +69 -13
- package/node_modules/@mytools/fst-cli/src/terminal/run-presentation.js +55 -12
- package/node_modules/@mytools/fst-cli/src/terminal/run-viewer.js +26 -10
- package/node_modules/@mytools/fst-cli/src/terminal/session-history.js +82 -0
- package/node_modules/@mytools/fst-cli/src/terminal/session.js +119 -40
- package/node_modules/@mytools/fst-cli/src/terminal/view.js +31 -8
- package/node_modules/@mytools/fst-cli/src/terminal/workflow-menu.js +14 -9
- package/node_modules/@mytools/fst-devtools/package.json +2 -2
- package/node_modules/@mytools/fst-devtools/src/plugin-tools.js +1 -1
- package/node_modules/@mytools/fst-logs/README.md +23 -2
- package/node_modules/@mytools/fst-logs/package.json +2 -1
- package/node_modules/@mytools/fst-logs/src/file-identity.js +23 -0
- package/node_modules/@mytools/fst-logs/src/markdown-log.js +4 -3
- package/node_modules/@mytools/fst-logs/src/run-logs.js +3 -2
- package/node_modules/@mytools/fst-logs/src/session-history.js +180 -0
- package/node_modules/@mytools/fst-platform/README.md +4 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/LICENSE +21 -0
- package/node_modules/{undici/docs/docs/index.md → @mytools/fst-platform/node_modules/undici/README.md} +85 -137
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Agent.md +84 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/BalancedPool.md +99 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/CacheStorage.md +30 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/CacheStore.md +164 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Client.md +288 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/ClientStats.md +27 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Connector.md +115 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/ContentType.md +57 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Cookies.md +128 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Debug.md +62 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +317 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Dispatcher.md +1393 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +159 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Errors.md +49 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/EventSource.md +45 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Fetch.md +60 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/GlobalInstallation.md +139 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/H2CClient.md +263 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/MockAgent.md +603 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/MockCallHistory.md +197 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/MockCallHistoryLog.md +43 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/MockClient.md +81 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/MockErrors.md +12 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/MockPool.md +555 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Pool.md +84 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/PoolStats.md +35 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/ProxyAgent.md +229 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/RedirectHandler.md +93 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/RetryAgent.md +50 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/RetryHandler.md +118 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/RoundRobinPool.md +145 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/SnapshotAgent.md +616 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +275 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/Util.md +25 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/WebSocket.md +141 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/api/api-lifecycle.md +91 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/best-practices/client-certificate.md +64 -0
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/docs/docs/best-practices/crawling.md +1 -3
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/best-practices/mocking-request.md +190 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/best-practices/proxy.md +127 -0
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/docs/docs/best-practices/undici-vs-builtin-fetch.md +8 -10
- package/node_modules/@mytools/fst-platform/node_modules/undici/docs/docs/best-practices/writing-tests.md +63 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/index-fetch.js +65 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/index.d.ts +3 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/index.js +234 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/api/abort-signal.js +59 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/api/api-connect.js +110 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/api/api-pipeline.js +252 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/api/api-request.js +214 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/api/api-stream.js +209 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/api/api-upgrade.js +111 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/api/index.js +7 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/api/readable.js +580 -0
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/cache/memory-cache-store.js +3 -3
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/cache/sqlite-cache-store.js +1 -3
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/core/connect.js +153 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/core/constants.js +143 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/core/diagnostics.js +227 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/core/errors.js +477 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/core/request.js +485 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/core/symbols.js +75 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/core/tree.js +160 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/core/util.js +992 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/agent.js +158 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/balanced-pool.js +221 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/client-h1.js +1746 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/client-h2.js +1060 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/client.js +668 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/dispatcher-base.js +184 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/dispatcher.js +48 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +146 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/fixed-queue.js +135 -0
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/dispatcher/h2c-client.js +4 -4
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/pool-base.js +214 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/pool.js +118 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/proxy-agent.js +319 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/dispatcher/retry-agent.js +35 -0
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/dispatcher/round-robin-pool.js +10 -32
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/dispatcher/socks5-proxy-agent.js +63 -153
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/global.js +59 -0
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/handler/cache-handler.js +7 -49
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/handler/cache-revalidation-handler.js +0 -10
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/handler/decorator-handler.js +67 -0
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/handler/deduplication-handler.js +10 -29
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/handler/redirect-handler.js +238 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/handler/retry-handler.js +504 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/handler/unwrap-handler.js +106 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/handler/wrap-handler.js +105 -0
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/interceptor/cache.js +26 -79
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/interceptor/decompress.js +3 -13
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/interceptor/deduplicate.js +4 -5
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/interceptor/dns.js +571 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/interceptor/dump.js +99 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/interceptor/redirect.js +21 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/interceptor/response-error.js +95 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/interceptor/retry.js +19 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/llhttp/.gitkeep +0 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/llhttp/constants.js +531 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/llhttp/llhttp-wasm.js +15 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +15 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/llhttp/utils.js +12 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/mock/mock-agent.js +232 -0
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/mock/mock-call-history.js +1 -1
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/mock/mock-client.js +68 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/mock/mock-errors.js +29 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/mock/mock-interceptor.js +209 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/mock/mock-pool.js +68 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/mock/mock-symbols.js +32 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/mock/mock-utils.js +486 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/mock/pending-interceptors-formatter.js +43 -0
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/mock/snapshot-agent.js +7 -25
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/mock/snapshot-recorder.js +3 -38
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/util/cache.js +10 -92
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/util/promise.js +28 -0
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/util/runtime-features.js +34 -3
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/util/timers.js +425 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/cache/cache.js +864 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/cache/cachestorage.js +152 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/cache/util.js +45 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/cookies/constants.js +12 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/cookies/index.js +199 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/cookies/parse.js +314 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/cookies/util.js +352 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/eventsource/eventsource-stream.js +494 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/eventsource/eventsource.js +501 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/eventsource/util.js +29 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/LICENSE +21 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/body.js +509 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/constants.js +131 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/data-url.js +596 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/formdata-parser.js +586 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/formdata.js +259 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/global.js +40 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/headers.js +719 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/index.js +2413 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/request.js +1115 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/response.js +641 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/fetch/util.js +1522 -0
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/web/infra/index.js +1 -16
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/web/webidl/index.js +21 -7
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/connection.js +339 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/constants.js +126 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/events.js +331 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/frame.js +133 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/permessage-deflate.js +105 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/receiver.js +507 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/sender.js +109 -0
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/web/websocket/stream/websocketerror.js +10 -13
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/web/websocket/stream/websocketstream.js +14 -29
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/util.js +347 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/lib/web/websocket/websocket.js +758 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/package.json +152 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/scripts/strip-comments.js +10 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/README.md +6 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/agent.d.ts +32 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/api.d.ts +43 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/balanced-pool.d.ts +30 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/cache.d.ts +36 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/client.d.ts +139 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/connector.d.ts +36 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/content-type.d.ts +21 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/cookies.d.ts +30 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/diagnostics-channel.d.ts +74 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/dispatcher.d.ts +275 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/env-http-proxy-agent.d.ts +22 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/errors.d.ts +177 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/eventsource.d.ts +66 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/fetch.d.ts +231 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/formdata.d.ts +114 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/global-dispatcher.d.ts +9 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/global-origin.d.ts +7 -0
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/types/h2c-client.d.ts +6 -6
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/handlers.d.ts +14 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/header.d.ts +160 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/index.d.ts +91 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/interceptors.d.ts +82 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/mock-agent.d.ts +68 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/mock-client.d.ts +27 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/mock-errors.d.ts +12 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/mock-interceptor.d.ts +94 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/mock-pool.d.ts +27 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/patch.d.ts +29 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/pool-stats.d.ts +19 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/pool.d.ts +41 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/proxy-agent.d.ts +29 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/readable.d.ts +68 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/retry-agent.d.ts +8 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/retry-handler.d.ts +125 -0
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/types/round-robin-pool.d.ts +2 -0
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/types/snapshot-agent.d.ts +0 -4
- package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/types/socks5-proxy-agent.d.ts +2 -4
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/util.d.ts +18 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/webidl.d.ts +347 -0
- package/node_modules/@mytools/fst-platform/node_modules/undici/types/websocket.d.ts +188 -0
- package/node_modules/@mytools/fst-platform/package.json +3 -3
- package/node_modules/@mytools/fst-platform/src/process.js +4 -1
- package/node_modules/@mytools/fst-platform/src/shell.js +46 -1
- package/node_modules/@mytools/fst-plugin/package.json +1 -1
- package/node_modules/@mytools/fst-plugin/src/host.js +31 -23
- package/node_modules/@mytools/fst-workflow/package.json +1 -1
- package/node_modules/@mytools/fst-workflow/src/engine.js +1 -1
- package/node_modules/@mytools/fst-workspace/README.md +2 -0
- package/node_modules/@mytools/fst-workspace/package.json +2 -1
- package/node_modules/@mytools/fst-workspace/src/plugin-registry.js +58 -0
- package/node_modules/@mytools/fst-workspace/src/plugins.js +7 -4
- package/node_modules/@mytools/fst-workspace/src/workflows.js +5 -3
- package/node_modules/@mytools/pack/package.json +3 -3
- package/node_modules/@mytools/pack/runtime-cache.js +26 -0
- package/node_modules/@mytools/pack/runtime.js +6 -10
- package/node_modules/@mytools/web/public/THIRD_PARTY_NOTICES.txt +953 -963
- package/node_modules/@npmcli/agent/lib/agents.js +0 -10
- package/node_modules/@npmcli/agent/package.json +12 -11
- package/node_modules/@npmcli/arborist/README.md +2 -2
- package/node_modules/@npmcli/arborist/bin/index.js +2 -1
- package/node_modules/@npmcli/arborist/bin/shrinkwrap.js +7 -0
- package/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js +25 -159
- package/node_modules/@npmcli/arborist/lib/arborist/isolated-reifier.js +49 -11
- package/node_modules/@npmcli/arborist/lib/arborist/load-actual.js +0 -67
- package/node_modules/@npmcli/arborist/lib/arborist/load-virtual.js +37 -5
- package/node_modules/@npmcli/arborist/lib/arborist/rebuild.js +8 -15
- package/node_modules/@npmcli/arborist/lib/arborist/reify.js +42 -59
- package/node_modules/@npmcli/arborist/lib/consistent-resolve.js +1 -1
- package/node_modules/@npmcli/arborist/lib/diff.js +22 -17
- package/node_modules/@npmcli/arborist/lib/edge.js +2 -22
- package/node_modules/@npmcli/arborist/lib/index.js +0 -2
- package/node_modules/@npmcli/arborist/lib/isolated-classes.js +1 -4
- package/node_modules/@npmcli/arborist/lib/node.js +9 -13
- package/node_modules/@npmcli/arborist/lib/place-dep.js +0 -6
- package/node_modules/@npmcli/arborist/lib/printable.js +5 -0
- package/node_modules/@npmcli/arborist/lib/shrinkwrap.js +32 -55
- package/node_modules/@npmcli/arborist/package.json +26 -32
- package/node_modules/@npmcli/fs/lib/move-file.js +5 -5
- package/node_modules/@npmcli/fs/package.json +5 -5
- package/node_modules/@npmcli/git/package.json +12 -13
- package/node_modules/@npmcli/installed-package-contents/package.json +7 -7
- package/node_modules/@npmcli/map-workspaces/package.json +7 -7
- package/node_modules/@npmcli/metavuln-calculator/package.json +16 -10
- package/node_modules/@npmcli/name-from-folder/package.json +16 -13
- package/node_modules/@npmcli/node-gyp/package.json +5 -5
- package/node_modules/@npmcli/package-json/lib/index.js +1 -2
- package/node_modules/@npmcli/package-json/lib/normalize.js +22 -23
- package/node_modules/@npmcli/package-json/package.json +10 -11
- package/node_modules/@npmcli/promise-spawn/README.md +2 -1
- package/node_modules/@npmcli/promise-spawn/package.json +5 -5
- package/node_modules/@npmcli/redact/package.json +4 -4
- package/node_modules/@npmcli/run-script/lib/is-server-package.js +11 -0
- package/node_modules/@npmcli/run-script/lib/make-spawn-args.js +6 -5
- package/node_modules/@npmcli/run-script/lib/run-script-pkg.js +13 -4
- package/node_modules/@npmcli/run-script/lib/run-script.js +2 -1
- package/node_modules/@npmcli/run-script/package.json +11 -12
- package/node_modules/@sigstore/bundle/README.md +1 -1
- package/node_modules/@sigstore/bundle/dist/error.js +0 -1
- package/node_modules/@sigstore/bundle/package.json +2 -2
- package/node_modules/@sigstore/core/README.md +1 -1
- package/node_modules/@sigstore/core/dist/asn1/length.js +1 -12
- package/node_modules/@sigstore/core/dist/asn1/obj.js +7 -25
- package/node_modules/@sigstore/core/dist/asn1/parse.js +5 -24
- package/node_modules/@sigstore/core/package.json +2 -2
- package/node_modules/@sigstore/sign/README.md +1 -1
- package/node_modules/@sigstore/sign/dist/signer/fulcio/ephemeral.js +1 -1
- package/node_modules/@sigstore/sign/package.json +9 -9
- package/node_modules/@sigstore/tuf/README.md +1 -1
- package/node_modules/@sigstore/tuf/package.json +4 -4
- package/node_modules/@sigstore/tuf/seeds.json +1 -1
- package/node_modules/@sigstore/verify/README.md +1 -1
- package/node_modules/@sigstore/verify/dist/bundle/dsse.d.ts +0 -1
- package/node_modules/@sigstore/verify/dist/bundle/dsse.js +0 -6
- package/node_modules/@sigstore/verify/dist/bundle/message.d.ts +0 -1
- package/node_modules/@sigstore/verify/dist/bundle/message.js +0 -5
- package/node_modules/@sigstore/verify/dist/policy.d.ts +1 -1
- package/node_modules/@sigstore/verify/dist/policy.js +2 -0
- package/node_modules/@sigstore/verify/dist/shared.types.d.ts +1 -6
- package/node_modules/@sigstore/verify/dist/tlog/checkpoint.js +3 -17
- package/node_modules/@sigstore/verify/dist/tlog/hashedrekord.js +4 -4
- package/node_modules/@sigstore/verify/dist/tlog/index.js +1 -13
- package/node_modules/@sigstore/verify/dist/tlog/merkle.js +1 -12
- package/node_modules/@sigstore/verify/dist/verifier.js +5 -13
- package/node_modules/@sigstore/verify/package.json +5 -5
- package/node_modules/@tufjs/models/package.json +3 -3
- package/node_modules/abbrev/package.json +8 -9
- package/node_modules/agent-base/dist/helpers.d.ts +5 -0
- package/node_modules/agent-base/dist/helpers.d.ts.map +1 -1
- package/node_modules/agent-base/dist/helpers.js +34 -5
- package/node_modules/agent-base/dist/helpers.js.map +1 -1
- package/node_modules/agent-base/dist/index.d.ts +5 -1
- package/node_modules/agent-base/dist/index.d.ts.map +1 -1
- package/node_modules/agent-base/dist/index.js +40 -8
- package/node_modules/agent-base/dist/index.js.map +1 -1
- package/node_modules/agent-base/package.json +12 -12
- package/node_modules/bin-links/README.md +4 -5
- package/node_modules/bin-links/lib/fix-bin.js +1 -3
- package/node_modules/bin-links/lib/index.js +16 -8
- package/node_modules/bin-links/lib/link-mans.js +53 -0
- package/node_modules/bin-links/package.json +12 -11
- package/node_modules/cacache/lib/content/write.js +0 -2
- package/node_modules/cacache/lib/entry-index.js +0 -3
- package/node_modules/cacache/lib/rm.js +0 -1
- package/node_modules/cacache/lib/util/tmp.js +1 -5
- package/node_modules/cacache/lib/verify.js +2 -2
- package/node_modules/cacache/package.json +7 -7
- package/node_modules/cmd-shim/lib/index.js +32 -67
- package/node_modules/cmd-shim/package.json +5 -5
- package/node_modules/hosted-git-info/README.md +1 -1
- package/node_modules/hosted-git-info/lib/parse-url.js +3 -1
- package/node_modules/hosted-git-info/package.json +4 -4
- package/node_modules/http-proxy-agent/dist/index.d.ts +5 -8
- package/node_modules/http-proxy-agent/dist/index.d.ts.map +1 -1
- package/node_modules/http-proxy-agent/dist/index.js +42 -26
- package/node_modules/http-proxy-agent/dist/index.js.map +1 -1
- package/node_modules/http-proxy-agent/package.json +14 -15
- package/node_modules/https-proxy-agent/dist/index.d.ts +5 -9
- package/node_modules/https-proxy-agent/dist/index.d.ts.map +1 -1
- package/node_modules/https-proxy-agent/dist/index.js +44 -98
- package/node_modules/https-proxy-agent/dist/index.js.map +1 -1
- package/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts +3 -0
- package/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts.map +1 -1
- package/node_modules/https-proxy-agent/dist/parse-proxy-response.js +10 -3
- package/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map +1 -1
- package/node_modules/https-proxy-agent/package.json +15 -16
- package/node_modules/ignore-walk/package.json +4 -4
- package/node_modules/ini/package.json +5 -5
- package/node_modules/ip-address/README.md +70 -70
- package/node_modules/ip-address/dist/ipv6.js +7 -4
- package/node_modules/ip-address/dist/ipv6.js.map +1 -1
- package/node_modules/ip-address/dist/v6/constants.d.ts +3 -0
- package/node_modules/ip-address/dist/v6/constants.js +3 -0
- package/node_modules/ip-address/dist/v6/constants.js.map +1 -1
- package/node_modules/ip-address/package.json +2 -1
- package/node_modules/json-parse-even-better-errors/lib/index.js +1 -3
- package/node_modules/json-parse-even-better-errors/package.json +17 -13
- package/node_modules/make-fetch-happen/package.json +11 -11
- package/node_modules/minipass-fetch/package.json +4 -4
- package/node_modules/node-gyp/.release-please-manifest.json +1 -1
- package/node_modules/node-gyp/CHANGELOG.md +0 -102
- package/node_modules/node-gyp/README.md +2 -3
- package/node_modules/node-gyp/eslint.config.js +1 -4
- package/node_modules/node-gyp/gyp/.release-please-manifest.json +1 -1
- package/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +19 -14
- package/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +2 -7
- package/node_modules/node-gyp/gyp/pyproject.toml +1 -1
- package/node_modules/node-gyp/lib/build.js +6 -18
- package/node_modules/node-gyp/lib/create-config-gypi.js +0 -5
- package/node_modules/node-gyp/lib/node-gyp.js +2 -9
- package/node_modules/node-gyp/lib/rebuild.js +3 -3
- package/node_modules/node-gyp/package.json +9 -11
- package/node_modules/nopt/README.md +4 -2
- package/node_modules/nopt/lib/debug.js +5 -0
- package/node_modules/nopt/lib/nopt-lib.js +43 -7
- package/node_modules/nopt/lib/nopt.js +4 -2
- package/node_modules/nopt/lib/type-defs.js +13 -8
- package/node_modules/nopt/package.json +17 -15
- package/node_modules/npm-bundled/package.json +6 -6
- package/node_modules/npm-install-checks/package.json +5 -5
- package/node_modules/npm-normalize-package-bin/package.json +16 -13
- package/node_modules/npm-package-arg/package.json +7 -7
- package/node_modules/npm-packlist/README.md +30 -45
- package/node_modules/npm-packlist/lib/index.js +47 -115
- package/node_modules/npm-packlist/package.json +8 -10
- package/node_modules/npm-pick-manifest/package.json +19 -15
- package/node_modules/npm-registry-fetch/lib/errors.js +3 -8
- package/node_modules/npm-registry-fetch/package.json +12 -12
- package/node_modules/pacote/lib/dir.js +5 -60
- package/node_modules/pacote/lib/fetcher.js +0 -4
- package/node_modules/pacote/lib/git.js +3 -11
- package/node_modules/pacote/lib/util/add-git-sha.js +1 -1
- package/node_modules/pacote/package.json +18 -19
- package/node_modules/parse-conflict-json/package.json +6 -6
- package/node_modules/proc-log/package.json +4 -4
- package/node_modules/read-cmd-shim/lib/index.js +1 -1
- package/node_modules/read-cmd-shim/package.json +18 -14
- package/node_modules/sigstore/README.md +1 -1
- package/node_modules/sigstore/package.json +10 -10
- package/node_modules/socks-proxy-agent/dist/index.d.ts +3 -1
- package/node_modules/socks-proxy-agent/dist/index.d.ts.map +1 -1
- package/node_modules/socks-proxy-agent/dist/index.js +43 -17
- package/node_modules/socks-proxy-agent/dist/index.js.map +1 -1
- package/node_modules/socks-proxy-agent/package.json +15 -15
- package/node_modules/ssri/package.json +4 -4
- package/node_modules/tuf-js/dist/config.d.ts +2 -2
- package/node_modules/tuf-js/dist/fetcher.d.ts +4 -4
- package/node_modules/tuf-js/dist/fetcher.js +16 -55
- package/node_modules/tuf-js/dist/updater.js +2 -2
- package/node_modules/tuf-js/package.json +8 -8
- package/node_modules/undici/README.md +72 -405
- package/node_modules/undici/docs/docs/api/Agent.md +41 -252
- package/node_modules/undici/docs/docs/api/BalancedPool.md +48 -246
- package/node_modules/undici/docs/docs/api/CacheStorage.md +13 -171
- package/node_modules/undici/docs/docs/api/Client.md +139 -395
- package/node_modules/undici/docs/docs/api/Connector.md +35 -118
- package/node_modules/undici/docs/docs/api/ContentType.md +25 -65
- package/node_modules/undici/docs/docs/api/Cookies.md +47 -125
- package/node_modules/undici/docs/docs/api/Debug.md +31 -47
- package/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +97 -409
- package/node_modules/undici/docs/docs/api/DispatchInterceptor.md +60 -0
- package/node_modules/undici/docs/docs/api/Dispatcher.md +1011 -500
- package/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +96 -105
- package/node_modules/undici/docs/docs/api/Errors.md +28 -528
- package/node_modules/undici/docs/docs/api/EventSource.md +13 -326
- package/node_modules/undici/docs/docs/api/Fetch.md +24 -693
- package/node_modules/undici/docs/docs/api/MockAgent.md +264 -346
- package/node_modules/undici/docs/docs/api/MockClient.md +31 -153
- package/node_modules/undici/docs/docs/api/MockErrors.md +5 -56
- package/node_modules/undici/docs/docs/api/MockPool.md +253 -324
- package/node_modules/undici/docs/docs/api/Pool.md +41 -235
- package/node_modules/undici/docs/docs/api/PoolStats.md +13 -119
- package/node_modules/undici/docs/docs/api/ProxyAgent.md +81 -198
- package/node_modules/undici/docs/docs/api/RedirectHandler.md +58 -238
- package/node_modules/undici/docs/docs/api/RetryAgent.md +28 -119
- package/node_modules/undici/docs/docs/api/RetryHandler.md +78 -161
- package/node_modules/undici/docs/docs/api/Util.md +11 -68
- package/node_modules/undici/docs/docs/api/WebSocket.md +24 -509
- package/node_modules/undici/docs/docs/api/api-lifecycle.md +33 -101
- package/node_modules/undici/docs/docs/best-practices/client-certificate.md +0 -2
- package/node_modules/undici/docs/docs/best-practices/mocking-request.md +2 -58
- package/node_modules/undici/docs/docs/best-practices/proxy.md +1 -3
- package/node_modules/undici/docs/docs/best-practices/writing-tests.md +0 -45
- package/node_modules/undici/index-fetch.js +4 -34
- package/node_modules/undici/index.d.ts +1 -1
- package/node_modules/undici/index.js +20 -87
- package/node_modules/undici/lib/api/abort-signal.js +0 -2
- package/node_modules/undici/lib/api/api-connect.js +11 -15
- package/node_modules/undici/lib/api/api-pipeline.js +19 -33
- package/node_modules/undici/lib/api/api-request.js +59 -89
- package/node_modules/undici/lib/api/api-stream.js +64 -114
- package/node_modules/undici/lib/api/api-upgrade.js +13 -26
- package/node_modules/undici/lib/api/readable.js +87 -317
- package/node_modules/undici/lib/api/util.js +93 -0
- package/node_modules/undici/lib/core/connect.js +125 -77
- package/node_modules/undici/lib/core/constants.js +9 -11
- package/node_modules/undici/lib/core/diagnostics.js +129 -154
- package/node_modules/undici/lib/core/errors.js +50 -122
- package/node_modules/undici/lib/core/request.js +87 -172
- package/node_modules/undici/lib/core/symbols.js +2 -14
- package/node_modules/undici/lib/core/tree.js +2 -10
- package/node_modules/undici/lib/core/util.js +190 -481
- package/node_modules/undici/lib/dispatcher/agent.js +35 -83
- package/node_modules/undici/lib/dispatcher/balanced-pool.js +38 -46
- package/node_modules/undici/lib/dispatcher/client-h1.js +199 -492
- package/node_modules/undici/lib/dispatcher/client-h2.js +380 -1409
- package/node_modules/undici/lib/dispatcher/client.js +130 -253
- package/node_modules/undici/lib/dispatcher/dispatcher-base.js +52 -50
- package/node_modules/undici/lib/dispatcher/dispatcher.js +24 -17
- package/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +45 -75
- package/node_modules/undici/lib/dispatcher/fixed-queue.js +50 -68
- package/node_modules/undici/lib/dispatcher/pool-base.js +54 -153
- package/node_modules/undici/lib/dispatcher/pool-stats.js +34 -0
- package/node_modules/undici/lib/dispatcher/pool.js +16 -135
- package/node_modules/undici/lib/dispatcher/proxy-agent.js +41 -175
- package/node_modules/undici/lib/dispatcher/retry-agent.js +0 -3
- package/node_modules/undici/lib/global.js +9 -59
- package/node_modules/undici/lib/handler/decorator-handler.js +15 -43
- package/node_modules/undici/lib/handler/redirect-handler.js +116 -127
- package/node_modules/undici/lib/handler/retry-handler.js +182 -398
- package/node_modules/undici/lib/interceptor/dns.js +47 -254
- package/node_modules/undici/lib/interceptor/dump.js +56 -32
- package/node_modules/undici/lib/interceptor/redirect-interceptor.js +21 -0
- package/node_modules/undici/lib/interceptor/redirect.js +14 -11
- package/node_modules/undici/lib/interceptor/response-error.js +22 -31
- package/node_modules/undici/lib/llhttp/.gitkeep +0 -0
- package/node_modules/undici/lib/llhttp/constants.js +193 -446
- package/node_modules/undici/lib/llhttp/llhttp-wasm.js +1 -11
- package/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +1 -11
- package/node_modules/undici/lib/llhttp/utils.js +12 -9
- package/node_modules/undici/lib/mock/mock-agent.js +22 -106
- package/node_modules/undici/lib/mock/mock-client.js +4 -13
- package/node_modules/undici/lib/mock/mock-errors.js +2 -3
- package/node_modules/undici/lib/mock/mock-interceptor.js +13 -33
- package/node_modules/undici/lib/mock/mock-pool.js +4 -13
- package/node_modules/undici/lib/mock/mock-symbols.js +1 -10
- package/node_modules/undici/lib/mock/mock-utils.js +51 -404
- package/node_modules/undici/lib/mock/pluralizer.js +29 -0
- package/node_modules/undici/lib/util/timers.js +9 -11
- package/node_modules/undici/lib/web/cache/cache.js +51 -63
- package/node_modules/undici/lib/web/cache/cachestorage.js +7 -13
- package/node_modules/undici/lib/web/cache/symbols.js +5 -0
- package/node_modules/undici/lib/web/cookies/index.js +18 -45
- package/node_modules/undici/lib/web/cookies/parse.js +149 -157
- package/node_modules/undici/lib/web/cookies/util.js +2 -4
- package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +9 -37
- package/node_modules/undici/lib/web/eventsource/eventsource.js +64 -108
- package/node_modules/undici/lib/web/eventsource/util.js +5 -28
- package/node_modules/undici/lib/web/fetch/body.js +148 -173
- package/node_modules/undici/lib/web/fetch/constants.js +6 -13
- package/node_modules/undici/lib/web/fetch/data-url.js +167 -19
- package/node_modules/undici/lib/web/fetch/dispatcher-weakref.js +46 -0
- package/node_modules/undici/lib/web/fetch/file.js +126 -0
- package/node_modules/undici/lib/web/fetch/formdata-parser.js +117 -229
- package/node_modules/undici/lib/web/fetch/formdata.js +65 -85
- package/node_modules/undici/lib/web/fetch/headers.js +108 -143
- package/node_modules/undici/lib/web/fetch/index.js +446 -627
- package/node_modules/undici/lib/web/fetch/request.js +115 -217
- package/node_modules/undici/lib/web/fetch/response.js +82 -110
- package/node_modules/undici/lib/web/fetch/symbols.js +9 -0
- package/node_modules/undici/lib/web/fetch/util.js +393 -291
- package/node_modules/undici/lib/web/fetch/webidl.js +695 -0
- package/node_modules/undici/lib/web/fileapi/encoding.js +290 -0
- package/node_modules/undici/lib/web/fileapi/filereader.js +344 -0
- package/node_modules/undici/lib/web/fileapi/progressevent.js +78 -0
- package/node_modules/undici/lib/web/fileapi/symbols.js +10 -0
- package/node_modules/undici/lib/web/fileapi/util.js +391 -0
- package/node_modules/undici/lib/web/websocket/connection.js +160 -139
- package/node_modules/undici/lib/web/websocket/constants.js +10 -70
- package/node_modules/undici/lib/web/websocket/events.js +30 -49
- package/node_modules/undici/lib/web/websocket/frame.js +20 -51
- package/node_modules/undici/lib/web/websocket/receiver.js +87 -83
- package/node_modules/undici/lib/web/websocket/sender.js +13 -18
- package/node_modules/undici/lib/web/websocket/symbols.js +12 -0
- package/node_modules/undici/lib/web/websocket/util.js +90 -115
- package/node_modules/undici/lib/web/websocket/websocket.js +171 -359
- package/node_modules/undici/package.json +57 -49
- package/node_modules/undici/scripts/strip-comments.js +1 -3
- package/node_modules/undici/types/agent.d.ts +13 -12
- package/node_modules/undici/types/api.d.ts +26 -26
- package/node_modules/undici/types/balanced-pool.d.ts +12 -13
- package/node_modules/undici/types/client.d.ts +39 -98
- package/node_modules/undici/types/connector.d.ts +2 -5
- package/node_modules/undici/types/cookies.d.ts +1 -3
- package/node_modules/undici/types/diagnostics-channel.d.ts +11 -20
- package/node_modules/undici/types/dispatcher.d.ts +139 -136
- package/node_modules/undici/types/env-http-proxy-agent.d.ts +3 -4
- package/node_modules/undici/types/errors.d.ts +54 -86
- package/node_modules/undici/types/eventsource.d.ts +4 -9
- package/node_modules/undici/types/fetch.d.ts +25 -51
- package/node_modules/undici/types/file.d.ts +39 -0
- package/node_modules/undici/types/filereader.d.ts +54 -0
- package/node_modules/undici/types/formdata.d.ts +7 -7
- package/node_modules/undici/types/global-dispatcher.d.ts +4 -4
- package/node_modules/undici/types/global-origin.d.ts +5 -5
- package/node_modules/undici/types/handlers.d.ts +9 -10
- package/node_modules/undici/types/header.d.ts +1 -162
- package/node_modules/undici/types/index.d.ts +47 -69
- package/node_modules/undici/types/interceptors.d.ts +12 -62
- package/node_modules/undici/types/mock-agent.d.ts +27 -46
- package/node_modules/undici/types/mock-client.d.ts +4 -6
- package/node_modules/undici/types/mock-errors.d.ts +3 -3
- package/node_modules/undici/types/mock-interceptor.d.ts +21 -26
- package/node_modules/undici/types/mock-pool.d.ts +4 -6
- package/node_modules/undici/types/patch.d.ts +4 -0
- package/node_modules/undici/types/pool-stats.d.ts +8 -8
- package/node_modules/undici/types/pool.d.ts +14 -14
- package/node_modules/undici/types/proxy-agent.d.ts +6 -13
- package/node_modules/undici/types/readable.d.ts +16 -19
- package/node_modules/undici/types/retry-agent.d.ts +1 -1
- package/node_modules/undici/types/retry-handler.d.ts +9 -18
- package/node_modules/undici/types/util.d.ts +3 -3
- package/node_modules/undici/types/webidl.d.ts +32 -156
- package/node_modules/undici/types/websocket.d.ts +10 -48
- package/node_modules/validate-npm-package-name/package.json +4 -4
- package/node_modules/which/package.json +4 -4
- package/node_modules/write-file-atomic/package.json +4 -4
- package/package.json +56 -60
- package/node_modules/@npmcli/arborist/lib/npm-extension.js +0 -237
- package/node_modules/@npmcli/arborist/lib/package-extensions.js +0 -236
- package/node_modules/@npmcli/arborist/lib/patch.js +0 -111
- package/node_modules/@npmcli/arborist/lib/patched-dependencies.js +0 -168
- package/node_modules/cacache/lib/util/cache-dir.js +0 -29
- package/node_modules/diff/CONTRIBUTING.md +0 -28
- package/node_modules/diff/LICENSE +0 -29
- package/node_modules/diff/README.md +0 -388
- package/node_modules/diff/dist/diff.js +0 -1782
- package/node_modules/diff/dist/diff.min.js +0 -1
- package/node_modules/diff/eslint.config.mjs +0 -182
- package/node_modules/diff/libcjs/convert/dmp.d.ts +0 -8
- package/node_modules/diff/libcjs/convert/dmp.d.ts.map +0 -1
- package/node_modules/diff/libcjs/convert/dmp.js +0 -24
- package/node_modules/diff/libcjs/convert/xml.d.ts +0 -6
- package/node_modules/diff/libcjs/convert/xml.d.ts.map +0 -1
- package/node_modules/diff/libcjs/convert/xml.js +0 -34
- package/node_modules/diff/libcjs/diff/array.d.ts +0 -19
- package/node_modules/diff/libcjs/diff/array.d.ts.map +0 -1
- package/node_modules/diff/libcjs/diff/array.js +0 -40
- package/node_modules/diff/libcjs/diff/base.d.ts +0 -20
- package/node_modules/diff/libcjs/diff/base.d.ts.map +0 -1
- package/node_modules/diff/libcjs/diff/base.js +0 -265
- package/node_modules/diff/libcjs/diff/character.d.ts +0 -19
- package/node_modules/diff/libcjs/diff/character.d.ts.map +0 -1
- package/node_modules/diff/libcjs/diff/character.js +0 -31
- package/node_modules/diff/libcjs/diff/css.d.ts +0 -18
- package/node_modules/diff/libcjs/diff/css.d.ts.map +0 -1
- package/node_modules/diff/libcjs/diff/css.js +0 -34
- package/node_modules/diff/libcjs/diff/json.d.ts +0 -24
- package/node_modules/diff/libcjs/diff/json.d.ts.map +0 -1
- package/node_modules/diff/libcjs/diff/json.js +0 -105
- package/node_modules/diff/libcjs/diff/line.d.ts +0 -24
- package/node_modules/diff/libcjs/diff/line.d.ts.map +0 -1
- package/node_modules/diff/libcjs/diff/line.js +0 -89
- package/node_modules/diff/libcjs/diff/sentence.d.ts +0 -21
- package/node_modules/diff/libcjs/diff/sentence.d.ts.map +0 -1
- package/node_modules/diff/libcjs/diff/sentence.js +0 -67
- package/node_modules/diff/libcjs/diff/word.d.ts +0 -35
- package/node_modules/diff/libcjs/diff/word.d.ts.map +0 -1
- package/node_modules/diff/libcjs/diff/word.js +0 -312
- package/node_modules/diff/libcjs/index.d.ts +0 -20
- package/node_modules/diff/libcjs/index.d.ts.map +0 -1
- package/node_modules/diff/libcjs/index.js +0 -64
- package/node_modules/diff/libcjs/package.json +0 -1
- package/node_modules/diff/libcjs/patch/apply.d.ts +0 -62
- package/node_modules/diff/libcjs/patch/apply.d.ts.map +0 -1
- package/node_modules/diff/libcjs/patch/apply.js +0 -267
- package/node_modules/diff/libcjs/patch/create.d.ts +0 -122
- package/node_modules/diff/libcjs/patch/create.d.ts.map +0 -1
- package/node_modules/diff/libcjs/patch/create.js +0 -251
- package/node_modules/diff/libcjs/patch/line-endings.d.ts +0 -17
- package/node_modules/diff/libcjs/patch/line-endings.d.ts.map +0 -1
- package/node_modules/diff/libcjs/patch/line-endings.js +0 -61
- package/node_modules/diff/libcjs/patch/parse.d.ts +0 -8
- package/node_modules/diff/libcjs/patch/parse.d.ts.map +0 -1
- package/node_modules/diff/libcjs/patch/parse.js +0 -150
- package/node_modules/diff/libcjs/patch/reverse.d.ts +0 -9
- package/node_modules/diff/libcjs/patch/reverse.d.ts.map +0 -1
- package/node_modules/diff/libcjs/patch/reverse.js +0 -37
- package/node_modules/diff/libcjs/types.d.ts +0 -213
- package/node_modules/diff/libcjs/types.d.ts.map +0 -1
- package/node_modules/diff/libcjs/types.js +0 -2
- package/node_modules/diff/libcjs/util/array.d.ts +0 -3
- package/node_modules/diff/libcjs/util/array.d.ts.map +0 -1
- package/node_modules/diff/libcjs/util/array.js +0 -21
- package/node_modules/diff/libcjs/util/distance-iterator.d.ts +0 -2
- package/node_modules/diff/libcjs/util/distance-iterator.d.ts.map +0 -1
- package/node_modules/diff/libcjs/util/distance-iterator.js +0 -40
- package/node_modules/diff/libcjs/util/params.d.ts +0 -4
- package/node_modules/diff/libcjs/util/params.d.ts.map +0 -1
- package/node_modules/diff/libcjs/util/params.js +0 -17
- package/node_modules/diff/libcjs/util/string.d.ts +0 -30
- package/node_modules/diff/libcjs/util/string.d.ts.map +0 -1
- package/node_modules/diff/libcjs/util/string.js +0 -200
- package/node_modules/diff/libesm/convert/dmp.d.ts +0 -8
- package/node_modules/diff/libesm/convert/dmp.d.ts.map +0 -1
- package/node_modules/diff/libesm/convert/dmp.js +0 -21
- package/node_modules/diff/libesm/convert/xml.d.ts +0 -6
- package/node_modules/diff/libesm/convert/xml.d.ts.map +0 -1
- package/node_modules/diff/libesm/convert/xml.js +0 -31
- package/node_modules/diff/libesm/diff/array.d.ts +0 -19
- package/node_modules/diff/libesm/diff/array.d.ts.map +0 -1
- package/node_modules/diff/libesm/diff/array.js +0 -16
- package/node_modules/diff/libesm/diff/base.d.ts +0 -20
- package/node_modules/diff/libesm/diff/base.d.ts.map +0 -1
- package/node_modules/diff/libesm/diff/base.js +0 -253
- package/node_modules/diff/libesm/diff/character.d.ts +0 -19
- package/node_modules/diff/libesm/diff/character.d.ts.map +0 -1
- package/node_modules/diff/libesm/diff/character.js +0 -7
- package/node_modules/diff/libesm/diff/css.d.ts +0 -18
- package/node_modules/diff/libesm/diff/css.d.ts.map +0 -1
- package/node_modules/diff/libesm/diff/css.js +0 -10
- package/node_modules/diff/libesm/diff/json.d.ts +0 -24
- package/node_modules/diff/libesm/diff/json.d.ts.map +0 -1
- package/node_modules/diff/libesm/diff/json.js +0 -78
- package/node_modules/diff/libesm/diff/line.d.ts +0 -24
- package/node_modules/diff/libesm/diff/line.d.ts.map +0 -1
- package/node_modules/diff/libesm/diff/line.js +0 -65
- package/node_modules/diff/libesm/diff/sentence.d.ts +0 -21
- package/node_modules/diff/libesm/diff/sentence.d.ts.map +0 -1
- package/node_modules/diff/libesm/diff/sentence.js +0 -43
- package/node_modules/diff/libesm/diff/word.d.ts +0 -35
- package/node_modules/diff/libesm/diff/word.d.ts.map +0 -1
- package/node_modules/diff/libesm/diff/word.js +0 -281
- package/node_modules/diff/libesm/index.d.ts +0 -20
- package/node_modules/diff/libesm/index.d.ts.map +0 -1
- package/node_modules/diff/libesm/index.js +0 -30
- package/node_modules/diff/libesm/package.json +0 -1
- package/node_modules/diff/libesm/patch/apply.d.ts +0 -62
- package/node_modules/diff/libesm/patch/apply.d.ts.map +0 -1
- package/node_modules/diff/libesm/patch/apply.js +0 -257
- package/node_modules/diff/libesm/patch/create.d.ts +0 -122
- package/node_modules/diff/libesm/patch/create.d.ts.map +0 -1
- package/node_modules/diff/libesm/patch/create.js +0 -228
- package/node_modules/diff/libesm/patch/line-endings.d.ts +0 -17
- package/node_modules/diff/libesm/patch/line-endings.d.ts.map +0 -1
- package/node_modules/diff/libesm/patch/line-endings.js +0 -44
- package/node_modules/diff/libesm/patch/parse.d.ts +0 -8
- package/node_modules/diff/libesm/patch/parse.d.ts.map +0 -1
- package/node_modules/diff/libesm/patch/parse.js +0 -147
- package/node_modules/diff/libesm/patch/reverse.d.ts +0 -9
- package/node_modules/diff/libesm/patch/reverse.d.ts.map +0 -1
- package/node_modules/diff/libesm/patch/reverse.js +0 -23
- package/node_modules/diff/libesm/types.d.ts +0 -213
- package/node_modules/diff/libesm/types.d.ts.map +0 -1
- package/node_modules/diff/libesm/types.js +0 -1
- package/node_modules/diff/libesm/util/array.d.ts +0 -3
- package/node_modules/diff/libesm/util/array.d.ts.map +0 -1
- package/node_modules/diff/libesm/util/array.js +0 -17
- package/node_modules/diff/libesm/util/distance-iterator.d.ts +0 -2
- package/node_modules/diff/libesm/util/distance-iterator.d.ts.map +0 -1
- package/node_modules/diff/libesm/util/distance-iterator.js +0 -37
- package/node_modules/diff/libesm/util/params.d.ts +0 -4
- package/node_modules/diff/libesm/util/params.d.ts.map +0 -1
- package/node_modules/diff/libesm/util/params.js +0 -14
- package/node_modules/diff/libesm/util/string.d.ts +0 -30
- package/node_modules/diff/libesm/util/string.d.ts.map +0 -1
- package/node_modules/diff/libesm/util/string.js +0 -184
- package/node_modules/diff/package.json +0 -130
- package/node_modules/diff/release-notes.md +0 -432
- package/node_modules/node-gyp/commitlint.config.mjs +0 -3
- package/node_modules/node-gyp/gyp/commitlint.config.js +0 -6
- package/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake_test.py +0 -105
- package/node_modules/node-gyp/zizmor.yml +0 -5
- package/node_modules/proxy-agent-negotiate/dist/index.d.ts +0 -14
- package/node_modules/proxy-agent-negotiate/dist/index.d.ts.map +0 -1
- package/node_modules/proxy-agent-negotiate/dist/index.js +0 -35
- package/node_modules/proxy-agent-negotiate/dist/index.js.map +0 -1
- package/node_modules/proxy-agent-negotiate/package.json +0 -47
- package/node_modules/undici/docs/docs/api/CacheStore.md +0 -360
- package/node_modules/undici/docs/docs/api/ClientStats.md +0 -93
- package/node_modules/undici/docs/docs/api/GlobalInstallation.md +0 -121
- package/node_modules/undici/docs/docs/api/H2CClient.md +0 -385
- package/node_modules/undici/docs/docs/api/Interceptors.md +0 -419
- package/node_modules/undici/docs/docs/api/MockCallHistory.md +0 -371
- package/node_modules/undici/docs/docs/api/MockCallHistoryLog.md +0 -206
- package/node_modules/undici/docs/docs/api/RoundRobinPool.md +0 -239
- package/node_modules/undici/docs/docs/api/SnapshotAgent.md +0 -361
- package/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +0 -256
- package/node_modules/undici/docs/docs/best-practices/migrating-from-v7-to-v8.md +0 -233
- package/node_modules/undici/docs/docs/getting-started.md +0 -281
- package/node_modules/undici/docs/docs/site.json +0 -125
- package/node_modules/undici/docs/docs/type-map.json +0 -79
- package/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +0 -110
- package/node_modules/undici/types/dispatcher1-wrapper.d.ts +0 -7
- /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/core/socks5-client.js +0 -0
- /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/core/socks5-utils.js +0 -0
- /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/encoding/index.js +0 -0
- /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/llhttp/constants.d.ts +0 -0
- /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/llhttp/utils.d.ts +0 -0
- /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/mock/snapshot-utils.js +0 -0
- /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/util/date.js +0 -0
- /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/util/stats.js +0 -0
- /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/web/subresource-integrity/Readme.md +0 -0
- /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/lib/web/subresource-integrity/subresource-integrity.js +0 -0
- /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/types/cache-interceptor.d.ts +0 -0
- /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/types/client-stats.d.ts +0 -0
- /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/types/mock-call-history.d.ts +0 -0
- /package/node_modules/{undici → @mytools/fst-platform/node_modules/undici}/types/utility.d.ts +0 -0
|
@@ -1,518 +1,206 @@
|
|
|
1
1
|
# Diagnostics Channel Support
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
<!--type=misc-->
|
|
3
|
+
Stability: Experimental.
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
Undici supports the [`diagnostics_channel`](https://nodejs.org/api/diagnostics_channel.html) (currently available only on Node.js v16+).
|
|
6
|
+
It is the preferred way to instrument Undici and retrieve internal information.
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
It is the preferred way to observe undici's internal behaviour without patching
|
|
10
|
-
the library, and it backs the human-readable [debug logs][Debug].
|
|
8
|
+
The channels available are the following.
|
|
11
9
|
|
|
12
|
-
|
|
13
|
-
obtain the channel by name and subscribe to it:
|
|
10
|
+
## `undici:request:create`
|
|
14
11
|
|
|
15
|
-
|
|
16
|
-
import diagnosticsChannel from 'node:diagnostics_channel'
|
|
12
|
+
This message is published when a new outgoing request is created.
|
|
17
13
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
})
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
```cjs
|
|
24
|
-
const diagnosticsChannel = require('node:diagnostics_channel')
|
|
25
|
-
|
|
26
|
-
diagnosticsChannel.channel('undici:request:create').subscribe(({ request }) => {
|
|
27
|
-
console.log(request.method, request.origin, request.path)
|
|
28
|
-
})
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
The message published to a channel is always a single object whose shape depends
|
|
32
|
-
on the channel. The sections below describe every channel and the object it
|
|
33
|
-
publishes. Subscriber callbacks run synchronously inside undici, so they should
|
|
34
|
-
be fast and must not throw.
|
|
35
|
-
|
|
36
|
-
The same `request` object is shared across all `undici:request:*` channels for a
|
|
37
|
-
given request, so a subscriber may correlate the lifecycle of one request by
|
|
38
|
-
identity.
|
|
39
|
-
|
|
40
|
-
## Event: `'undici:request:create'`
|
|
41
|
-
|
|
42
|
-
<!-- YAML
|
|
43
|
-
added: v6.3.0
|
|
44
|
-
-->
|
|
45
|
-
|
|
46
|
-
Published when a new outgoing request is created, before it is dispatched.
|
|
47
|
-
|
|
48
|
-
* `message` {Object}
|
|
49
|
-
* `request` {Object} The request being created.
|
|
50
|
-
* `origin` {string|URL} The origin the request is sent to.
|
|
51
|
-
* `completed` {boolean} Whether the request has completed. `false` at this
|
|
52
|
-
point.
|
|
53
|
-
* `method` {string} The HTTP method, e.g. `'GET'`.
|
|
54
|
-
* `path` {string} The request path, including any query string.
|
|
55
|
-
* `headers` {string[]} The request headers as a flat array of strings,
|
|
56
|
-
alternating between header name and value.
|
|
57
|
-
|
|
58
|
-
The `request` object also exposes an `addHeader(name, value)` method that
|
|
59
|
-
appends a header before the request is sent.
|
|
60
|
-
|
|
61
|
-
```mjs
|
|
62
|
-
import diagnosticsChannel from 'node:diagnostics_channel'
|
|
14
|
+
```js
|
|
15
|
+
import diagnosticsChannel from 'diagnostics_channel'
|
|
63
16
|
|
|
64
17
|
diagnosticsChannel.channel('undici:request:create').subscribe(({ request }) => {
|
|
65
18
|
console.log('origin', request.origin)
|
|
66
19
|
console.log('completed', request.completed)
|
|
67
20
|
console.log('method', request.method)
|
|
68
21
|
console.log('path', request.path)
|
|
69
|
-
console.log('headers',
|
|
22
|
+
console.log('headers') // array of strings, e.g: ['foo', 'bar']
|
|
70
23
|
request.addHeader('hello', 'world')
|
|
24
|
+
console.log('headers', request.headers) // e.g. ['foo', 'bar', 'hello', 'world']
|
|
71
25
|
})
|
|
72
26
|
```
|
|
73
27
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
## Event: `'undici:request:bodyChunkSent'`
|
|
77
|
-
|
|
78
|
-
<!-- YAML
|
|
79
|
-
added: v7.11.0
|
|
80
|
-
-->
|
|
28
|
+
Note: a request is only loosely completed to a given socket.
|
|
81
29
|
|
|
82
|
-
Published each time a chunk of the request body is written to the socket.
|
|
83
30
|
|
|
84
|
-
|
|
85
|
-
* `request` {Object} The same object published by
|
|
86
|
-
[`'undici:request:create'`][].
|
|
87
|
-
* `chunk` {Uint8Array|string} The body chunk being sent.
|
|
31
|
+
## `undici:request:bodySent`
|
|
88
32
|
|
|
89
|
-
```
|
|
90
|
-
import diagnosticsChannel from '
|
|
91
|
-
|
|
92
|
-
diagnosticsChannel.channel('undici:request:bodyChunkSent').subscribe(({ request, chunk }) => {
|
|
93
|
-
console.log('sent', chunk.length, 'bytes')
|
|
94
|
-
})
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
## Event: `'undici:request:bodySent'`
|
|
98
|
-
|
|
99
|
-
<!-- YAML
|
|
100
|
-
added: v6.3.0
|
|
101
|
-
-->
|
|
102
|
-
|
|
103
|
-
Published after the request body has been fully sent.
|
|
104
|
-
|
|
105
|
-
* `message` {Object}
|
|
106
|
-
* `request` {Object} The same object published by
|
|
107
|
-
[`'undici:request:create'`][].
|
|
108
|
-
|
|
109
|
-
```mjs
|
|
110
|
-
import diagnosticsChannel from 'node:diagnostics_channel'
|
|
33
|
+
```js
|
|
34
|
+
import diagnosticsChannel from 'diagnostics_channel'
|
|
111
35
|
|
|
112
36
|
diagnosticsChannel.channel('undici:request:bodySent').subscribe(({ request }) => {
|
|
113
|
-
// request is the same object
|
|
37
|
+
// request is the same object undici:request:create
|
|
114
38
|
})
|
|
115
39
|
```
|
|
116
40
|
|
|
117
|
-
##
|
|
118
|
-
|
|
119
|
-
<!-- YAML
|
|
120
|
-
added: v6.3.0
|
|
121
|
-
-->
|
|
41
|
+
## `undici:request:headers`
|
|
122
42
|
|
|
123
|
-
|
|
124
|
-
|
|
43
|
+
This message is published after the response headers have been received. This includes a successful CONNECT or
|
|
44
|
+
protocol upgrade response.
|
|
125
45
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
[`'undici:request:create'`][].
|
|
129
|
-
* `response` {Object} The response being received.
|
|
130
|
-
* `statusCode` {number} The HTTP status code.
|
|
131
|
-
* `statusText` {string} The HTTP status message.
|
|
132
|
-
* `headers` {Buffer[]|Object} HTTP/1.1 response headers are an array of
|
|
133
|
-
buffers alternating between header name and value. HTTP/2 response
|
|
134
|
-
headers are an object.
|
|
135
|
-
|
|
136
|
-
```mjs
|
|
137
|
-
import diagnosticsChannel from 'node:diagnostics_channel'
|
|
46
|
+
```js
|
|
47
|
+
import diagnosticsChannel from 'diagnostics_channel'
|
|
138
48
|
|
|
139
49
|
diagnosticsChannel.channel('undici:request:headers').subscribe(({ request, response }) => {
|
|
50
|
+
// request is the same object undici:request:create
|
|
140
51
|
console.log('statusCode', response.statusCode)
|
|
141
52
|
console.log(response.statusText)
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
## Event: `'undici:request:bodyChunkReceived'`
|
|
147
|
-
|
|
148
|
-
<!-- YAML
|
|
149
|
-
added: v7.11.0
|
|
150
|
-
-->
|
|
151
|
-
|
|
152
|
-
Published each time a chunk of the response body is received.
|
|
153
|
-
|
|
154
|
-
* `message` {Object}
|
|
155
|
-
* `request` {Object} The same object published by
|
|
156
|
-
[`'undici:request:create'`][].
|
|
157
|
-
* `chunk` {Buffer} The body chunk that was received.
|
|
158
|
-
|
|
159
|
-
```mjs
|
|
160
|
-
import diagnosticsChannel from 'node:diagnostics_channel'
|
|
161
|
-
|
|
162
|
-
diagnosticsChannel.channel('undici:request:bodyChunkReceived').subscribe(({ request, chunk }) => {
|
|
163
|
-
console.log('received', chunk.length, 'bytes')
|
|
53
|
+
// response.headers are buffers.
|
|
54
|
+
console.log(response.headers.map((x) => x.toString()))
|
|
164
55
|
})
|
|
165
56
|
```
|
|
166
57
|
|
|
167
|
-
##
|
|
168
|
-
|
|
169
|
-
<!-- YAML
|
|
170
|
-
added: v6.3.0
|
|
171
|
-
-->
|
|
172
|
-
|
|
173
|
-
Published once the response has fully completed. After an upgraded socket has
|
|
174
|
-
been passed to the request handler, this event is published with an empty
|
|
175
|
-
`trailers` array.
|
|
58
|
+
## `undici:request:trailers`
|
|
176
59
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
[`'undici:request:create'`][]. `request.completed` is now `true`.
|
|
180
|
-
* `trailers` {Buffer[]} The raw response trailers as an array of buffers,
|
|
181
|
-
alternating between header name and value.
|
|
60
|
+
This message is published after the response body and trailers have been received, i.e. the response has been completed.
|
|
61
|
+
After an upgraded socket is passed to the request handler, this message is published with an empty `trailers` array.
|
|
182
62
|
|
|
183
|
-
```
|
|
184
|
-
import diagnosticsChannel from '
|
|
63
|
+
```js
|
|
64
|
+
import diagnosticsChannel from 'diagnostics_channel'
|
|
185
65
|
|
|
186
66
|
diagnosticsChannel.channel('undici:request:trailers').subscribe(({ request, trailers }) => {
|
|
67
|
+
// request is the same object undici:request:create
|
|
187
68
|
console.log('completed', request.completed)
|
|
69
|
+
// trailers are buffers.
|
|
188
70
|
console.log(trailers.map((x) => x.toString()))
|
|
189
71
|
})
|
|
190
72
|
```
|
|
191
73
|
|
|
192
|
-
##
|
|
193
|
-
|
|
194
|
-
<!-- YAML
|
|
195
|
-
added: v6.3.0
|
|
196
|
-
-->
|
|
197
|
-
|
|
198
|
-
Published when the request is about to error, before the error is surfaced to
|
|
199
|
-
the caller.
|
|
74
|
+
## `undici:request:error`
|
|
200
75
|
|
|
201
|
-
|
|
202
|
-
* `request` {Object} The same object published by
|
|
203
|
-
[`'undici:request:create'`][].
|
|
204
|
-
* `error` {Error} The error the request is about to fail with.
|
|
76
|
+
This message is published if the request is going to error, but it has not errored yet.
|
|
205
77
|
|
|
206
|
-
```
|
|
207
|
-
import diagnosticsChannel from '
|
|
78
|
+
```js
|
|
79
|
+
import diagnosticsChannel from 'diagnostics_channel'
|
|
208
80
|
|
|
209
81
|
diagnosticsChannel.channel('undici:request:error').subscribe(({ request, error }) => {
|
|
210
|
-
|
|
82
|
+
// request is the same object undici:request:create
|
|
211
83
|
})
|
|
212
84
|
```
|
|
213
85
|
|
|
214
|
-
##
|
|
86
|
+
## `undici:client:sendHeaders`
|
|
215
87
|
|
|
216
|
-
|
|
217
|
-
added: v6.3.0
|
|
218
|
-
changes:
|
|
219
|
-
- version: v7.0.0
|
|
220
|
-
pr-url: https://github.com/nodejs/undici/pull/3585
|
|
221
|
-
description: Refactor the diagnostics channel internals.
|
|
222
|
-
-->
|
|
88
|
+
This message is published right before the first byte of the request is written to the socket.
|
|
223
89
|
|
|
224
|
-
|
|
225
|
-
socket. The headers are published exactly as they will be sent to the server, in
|
|
226
|
-
raw form.
|
|
90
|
+
*Note*: It will publish the exact headers that will be sent to the server in raw format.
|
|
227
91
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
[`'undici:request:create'`][].
|
|
231
|
-
* `headers` {string} The request headers as a single raw string, with lines
|
|
232
|
-
separated by `\r\n`.
|
|
233
|
-
* `socket` {net.Socket} The socket the request is written to.
|
|
234
|
-
|
|
235
|
-
```mjs
|
|
236
|
-
import diagnosticsChannel from 'node:diagnostics_channel'
|
|
92
|
+
```js
|
|
93
|
+
import diagnosticsChannel from 'diagnostics_channel'
|
|
237
94
|
|
|
238
95
|
diagnosticsChannel.channel('undici:client:sendHeaders').subscribe(({ request, headers, socket }) => {
|
|
239
|
-
|
|
96
|
+
// request is the same object undici:request:create
|
|
97
|
+
console.log(`Full headers list ${headers.split('\r\n')}`);
|
|
240
98
|
})
|
|
241
99
|
```
|
|
242
100
|
|
|
243
|
-
##
|
|
244
|
-
|
|
245
|
-
<!-- YAML
|
|
246
|
-
added: v6.3.0
|
|
247
|
-
changes:
|
|
248
|
-
- version: v7.0.0
|
|
249
|
-
pr-url: https://github.com/nodejs/undici/pull/3585
|
|
250
|
-
description: Refactor the diagnostics channel internals.
|
|
251
|
-
-->
|
|
101
|
+
## `undici:client:beforeConnect`
|
|
252
102
|
|
|
253
|
-
|
|
254
|
-
|
|
103
|
+
This message is published before creating a new connection for **any** request.
|
|
104
|
+
You can not assume that this event is related to any specific request.
|
|
255
105
|
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
* `host` {string} The connection host, including the port if present.
|
|
259
|
-
* `hostname` {string} The connection hostname.
|
|
260
|
-
* `protocol` {string} The protocol, e.g. `'https:'`.
|
|
261
|
-
* `port` {string} The connection port.
|
|
262
|
-
* `servername` {string|null} The TLS server name, or `null`.
|
|
263
|
-
* `connector` {Function} The function that creates the socket.
|
|
264
|
-
|
|
265
|
-
```mjs
|
|
266
|
-
import diagnosticsChannel from 'node:diagnostics_channel'
|
|
106
|
+
```js
|
|
107
|
+
import diagnosticsChannel from 'diagnostics_channel'
|
|
267
108
|
|
|
268
109
|
diagnosticsChannel.channel('undici:client:beforeConnect').subscribe(({ connectParams, connector }) => {
|
|
269
|
-
const { host, hostname, protocol, port, servername } = connectParams
|
|
270
|
-
// connector is
|
|
110
|
+
// const { host, hostname, protocol, port, servername, version } = connectParams
|
|
111
|
+
// connector is a function that creates the socket
|
|
271
112
|
})
|
|
272
113
|
```
|
|
273
114
|
|
|
274
|
-
##
|
|
275
|
-
|
|
276
|
-
<!-- YAML
|
|
277
|
-
added: v6.3.0
|
|
278
|
-
changes:
|
|
279
|
-
- version: v7.0.0
|
|
280
|
-
pr-url: https://github.com/nodejs/undici/pull/3585
|
|
281
|
-
description: Refactor the diagnostics channel internals.
|
|
282
|
-
-->
|
|
115
|
+
## `undici:client:connected`
|
|
283
116
|
|
|
284
|
-
|
|
117
|
+
This message is published after a connection is established.
|
|
285
118
|
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
* `connectParams` {Object} The parameters used to open the connection. See
|
|
289
|
-
[`'undici:client:beforeConnect'`][] for the field descriptions.
|
|
290
|
-
* `connector` {Function} The function that created the socket.
|
|
291
|
-
|
|
292
|
-
```mjs
|
|
293
|
-
import diagnosticsChannel from 'node:diagnostics_channel'
|
|
119
|
+
```js
|
|
120
|
+
import diagnosticsChannel from 'diagnostics_channel'
|
|
294
121
|
|
|
295
122
|
diagnosticsChannel.channel('undici:client:connected').subscribe(({ socket, connectParams, connector }) => {
|
|
296
|
-
const { host, hostname, protocol, port, servername } = connectParams
|
|
123
|
+
// const { host, hostname, protocol, port, servername, version } = connectParams
|
|
124
|
+
// connector is a function that creates the socket
|
|
297
125
|
})
|
|
298
126
|
```
|
|
299
127
|
|
|
300
|
-
##
|
|
301
|
-
|
|
302
|
-
<!-- YAML
|
|
303
|
-
added: v6.3.0
|
|
304
|
-
changes:
|
|
305
|
-
- version: v7.0.0
|
|
306
|
-
pr-url: https://github.com/nodejs/undici/pull/3585
|
|
307
|
-
description: Refactor the diagnostics channel internals.
|
|
308
|
-
-->
|
|
309
|
-
|
|
310
|
-
Published when a connection could not be established.
|
|
128
|
+
## `undici:client:connectError`
|
|
311
129
|
|
|
312
|
-
|
|
313
|
-
* `error` {Error} The error that prevented the connection.
|
|
314
|
-
* `socket` {net.Socket} The socket associated with the failed attempt.
|
|
315
|
-
* `connectParams` {Object} The parameters used to open the connection. See
|
|
316
|
-
[`'undici:client:beforeConnect'`][] for the field descriptions.
|
|
317
|
-
* `connector` {Function} The function that created the socket.
|
|
130
|
+
This message is published if it did not succeed to create new connection
|
|
318
131
|
|
|
319
|
-
```
|
|
320
|
-
import diagnosticsChannel from '
|
|
132
|
+
```js
|
|
133
|
+
import diagnosticsChannel from 'diagnostics_channel'
|
|
321
134
|
|
|
322
135
|
diagnosticsChannel.channel('undici:client:connectError').subscribe(({ error, socket, connectParams, connector }) => {
|
|
323
|
-
|
|
136
|
+
// const { host, hostname, protocol, port, servername, version } = connectParams
|
|
137
|
+
// connector is a function that creates the socket
|
|
138
|
+
console.log(`Connect failed with ${error.message}`)
|
|
324
139
|
})
|
|
325
140
|
```
|
|
326
141
|
|
|
327
|
-
##
|
|
328
|
-
|
|
329
|
-
<!-- YAML
|
|
330
|
-
added: v6.3.0
|
|
331
|
-
-->
|
|
332
|
-
|
|
333
|
-
Published after a [`WebSocket`][] has successfully connected to a server.
|
|
334
|
-
|
|
335
|
-
* `message` {Object}
|
|
336
|
-
* `address` {Object|null} The remote socket address, as returned by
|
|
337
|
-
[`socket.address()`][], or `null` if it cannot be determined. When present,
|
|
338
|
-
it contains `address`, `family`, and `port`.
|
|
339
|
-
* `protocol` {string} The negotiated subprotocol.
|
|
340
|
-
* `extensions` {string} The negotiated extensions.
|
|
341
|
-
* `websocket` {WebSocket} The `WebSocket` instance.
|
|
342
|
-
* `handshakeResponse` {Object} The HTTP response that upgraded the connection.
|
|
343
|
-
* `status` {number} The HTTP status code: `101` for an HTTP/1.1 upgrade, or
|
|
344
|
-
`200` for an HTTP/2 extended `CONNECT`.
|
|
345
|
-
* `statusText` {string} The HTTP status message: `'Switching Protocols'` for
|
|
346
|
-
HTTP/1.1, and commonly `'OK'` for HTTP/2.
|
|
347
|
-
* `headers` {Object} The response headers from the server. The `upgrade` and
|
|
348
|
-
`connection` headers are only present for HTTP/1.1 handshakes.
|
|
349
|
-
|
|
350
|
-
```mjs
|
|
351
|
-
import diagnosticsChannel from 'node:diagnostics_channel'
|
|
352
|
-
|
|
353
|
-
diagnosticsChannel.channel('undici:websocket:open').subscribe(({
|
|
354
|
-
address,
|
|
355
|
-
protocol,
|
|
356
|
-
extensions,
|
|
357
|
-
websocket,
|
|
358
|
-
handshakeResponse
|
|
359
|
-
}) => {
|
|
360
|
-
console.log(address)
|
|
361
|
-
console.log(protocol)
|
|
362
|
-
console.log(extensions)
|
|
363
|
-
console.log(handshakeResponse.status)
|
|
364
|
-
console.log(handshakeResponse.headers)
|
|
365
|
-
})
|
|
366
|
-
```
|
|
142
|
+
## `undici:websocket:open`
|
|
367
143
|
|
|
368
|
-
|
|
144
|
+
This message is published after the client has successfully connected to a server.
|
|
369
145
|
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
-->
|
|
146
|
+
```js
|
|
147
|
+
import diagnosticsChannel from 'diagnostics_channel'
|
|
373
148
|
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
* `code` {number} The closing status code.
|
|
379
|
-
* `reason` {string} The closing reason.
|
|
380
|
-
|
|
381
|
-
```mjs
|
|
382
|
-
import diagnosticsChannel from 'node:diagnostics_channel'
|
|
383
|
-
|
|
384
|
-
diagnosticsChannel.channel('undici:websocket:close').subscribe(({ websocket, code, reason }) => {
|
|
385
|
-
console.log(code, reason)
|
|
149
|
+
diagnosticsChannel.channel('undici:websocket:open').subscribe(({ address, protocol, extensions }) => {
|
|
150
|
+
console.log(address) // address, family, and port
|
|
151
|
+
console.log(protocol) // negotiated subprotocols
|
|
152
|
+
console.log(extensions) // negotiated extensions
|
|
386
153
|
})
|
|
387
154
|
```
|
|
388
155
|
|
|
389
|
-
##
|
|
156
|
+
## `undici:websocket:close`
|
|
390
157
|
|
|
391
|
-
|
|
392
|
-
added: v6.3.0
|
|
393
|
-
-->
|
|
158
|
+
This message is published after the connection has closed.
|
|
394
159
|
|
|
395
|
-
|
|
396
|
-
|
|
160
|
+
```js
|
|
161
|
+
import diagnosticsChannel from 'diagnostics_channel'
|
|
397
162
|
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
diagnosticsChannel.channel('undici:websocket:socket_error').subscribe((error) => {
|
|
404
|
-
console.error(error)
|
|
163
|
+
diagnosticsChannel.channel('undici:websocket:close').subscribe(({ websocket, code, reason }) => {
|
|
164
|
+
console.log(websocket) // the WebSocket object
|
|
165
|
+
console.log(code) // the closing status code
|
|
166
|
+
console.log(reason) // the closing reason
|
|
405
167
|
})
|
|
406
168
|
```
|
|
407
169
|
|
|
408
|
-
##
|
|
409
|
-
|
|
410
|
-
<!-- YAML
|
|
411
|
-
added: v6.3.0
|
|
412
|
-
-->
|
|
170
|
+
## `undici:websocket:socket_error`
|
|
413
171
|
|
|
414
|
-
|
|
172
|
+
This message is published if the socket experiences an error.
|
|
415
173
|
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
frame.
|
|
419
|
-
* `websocket` {WebSocket} The `WebSocket` instance.
|
|
174
|
+
```js
|
|
175
|
+
import diagnosticsChannel from 'diagnostics_channel'
|
|
420
176
|
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
diagnosticsChannel.channel('undici:websocket:ping').subscribe(({ payload, websocket }) => {
|
|
425
|
-
console.log(payload)
|
|
177
|
+
diagnosticsChannel.channel('undici:websocket:socket_error').subscribe((error) => {
|
|
178
|
+
console.log(error)
|
|
426
179
|
})
|
|
427
180
|
```
|
|
428
181
|
|
|
429
|
-
##
|
|
430
|
-
|
|
431
|
-
<!-- YAML
|
|
432
|
-
added: v6.3.0
|
|
433
|
-
-->
|
|
182
|
+
## `undici:websocket:ping`
|
|
434
183
|
|
|
435
|
-
|
|
184
|
+
This message is published after the client receives a ping frame, if the connection is not closing.
|
|
436
185
|
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
frame.
|
|
440
|
-
* `websocket` {WebSocket} The `WebSocket` instance.
|
|
186
|
+
```js
|
|
187
|
+
import diagnosticsChannel from 'diagnostics_channel'
|
|
441
188
|
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
diagnosticsChannel.channel('undici:websocket:pong').subscribe(({ payload, websocket }) => {
|
|
189
|
+
diagnosticsChannel.channel('undici:websocket:ping').subscribe(({ payload }) => {
|
|
190
|
+
// a Buffer or undefined, containing the optional application data of the frame
|
|
446
191
|
console.log(payload)
|
|
447
192
|
})
|
|
448
193
|
```
|
|
449
194
|
|
|
450
|
-
##
|
|
451
|
-
|
|
452
|
-
<!-- YAML
|
|
453
|
-
added: v7.17.0
|
|
454
|
-
-->
|
|
455
|
-
|
|
456
|
-
Published after a [`ProxyAgent`][] has established a tunnel to the proxy server.
|
|
457
|
-
|
|
458
|
-
* `message` {Object}
|
|
459
|
-
* `socket` {net.Socket} The socket connected to the proxy.
|
|
460
|
-
* `connectParams` {Object} The parameters used to establish the tunnel.
|
|
461
|
-
* `origin` {string|URL} The proxy origin.
|
|
462
|
-
* `port` {string} The proxy port.
|
|
463
|
-
* `path` {string} The requested tunnel target, e.g. `'example.com:443'`.
|
|
464
|
-
* `signal` {AbortSignal|undefined} The signal associated with the request.
|
|
465
|
-
* `headers` {Object} The headers sent in the `CONNECT` request.
|
|
466
|
-
* `servername` {string|undefined} The TLS server name used for the proxy.
|
|
195
|
+
## `undici:websocket:pong`
|
|
467
196
|
|
|
468
|
-
|
|
469
|
-
import diagnosticsChannel from 'node:diagnostics_channel'
|
|
197
|
+
This message is published after the client receives a pong frame.
|
|
470
198
|
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
})
|
|
474
|
-
```
|
|
199
|
+
```js
|
|
200
|
+
import diagnosticsChannel from 'diagnostics_channel'
|
|
475
201
|
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
added: v6.3.0
|
|
480
|
-
-->
|
|
481
|
-
|
|
482
|
-
Published when the [`dedupe`][] interceptor's set of pending requests changes.
|
|
483
|
-
The interceptor coalesces concurrent identical requests so that only one reaches
|
|
484
|
-
the origin; this channel exposes that bookkeeping for monitoring and debugging.
|
|
485
|
-
|
|
486
|
-
* `message` {Object}
|
|
487
|
-
* `type` {string} Either `'added'` when a new pending request is registered, or
|
|
488
|
-
`'removed'` when a pending request completes, whether successfully or with an
|
|
489
|
-
error.
|
|
490
|
-
* `size` {number} The number of pending requests after the change.
|
|
491
|
-
* `key` {string} The deduplication key for the request, composed of the origin,
|
|
492
|
-
method, path, and request headers.
|
|
493
|
-
|
|
494
|
-
```mjs
|
|
495
|
-
import diagnosticsChannel from 'node:diagnostics_channel'
|
|
496
|
-
|
|
497
|
-
diagnosticsChannel.channel('undici:request:pending-requests').subscribe(({ type, size, key }) => {
|
|
498
|
-
if (type === 'added') {
|
|
499
|
-
console.log(`New pending request: ${key} (${size} total pending)`)
|
|
500
|
-
} else {
|
|
501
|
-
console.log(`Request completed: ${key} (${size} remaining)`)
|
|
502
|
-
}
|
|
202
|
+
diagnosticsChannel.channel('undici:websocket:pong').subscribe(({ payload }) => {
|
|
203
|
+
// a Buffer or undefined, containing the optional application data of the frame
|
|
204
|
+
console.log(payload)
|
|
503
205
|
})
|
|
504
206
|
```
|
|
505
|
-
|
|
506
|
-
This is useful for verifying that deduplication is working, monitoring the number
|
|
507
|
-
of concurrent in-flight requests, and debugging deduplication behaviour in
|
|
508
|
-
production.
|
|
509
|
-
|
|
510
|
-
[`'undici:client:beforeConnect'`]: #event-undiciclientbeforeconnect
|
|
511
|
-
[`'undici:request:create'`]: #event-undicirequestcreate
|
|
512
|
-
[`'undici:request:headers'`]: #event-undicirequestheaders
|
|
513
|
-
[`ProxyAgent`]: ProxyAgent.md#class-proxyagent
|
|
514
|
-
[`WebSocket`]: WebSocket.md#class-websocket
|
|
515
|
-
[`dedupe`]: Dispatcher.md#dedupe
|
|
516
|
-
[`diagnostics_channel`]: https://nodejs.org/api/diagnostics_channel.html
|
|
517
|
-
[`socket.address()`]: https://nodejs.org/api/net.html#socketaddress
|
|
518
|
-
[Debug]: Debug.md
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Interface: DispatchInterceptor
|
|
2
|
+
|
|
3
|
+
Extends: `Function`
|
|
4
|
+
|
|
5
|
+
A function that can be applied to the `Dispatcher.Dispatch` function before it is invoked with a dispatch request.
|
|
6
|
+
|
|
7
|
+
This allows one to write logic to intercept both the outgoing request, and the incoming response.
|
|
8
|
+
|
|
9
|
+
### Parameter: `Dispatcher.Dispatch`
|
|
10
|
+
|
|
11
|
+
The base dispatch function you are decorating.
|
|
12
|
+
|
|
13
|
+
### ReturnType: `Dispatcher.Dispatch`
|
|
14
|
+
|
|
15
|
+
A dispatch function that has been altered to provide additional logic
|
|
16
|
+
|
|
17
|
+
### Basic Example
|
|
18
|
+
|
|
19
|
+
Here is an example of an interceptor being used to provide a JWT bearer token
|
|
20
|
+
|
|
21
|
+
```js
|
|
22
|
+
'use strict'
|
|
23
|
+
|
|
24
|
+
const insertHeaderInterceptor = dispatch => {
|
|
25
|
+
return function InterceptedDispatch(opts, handler){
|
|
26
|
+
opts.headers.push('Authorization', 'Bearer [Some token]')
|
|
27
|
+
return dispatch(opts, handler)
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const client = new Client('https://localhost:3000', {
|
|
32
|
+
interceptors: { Client: [insertHeaderInterceptor] }
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Basic Example 2
|
|
38
|
+
|
|
39
|
+
Here is a contrived example of an interceptor stripping the headers from a response.
|
|
40
|
+
|
|
41
|
+
```js
|
|
42
|
+
'use strict'
|
|
43
|
+
|
|
44
|
+
const clearHeadersInterceptor = dispatch => {
|
|
45
|
+
const { DecoratorHandler } = require('undici')
|
|
46
|
+
class ResultInterceptor extends DecoratorHandler {
|
|
47
|
+
onHeaders (statusCode, headers, resume) {
|
|
48
|
+
return super.onHeaders(statusCode, [], resume)
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return function InterceptedDispatch(opts, handler){
|
|
52
|
+
return dispatch(opts, new ResultInterceptor(handler))
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const client = new Client('https://localhost:3000', {
|
|
57
|
+
interceptors: { Client: [clearHeadersInterceptor] }
|
|
58
|
+
})
|
|
59
|
+
|
|
60
|
+
```
|