@openclaw/slack 2026.9.6 → 2026.9.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (291) hide show
  1. package/assets/icon.png +0 -0
  2. package/dist/.setup/{account-inspect-DP1Bcwj4.mjs → account-inspect-DWBXpER6.mjs} +1 -1
  3. package/dist/.setup/{accounts-BBHvg0pY.mjs → accounts-D_N9IqNA.mjs} +23 -1
  4. package/dist/.setup/{action-runtime-B01d85zt.mjs → action-runtime-DfWvuiZd.mjs} +26 -41
  5. package/dist/.setup/action-runtime.runtime-Ck4bAWOX.mjs +2 -0
  6. package/dist/.setup/{actions-DKCtBgCI.mjs → actions-Df0CzcDl.mjs} +88 -175
  7. package/dist/.setup/{approval-handler.runtime-DMszKn_7.mjs → approval-handler.runtime-Ed6Sw5VK.mjs} +37 -47
  8. package/dist/.setup/{approval-message-updates-Tb_qRokK.mjs → approval-message-updates-BadvtA7R.mjs} +1 -2
  9. package/dist/.setup/{channel-CErYZ5zw.mjs → channel-C7bgPSTE.mjs} +181 -273
  10. package/dist/.setup/channel-meta-C443t-lI.mjs +27 -0
  11. package/dist/.setup/{channel-type-Dxk8VJUb.mjs → channel-type-ClOttrZ5.mjs} +13 -21
  12. package/dist/.setup/{channel.setup-BVoUtdPn.mjs → channel.setup-Dh2jzAjN.mjs} +35 -42
  13. package/dist/.setup/{config-schema-CyL279e7.mjs → config-schema-BZCxmHKG.mjs} +24 -21
  14. package/dist/.setup/{directory-config-CQTSH45W.mjs → directory-config-BOUWH3hR.mjs} +7 -10
  15. package/dist/.setup/{directory-live-BCcj89QV.mjs → directory-live-B2O4B_Ho.mjs} +9 -21
  16. package/dist/.setup/doctor-contract-CRN1Z_c7.mjs +342 -0
  17. package/dist/.setup/{message-tool-api-C0PTFaNV.mjs → message-tool-api-Cu4lwlGy.mjs} +34 -48
  18. package/dist/.setup/{provider-C-jPaGt2.mjs → monitor-BPVfkumU.mjs} +2181 -2693
  19. package/dist/.setup/{outbound-adapter-A7Wdn8ZT.mjs → outbound-adapter-Bv48XUjq.mjs} +10 -21
  20. package/dist/.setup/{pipeline.runtime-BlPOexmJ.mjs → pipeline.runtime-B1H63Frf.mjs} +311 -457
  21. package/dist/.setup/{plugin-routes-C3X0eVaK.mjs → plugin-routes-B8tooDLj.mjs} +1 -1
  22. package/dist/.setup/{policy-BApW53pI.mjs → policy-D-jfM174.mjs} +5 -5
  23. package/dist/.setup/{probe-DiYIMPJo.mjs → probe-B2Y9qc_z.mjs} +101 -39
  24. package/dist/.setup/{registry-bbjH7IHX.mjs → registry-CIbMfuf8.mjs} +6 -2
  25. package/dist/.setup/{relay-source-DfOnjJTE.mjs → relay-source-BpKdjsll.mjs} +10 -12
  26. package/dist/.setup/{replies-BBAJxUOQ.mjs → replies-BAnUtr2f.mjs} +16 -76
  27. package/dist/.setup/{reply-blocks-Bm8kf6mK.mjs → reply-blocks-SE1kTE3I.mjs} +27 -154
  28. package/dist/.setup/{resolve-channels-BXbMBbJD.mjs → resolve-channels-XXBn8UU_.mjs} +4 -5
  29. package/dist/.setup/{resolve-users-65WqvIqD.mjs → resolve-users-DW0ngD03.mjs} +20 -22
  30. package/dist/.setup/{scopes-h3YB-mMs.mjs → scopes-CasuDvaa.mjs} +6 -17
  31. package/dist/.setup/{secret-contract-DxmvbxBF.mjs → secret-contract-BaZcu6P_.mjs} +15 -20
  32. package/dist/.setup/{secret-contract-api-D9UfYujm.mjs → secret-contract-api-Dp6290Vg.mjs} +1 -1
  33. package/dist/.setup/{security-audit-BypHqcq5.mjs → security-audit-BqDc-6VL.mjs} +1 -1
  34. package/dist/.setup/{send-Cp6omkOg.mjs → send-BOVLQi3n.mjs} +84 -171
  35. package/dist/.setup/{session-status-Cf7AvWOt.mjs → session-status-DscajIsd.mjs} +315 -238
  36. package/dist/.setup/{setup-plugin-api-dLPkL06L.mjs → setup-plugin-api-DTtbTKNk.mjs} +1 -1
  37. package/dist/.setup/{setup-surface-D3DLcCxu.mjs → setup-surface-Dn7QgWRE.mjs} +24 -56
  38. package/dist/.setup/{shared-CJ3arAFL.mjs → shared-qau-uDGl.mjs} +30 -56
  39. package/dist/.setup/{slash-dispatch.runtime-HFy_XvyO.mjs → slash-dispatch.runtime--AEzLVBF.mjs} +1 -1
  40. package/dist/.setup/{streaming-compat-B-e0mqM0.mjs → streaming-compat-C5Wut626.mjs} +31 -8
  41. package/dist/.setup/{target-parsing-DEsPjngB.mjs → target-parsing-FFE26kOV.mjs} +1 -7
  42. package/dist/.setup/{targets-Cku2KCvg.mjs → targets-C6LZQL1Q.mjs} +1 -1
  43. package/dist/.setup/{thread-ts-CukseRVL.mjs → thread-ts-Cvt7WD6B.mjs} +0 -1
  44. package/dist/account-inspect-api.js +1 -1
  45. package/dist/api.js +18 -17
  46. package/dist/channel-config-api.js +1 -1
  47. package/dist/channel-plugin-api.js +1 -1
  48. package/dist/directory-contract-api.js +1 -1
  49. package/dist/doctor-contract-api.js +1 -1
  50. package/dist/http-routes-api.js +1 -1
  51. package/dist/index.js +1 -1
  52. package/dist/message-tool-api.js +1 -1
  53. package/dist/runtime-api.js +11 -12
  54. package/dist/secret-contract-api.js +1 -1
  55. package/dist/security-contract-api.js +1 -1
  56. package/dist/setup-entry.js +2 -2
  57. package/dist/setup-plugin-api.js +1 -1
  58. package/node_modules/@slack/bolt/node_modules/@types/node/README.md +1 -1
  59. package/node_modules/@slack/bolt/node_modules/@types/node/child_process.d.ts +1 -1
  60. package/node_modules/@slack/bolt/node_modules/@types/node/crypto.d.ts +20 -8
  61. package/node_modules/@slack/bolt/node_modules/@types/node/ffi.d.ts +14 -0
  62. package/node_modules/@slack/bolt/node_modules/@types/node/http2.d.ts +3 -2
  63. package/node_modules/@slack/bolt/node_modules/@types/node/net.d.ts +16 -4
  64. package/node_modules/@slack/bolt/node_modules/@types/node/package.json +2 -2
  65. package/node_modules/@slack/bolt/node_modules/@types/node/process.d.ts +1 -0
  66. package/node_modules/@slack/bolt/node_modules/@types/node/quic.d.ts +39 -1
  67. package/node_modules/@slack/bolt/node_modules/@types/node/stream/iter.d.ts +9 -12
  68. package/node_modules/@slack/bolt/node_modules/@types/node/test/reporters.d.ts +1 -0
  69. package/node_modules/@slack/bolt/node_modules/@types/node/test.d.ts +72 -0
  70. package/node_modules/@slack/bolt/node_modules/@types/node/tls.d.ts +14 -10
  71. package/node_modules/@slack/bolt/node_modules/@types/node/vm.d.ts +2 -1
  72. package/node_modules/@slack/bolt/node_modules/@types/node/worker_threads.d.ts +4 -1
  73. package/node_modules/@slack/web-api/node_modules/@types/node/README.md +1 -1
  74. package/node_modules/@slack/web-api/node_modules/@types/node/child_process.d.ts +1 -1
  75. package/node_modules/@slack/web-api/node_modules/@types/node/crypto.d.ts +20 -8
  76. package/node_modules/@slack/web-api/node_modules/@types/node/ffi.d.ts +14 -0
  77. package/node_modules/@slack/web-api/node_modules/@types/node/http2.d.ts +3 -2
  78. package/node_modules/@slack/web-api/node_modules/@types/node/net.d.ts +16 -4
  79. package/node_modules/@slack/web-api/node_modules/@types/node/package.json +2 -2
  80. package/node_modules/@slack/web-api/node_modules/@types/node/process.d.ts +1 -0
  81. package/node_modules/@slack/web-api/node_modules/@types/node/quic.d.ts +39 -1
  82. package/node_modules/@slack/web-api/node_modules/@types/node/stream/iter.d.ts +9 -12
  83. package/node_modules/@slack/web-api/node_modules/@types/node/test/reporters.d.ts +1 -0
  84. package/node_modules/@slack/web-api/node_modules/@types/node/test.d.ts +72 -0
  85. package/node_modules/@slack/web-api/node_modules/@types/node/tls.d.ts +14 -10
  86. package/node_modules/@slack/web-api/node_modules/@types/node/vm.d.ts +2 -1
  87. package/node_modules/@slack/web-api/node_modules/@types/node/worker_threads.d.ts +4 -1
  88. package/node_modules/get-east-asian-width/index.js +8 -3
  89. package/node_modules/get-east-asian-width/lookup-data.js +1 -1
  90. package/node_modules/get-east-asian-width/lookup.js +4 -4
  91. package/node_modules/get-east-asian-width/package.json +1 -1
  92. package/node_modules/typebox/build/compile/code.mjs +1 -2
  93. package/node_modules/typebox/build/compile/validator.mjs +5 -1
  94. package/node_modules/typebox/build/format/iri.mjs +16 -9
  95. package/node_modules/typebox/build/guard/emit.mjs +2 -2
  96. package/node_modules/typebox/build/guard/guard.d.mts +7 -5
  97. package/node_modules/typebox/build/guard/guard.mjs +14 -9
  98. package/node_modules/typebox/build/guard/index.mjs +6 -0
  99. package/node_modules/typebox/build/guard/unicode/unicode.d.mts +6 -0
  100. package/node_modules/typebox/build/guard/unicode/unicode.mjs +35 -0
  101. package/node_modules/typebox/build/guard/{string.mjs → unicode/unicode_segment.mjs} +16 -19
  102. package/node_modules/typebox/build/schema/build.mjs +2 -3
  103. package/node_modules/typebox/build/schema/engine/_pathing.d.mts +1 -0
  104. package/node_modules/typebox/build/schema/engine/_pathing.mjs +11 -0
  105. package/node_modules/typebox/build/schema/engine/_refine.mjs +13 -5
  106. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +2 -1
  107. package/node_modules/typebox/build/schema/engine/dependencies.mjs +2 -1
  108. package/node_modules/typebox/build/schema/engine/dependentSchemas.mjs +2 -1
  109. package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +1 -1
  110. package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +2 -2
  111. package/node_modules/typebox/build/schema/engine/format.mjs +9 -2
  112. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +3 -2
  113. package/node_modules/typebox/build/schema/engine/properties.mjs +3 -2
  114. package/node_modules/typebox/build/schema/engine/propertyNames.mjs +2 -1
  115. package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +1 -1
  116. package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +2 -2
  117. package/node_modules/typebox/build/schema/engine/ref.d.mts +1 -1
  118. package/node_modules/typebox/build/schema/engine/ref.mjs +2 -2
  119. package/node_modules/typebox/build/schema/engine/schema.mjs +24 -24
  120. package/node_modules/typebox/build/schema/parse.mjs +3 -0
  121. package/node_modules/typebox/build/schema/pointer/pointer.d.mts +1 -6
  122. package/node_modules/typebox/build/schema/pointer/pointer.mjs +47 -64
  123. package/node_modules/typebox/build/system/settings/internal.d.mts +2 -0
  124. package/node_modules/typebox/build/system/settings/internal.mjs +20 -0
  125. package/node_modules/typebox/build/system/settings/settings.d.mts +11 -0
  126. package/node_modules/typebox/build/system/settings/settings.mjs +14 -0
  127. package/node_modules/typebox/build/type/extends/inference.d.mts +1 -1
  128. package/node_modules/typebox/build/type/extends/inference.mjs +15 -2
  129. package/node_modules/typebox/build/type/extends/tuple.d.mts +2 -1
  130. package/node_modules/typebox/build/type/extends/tuple.mjs +21 -1
  131. package/node_modules/typebox/build/value/parse/parse.mjs +10 -4
  132. package/node_modules/typebox/package.json +1 -1
  133. package/node_modules/typebox/readme.md +3 -1
  134. package/node_modules/undici/README.md +81 -25
  135. package/node_modules/undici/docs/docs/api/Agent.md +249 -42
  136. package/node_modules/undici/docs/docs/api/BalancedPool.md +246 -48
  137. package/node_modules/undici/docs/docs/api/CacheStorage.md +171 -13
  138. package/node_modules/undici/docs/docs/api/CacheStore.md +294 -98
  139. package/node_modules/undici/docs/docs/api/Client.md +407 -162
  140. package/node_modules/undici/docs/docs/api/ClientStats.md +80 -14
  141. package/node_modules/undici/docs/docs/api/Connector.md +118 -35
  142. package/node_modules/undici/docs/docs/api/ContentType.md +65 -25
  143. package/node_modules/undici/docs/docs/api/Cookies.md +122 -71
  144. package/node_modules/undici/docs/docs/api/Debug.md +34 -18
  145. package/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +364 -164
  146. package/node_modules/undici/docs/docs/api/Dispatcher.md +490 -1055
  147. package/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +105 -93
  148. package/node_modules/undici/docs/docs/api/Errors.md +503 -28
  149. package/node_modules/undici/docs/docs/api/EventSource.md +326 -13
  150. package/node_modules/undici/docs/docs/api/Fetch.md +681 -30
  151. package/node_modules/undici/docs/docs/api/GlobalInstallation.md +78 -96
  152. package/node_modules/undici/docs/docs/api/H2CClient.md +298 -176
  153. package/node_modules/undici/docs/docs/api/Interceptors.md +418 -0
  154. package/node_modules/undici/docs/docs/api/MockAgent.md +333 -314
  155. package/node_modules/undici/docs/docs/api/MockCallHistory.md +272 -98
  156. package/node_modules/undici/docs/docs/api/MockCallHistoryLog.md +189 -26
  157. package/node_modules/undici/docs/docs/api/MockClient.md +151 -33
  158. package/node_modules/undici/docs/docs/api/MockErrors.md +56 -5
  159. package/node_modules/undici/docs/docs/api/MockPool.md +321 -258
  160. package/node_modules/undici/docs/docs/api/Pool.md +236 -41
  161. package/node_modules/undici/docs/docs/api/PoolStats.md +119 -13
  162. package/node_modules/undici/docs/docs/api/ProxyAgent.md +179 -160
  163. package/node_modules/undici/docs/docs/api/RedirectHandler.md +238 -55
  164. package/node_modules/undici/docs/docs/api/RetryAgent.md +113 -27
  165. package/node_modules/undici/docs/docs/api/RetryHandler.md +161 -79
  166. package/node_modules/undici/docs/docs/api/RoundRobinPool.md +166 -72
  167. package/node_modules/undici/docs/docs/api/SnapshotAgent.md +262 -517
  168. package/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +177 -196
  169. package/node_modules/undici/docs/docs/api/Util.md +68 -11
  170. package/node_modules/undici/docs/docs/api/WebSocket.md +475 -80
  171. package/node_modules/undici/docs/docs/api/api-lifecycle.md +100 -32
  172. package/node_modules/undici/docs/docs/best-practices/client-certificate.md +2 -0
  173. package/node_modules/undici/docs/docs/best-practices/crawling.md +3 -1
  174. package/node_modules/undici/docs/docs/best-practices/migrating-from-v7-to-v8.md +233 -0
  175. package/node_modules/undici/docs/docs/best-practices/mocking-request.md +9 -7
  176. package/node_modules/undici/docs/docs/best-practices/proxy.md +3 -1
  177. package/node_modules/undici/docs/docs/best-practices/undici-vs-builtin-fetch.md +10 -8
  178. package/node_modules/undici/docs/docs/best-practices/writing-tests.md +2 -0
  179. package/node_modules/undici/docs/docs/getting-started.md +281 -0
  180. package/node_modules/undici/docs/docs/index.md +784 -0
  181. package/node_modules/undici/docs/docs/site.json +125 -0
  182. package/node_modules/undici/docs/docs/type-map.json +79 -0
  183. package/node_modules/undici/index.js +4 -2
  184. package/node_modules/undici/lib/api/api-connect.js +13 -11
  185. package/node_modules/undici/lib/api/api-pipeline.js +26 -13
  186. package/node_modules/undici/lib/api/api-request.js +51 -21
  187. package/node_modules/undici/lib/api/api-stream.js +81 -20
  188. package/node_modules/undici/lib/api/api-upgrade.js +21 -11
  189. package/node_modules/undici/lib/api/readable.js +45 -9
  190. package/node_modules/undici/lib/cache/memory-cache-store.js +3 -3
  191. package/node_modules/undici/lib/cache/sqlite-cache-store.js +3 -1
  192. package/node_modules/undici/lib/core/connect.js +46 -7
  193. package/node_modules/undici/lib/core/constants.js +1 -24
  194. package/node_modules/undici/lib/core/errors.js +22 -2
  195. package/node_modules/undici/lib/core/request.js +100 -18
  196. package/node_modules/undici/lib/core/symbols.js +4 -0
  197. package/node_modules/undici/lib/core/util.js +105 -48
  198. package/node_modules/undici/lib/dispatcher/agent.js +51 -32
  199. package/node_modules/undici/lib/dispatcher/balanced-pool.js +23 -27
  200. package/node_modules/undici/lib/dispatcher/client-h1.js +86 -24
  201. package/node_modules/undici/lib/dispatcher/client-h2.js +1091 -361
  202. package/node_modules/undici/lib/dispatcher/client.js +109 -36
  203. package/node_modules/undici/lib/dispatcher/dispatcher-base.js +19 -6
  204. package/node_modules/undici/lib/dispatcher/dispatcher.js +15 -5
  205. package/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +110 -0
  206. package/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +37 -8
  207. package/node_modules/undici/lib/dispatcher/h2c-client.js +4 -4
  208. package/node_modules/undici/lib/dispatcher/pool-base.js +28 -10
  209. package/node_modules/undici/lib/dispatcher/pool.js +30 -5
  210. package/node_modules/undici/lib/dispatcher/proxy-agent.js +95 -19
  211. package/node_modules/undici/lib/dispatcher/retry-agent.js +3 -0
  212. package/node_modules/undici/lib/dispatcher/round-robin-pool.js +32 -10
  213. package/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +153 -63
  214. package/node_modules/undici/lib/global.js +37 -14
  215. package/node_modules/undici/lib/handler/cache-handler.js +49 -7
  216. package/node_modules/undici/lib/handler/cache-revalidation-handler.js +10 -0
  217. package/node_modules/undici/lib/handler/decorator-handler.js +8 -3
  218. package/node_modules/undici/lib/handler/deduplication-handler.js +12 -6
  219. package/node_modules/undici/lib/handler/redirect-handler.js +66 -66
  220. package/node_modules/undici/lib/handler/retry-handler.js +191 -50
  221. package/node_modules/undici/lib/interceptor/cache.js +75 -25
  222. package/node_modules/undici/lib/interceptor/decompress.js +5 -2
  223. package/node_modules/undici/lib/interceptor/deduplicate.js +5 -4
  224. package/node_modules/undici/lib/interceptor/dns.js +12 -1
  225. package/node_modules/undici/lib/interceptor/redirect.js +3 -3
  226. package/node_modules/undici/lib/llhttp/llhttp-wasm.js +1 -1
  227. package/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +1 -1
  228. package/node_modules/undici/lib/mock/mock-agent.js +21 -9
  229. package/node_modules/undici/lib/mock/mock-call-history.js +1 -1
  230. package/node_modules/undici/lib/mock/mock-interceptor.js +25 -7
  231. package/node_modules/undici/lib/mock/mock-utils.js +281 -47
  232. package/node_modules/undici/lib/mock/snapshot-agent.js +25 -7
  233. package/node_modules/undici/lib/mock/snapshot-recorder.js +38 -3
  234. package/node_modules/undici/lib/util/cache.js +92 -10
  235. package/node_modules/undici/lib/util/runtime-features.js +3 -34
  236. package/node_modules/undici/lib/web/cache/cache.js +6 -8
  237. package/node_modules/undici/lib/web/cookies/parse.js +150 -146
  238. package/node_modules/undici/lib/web/cookies/util.js +1 -1
  239. package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +28 -1
  240. package/node_modules/undici/lib/web/eventsource/eventsource.js +20 -21
  241. package/node_modules/undici/lib/web/eventsource/util.js +32 -1
  242. package/node_modules/undici/lib/web/fetch/body.js +48 -10
  243. package/node_modules/undici/lib/web/fetch/constants.js +1 -1
  244. package/node_modules/undici/lib/web/fetch/formdata.js +21 -2
  245. package/node_modules/undici/lib/web/fetch/index.js +242 -223
  246. package/node_modules/undici/lib/web/fetch/request.js +35 -6
  247. package/node_modules/undici/lib/web/fetch/response.js +1 -3
  248. package/node_modules/undici/lib/web/fetch/util.js +10 -2
  249. package/node_modules/undici/lib/web/webidl/index.js +5 -7
  250. package/node_modules/undici/lib/web/websocket/frame.js +1 -7
  251. package/node_modules/undici/lib/web/websocket/receiver.js +1 -1
  252. package/node_modules/undici/lib/web/websocket/stream/websocketstream.js +10 -10
  253. package/node_modules/undici/lib/web/websocket/websocket.js +25 -3
  254. package/node_modules/undici/package.json +10 -10
  255. package/node_modules/undici/types/agent.d.ts +0 -2
  256. package/node_modules/undici/types/client.d.ts +69 -24
  257. package/node_modules/undici/types/connector.d.ts +1 -0
  258. package/node_modules/undici/types/cookies.d.ts +1 -1
  259. package/node_modules/undici/types/dispatcher.d.ts +8 -30
  260. package/node_modules/undici/types/dispatcher1-wrapper.d.ts +7 -0
  261. package/node_modules/undici/types/errors.d.ts +10 -0
  262. package/node_modules/undici/types/fetch.d.ts +5 -1
  263. package/node_modules/undici/types/formdata.d.ts +0 -6
  264. package/node_modules/undici/types/h2c-client.d.ts +6 -6
  265. package/node_modules/undici/types/handlers.d.ts +2 -0
  266. package/node_modules/undici/types/header.d.ts +5 -0
  267. package/node_modules/undici/types/index.d.ts +3 -1
  268. package/node_modules/undici/types/interceptors.d.ts +1 -1
  269. package/node_modules/undici/types/mock-agent.d.ts +11 -10
  270. package/node_modules/undici/types/mock-interceptor.d.ts +5 -1
  271. package/node_modules/undici/types/pool.d.ts +0 -2
  272. package/node_modules/undici/types/proxy-agent.d.ts +9 -2
  273. package/node_modules/undici/types/round-robin-pool.d.ts +0 -2
  274. package/node_modules/undici/types/snapshot-agent.d.ts +4 -0
  275. package/node_modules/undici/types/socks5-proxy-agent.d.ts +4 -2
  276. package/node_modules/undici/types/webidl.d.ts +0 -1
  277. package/openclaw.plugin.json +31 -3
  278. package/package.json +7 -7
  279. package/dist/.setup/accounts.runtime-DN-PPocC.mjs +0 -2
  280. package/dist/.setup/action-runtime.runtime-C8R8CUan.mjs +0 -2
  281. package/dist/.setup/doctor-contract-CtMUqjvk.mjs +0 -186
  282. package/dist/.setup/monitor-_Sht7Dqy.mjs +0 -13
  283. package/dist/.setup/rolldown-runtime-D7D4PA-g.mjs +0 -13
  284. package/dist/.setup/send.runtime-B4caZU6T.mjs +0 -2
  285. package/dist/.setup/slash-commands.runtime-BpSH0b3q.mjs +0 -2
  286. package/dist/.setup/slash-skill-commands.runtime-Bi1JWZHY.mjs +0 -2
  287. package/node_modules/undici/lib/handler/unwrap-handler.js +0 -106
  288. package/node_modules/undici/lib/handler/wrap-handler.js +0 -105
  289. package/node_modules/undici/lib/llhttp/.gitkeep +0 -0
  290. package/node_modules/undici/lib/util/promise.js +0 -28
  291. /package/node_modules/typebox/build/guard/{string.d.mts → unicode/unicode_segment.d.mts} +0 -0
@@ -1,30 +1,188 @@
1
1
  # CacheStorage
2
2
 
3
- Undici exposes a W3C spec-compliant implementation of [CacheStorage](https://developer.mozilla.org/en-US/docs/Web/API/CacheStorage) and [Cache](https://developer.mozilla.org/en-US/docs/Web/API/Cache).
3
+ <!--introduced_in=v5.22.1-->
4
+ <!--type=module-->
5
+ <!-- source_link=lib/web/cache/cachestorage.js -->
4
6
 
5
- ## Opening a Cache
7
+ > Stability: 2 - Stable
6
8
 
7
- Undici exports a top-level CacheStorage instance. You can open a new Cache, or duplicate a Cache with an existing name, by using `CacheStorage.prototype.open`. If you open a Cache with the same name as an already-existing Cache, its list of cached Responses will be shared between both instances.
9
+ undici provides a spec-compliant implementation of the [W3C Service Worker
10
+ `CacheStorage`][] and [`Cache`][] interfaces. A `CacheStorage` is a named
11
+ collection of [`Cache`][] objects, each of which stores `Request`/`Response`
12
+ pairs.
13
+
14
+ The class itself is not exported; instead, undici exposes a single shared
15
+ `CacheStorage` instance named `caches`. Import it from `'undici'`:
16
+
17
+ ```mjs
18
+ import { caches } from 'undici'
19
+
20
+ const cache = await caches.open('v1')
21
+ ```
22
+
23
+ ```cjs
24
+ const { caches } = require('undici')
25
+
26
+ caches.open('v1').then((cache) => {
27
+ // ...
28
+ })
29
+ ```
30
+
31
+ ## `caches`
32
+
33
+ <!-- YAML
34
+ added: v5.22.1
35
+ -->
36
+
37
+ * Type: {CacheStorage}
38
+
39
+ The shared [`CacheStorage`](#class-cachestorage) instance exported by undici.
40
+ All caches opened through `caches` live for the lifetime of the process.
41
+
42
+ ```mjs
43
+ import { caches } from 'undici'
44
+
45
+ await caches.open('v1')
46
+ console.log(await caches.keys()) // ['v1']
47
+ ```
48
+
49
+ ## Class: `CacheStorage`
50
+
51
+ <!-- YAML
52
+ added: v5.22.1
53
+ -->
54
+
55
+ Represents the storage for [`Cache`][] objects. Each `CacheStorage` keeps a
56
+ mapping of cache names to their backing list of cached responses.
57
+
58
+ The constructor is not public: attempting to instantiate `CacheStorage`
59
+ directly throws a `TypeError`. Use the exported [`caches`](#caches) instance
60
+ instead.
61
+
62
+ ### `caches.match(request[, options])`
63
+
64
+ <!-- YAML
65
+ added: v5.22.1
66
+ -->
67
+
68
+ * `request` {Request|string} The request to match against. A string is treated
69
+ as a URL.
70
+ * `options` {Object} (optional)
71
+ * `ignoreSearch` {boolean} When `true`, ignores the query string of the URL
72
+ when matching. **Default:** `false`.
73
+ * `ignoreMethod` {boolean} When `true`, prevents matching operations from
74
+ validating the `Request` `http` method. **Default:** `false`.
75
+ * `ignoreVary` {boolean} When `true`, ignores the `Vary` header when matching.
76
+ **Default:** `false`.
77
+ * `cacheName` {string} When set, restricts the search to the cache with this
78
+ name. **Default:** `undefined`.
79
+ * Returns: {Promise} Fulfills with the first matching {Response}, or
80
+ `undefined` if no response matched.
81
+
82
+ Searches the caches for a response matching `request`. When `options.cacheName`
83
+ is provided, only that cache is searched; otherwise every cache is searched in
84
+ insertion order and the first match is returned.
85
+
86
+ ```mjs
87
+ import { caches } from 'undici'
88
+
89
+ const response = await caches.match('https://example.com/data', {
90
+ cacheName: 'v1'
91
+ })
92
+ ```
93
+
94
+ ### `caches.has(cacheName)`
95
+
96
+ <!-- YAML
97
+ added: v5.22.1
98
+ -->
99
+
100
+ * `cacheName` {string} The name of the cache to look up.
101
+ * Returns: {Promise} Fulfills with `true` if a cache named `cacheName` exists,
102
+ otherwise `false`.
103
+
104
+ Checks whether a cache with the given name exists in the storage.
105
+
106
+ ```mjs
107
+ import { caches } from 'undici'
108
+
109
+ await caches.open('v1')
110
+ console.log(await caches.has('v1')) // true
111
+ console.log(await caches.has('v2')) // false
112
+ ```
113
+
114
+ ### `caches.open(cacheName)`
115
+
116
+ <!-- YAML
117
+ added: v5.22.1
118
+ -->
119
+
120
+ * `cacheName` {string} The name of the cache to open.
121
+ * Returns: {Promise} Fulfills with the {Cache} named `cacheName`.
122
+
123
+ Opens the cache named `cacheName`, creating it if it does not already exist.
124
+
125
+ Each call returns a new [`Cache`][] object, but caches opened with the same name
126
+ share their underlying list of cached responses. As a result, a response stored
127
+ through one instance is visible through another instance with the same name.
8
128
 
9
129
  ```mjs
10
130
  import { caches } from 'undici'
131
+ import assert from 'node:assert'
11
132
 
12
- const cache_1 = await caches.open('v1')
13
- const cache_2 = await caches.open('v1')
133
+ const cache1 = await caches.open('v1')
134
+ const cache2 = await caches.open('v1')
14
135
 
15
- // Although .open() creates a new instance,
16
- assert(cache_1 !== cache_2)
17
- // The same Response is matched in both.
18
- assert.deepStrictEqual(await cache_1.match('/req'), await cache_2.match('/req'))
136
+ // open() returns distinct objects,
137
+ assert(cache1 !== cache2)
138
+ // but they share the same cached responses.
139
+ assert.deepStrictEqual(await cache1.match('/req'), await cache2.match('/req'))
19
140
  ```
20
141
 
21
- ## Deleting a Cache
142
+ ### `caches.delete(cacheName)`
22
143
 
23
- If a Cache is deleted, the cached Responses/Requests can still be used.
144
+ <!-- YAML
145
+ added: v5.22.1
146
+ -->
147
+
148
+ * `cacheName` {string} The name of the cache to delete.
149
+ * Returns: {Promise} Fulfills with `true` if the cache existed and was deleted,
150
+ otherwise `false`.
151
+
152
+ Removes the cache named `cacheName` from the storage. Any [`Cache`][] objects
153
+ already obtained for that name, along with the `Request`/`Response` pairs they
154
+ returned, remain usable after deletion.
24
155
 
25
156
  ```mjs
26
- const response = await cache_1.match('/req')
157
+ import { caches } from 'undici'
158
+
159
+ const cache = await caches.open('v1')
160
+ const response = await cache.match('/req')
161
+
27
162
  await caches.delete('v1')
28
163
 
29
- await response.text() // the Response's body
164
+ // The already-retrieved response is still usable.
165
+ await response.text()
30
166
  ```
167
+
168
+ ### `caches.keys()`
169
+
170
+ <!-- YAML
171
+ added: v5.22.1
172
+ -->
173
+
174
+ * Returns: {Promise} Fulfills with a {string[]} of cache names in insertion
175
+ order.
176
+
177
+ Returns the names of all caches currently held by the storage.
178
+
179
+ ```mjs
180
+ import { caches } from 'undici'
181
+
182
+ await caches.open('v1')
183
+ await caches.open('v2')
184
+ console.log(await caches.keys()) // ['v1', 'v2']
185
+ ```
186
+
187
+ [W3C Service Worker `CacheStorage`]: https://w3c.github.io/ServiceWorker/#cachestorage-interface
188
+ [`Cache`]: https://w3c.github.io/ServiceWorker/#cache-interface
@@ -1,164 +1,360 @@
1
1
  # Cache Store
2
2
 
3
- A Cache Store is responsible for storing and retrieving cached responses.
4
- It is also responsible for deciding which specific response to use based off of
5
- a response's `Vary` header (if present). It is expected to be compliant with
6
- [RFC-9111](https://www.rfc-editor.org/rfc/rfc9111.html).
3
+ <!--introduced_in=v7.0.0-->
4
+ <!--type=module-->
5
+ <!-- source_link=lib/cache/memory-cache-store.js -->
7
6
 
8
- ## Pre-built Cache Stores
7
+ > Stability: 2 - Stable
9
8
 
10
- ### `MemoryCacheStore`
9
+ A cache store is the storage backend used by the cache interceptor to persist
10
+ and retrieve cached responses. A store decides which stored response to serve
11
+ for a request by comparing the request against the response's `Vary` header, and
12
+ is expected to be compliant with [RFC&nbsp;9111][].
11
13
 
12
- The `MemoryCacheStore` stores the responses in-memory.
14
+ undici ships two stores. `MemoryCacheStore` keeps responses in memory, while
15
+ `SqliteCacheStore` persists them to a SQLite database. Both are available under
16
+ the `cacheStores` export:
13
17
 
14
- **Options**
18
+ ```mjs
19
+ import { cacheStores } from 'undici'
15
20
 
16
- - `maxSize` - The maximum total size in bytes of all stored responses. Default `104857600` (100MB).
17
- - `maxCount` - The maximum amount of responses to store. Default `1024`.
18
- - `maxEntrySize` - The maximum size in bytes that a response's body can be. If a response's body is greater than or equal to this, the response will not be cached. Default `5242880` (5MB).
21
+ const { MemoryCacheStore, SqliteCacheStore } = cacheStores
22
+ ```
23
+
24
+ `SqliteCacheStore` requires the [`node:sqlite`][] API. The class is always
25
+ exported, but constructing one throws if `node:sqlite` is not available in the
26
+ running Node.js version.
19
27
 
20
- ### Getters
28
+ A cache store implements three methods — `get(key)`, `createWriteStream(key,
29
+ value)`, and `delete(key)` — that operate on a [`CacheKey`](#cachekey) and a
30
+ [`CacheValue`](#cachevalue). Any object implementing this contract can be passed
31
+ to the cache interceptor, so custom stores (for example, backed by Redis or a
32
+ remote service) are supported as well.
21
33
 
22
- #### `MemoryCacheStore.size`
34
+ ## Class: `MemoryCacheStore`
23
35
 
24
- Returns the current total size in bytes of all stored responses.
36
+ <!-- YAML
37
+ added: v7.0.0
38
+ -->
25
39
 
26
- ### Methods
40
+ * Extends: {EventEmitter}
27
41
 
28
- #### `MemoryCacheStore.isFull()`
42
+ Stores cached responses in memory. The store enforces upper bounds on the total
43
+ number of responses, the total size of all responses, and the size of any single
44
+ response. When a limit is exceeded, the store evicts approximately half of its
45
+ entries and emits a [`'maxSizeExceeded'`](#event-maxsizeexceeded) event.
29
46
 
30
- Returns a boolean indicating whether the cache has reached its maximum size or count.
47
+ ```mjs
48
+ import { interceptors, cacheStores, Agent, setGlobalDispatcher } from 'undici'
31
49
 
32
- ### Events
50
+ const store = new cacheStores.MemoryCacheStore({ maxSize: 50 * 1024 * 1024 })
51
+
52
+ setGlobalDispatcher(
53
+ new Agent().compose(interceptors.cache({ store }))
54
+ )
55
+ ```
33
56
 
34
- #### `'maxSizeExceeded'`
57
+ ### `new MemoryCacheStore([options])`
35
58
 
36
- Emitted when the cache exceeds its maximum size or count limits. The event payload contains `size`, `maxSize`, `count`, and `maxCount` properties.
59
+ <!-- YAML
60
+ added: v7.0.0
61
+ -->
37
62
 
63
+ * `options` {Object} (optional)
64
+ * `maxCount` {number} The maximum number of responses to store. **Default:**
65
+ `1024`.
66
+ * `maxSize` {number} The maximum total size, in bytes, of all stored
67
+ responses. **Default:** `104857600` (100 MiB).
68
+ * `maxEntrySize` {number} The maximum size, in bytes, of a single response
69
+ body. Responses whose body exceeds this value are not cached. **Default:**
70
+ `5242880` (5 MiB).
71
+ * `errorCallback` {Function} A callback invoked with any error raised by the
72
+ store. (optional)
73
+ * `err` {Error}
38
74
 
39
- ### `SqliteCacheStore`
75
+ Each of `maxCount`, `maxSize`, and `maxEntrySize` must be a non-negative
76
+ integer; a `TypeError` is thrown otherwise.
40
77
 
41
- The `SqliteCacheStore` stores the responses in a SQLite database.
42
- Under the hood, it uses Node.js' [`node:sqlite`](https://nodejs.org/api/sqlite.html) api.
43
- The `SqliteCacheStore` is only exposed if the `node:sqlite` api is present.
78
+ ### `memoryCacheStore.size`
44
79
 
45
- **Options**
80
+ <!-- YAML
81
+ added: v7.0.0
82
+ -->
46
83
 
47
- - `location` - The location of the SQLite database to use. Default `:memory:`.
48
- - `maxCount` - The maximum number of entries to store in the database. Default `Infinity`.
49
- - `maxEntrySize` - The maximum size in bytes that a response's body can be. If a response's body is greater than or equal to this, the response will not be cached. Default `Infinity`.
84
+ * Type: {number}
50
85
 
51
- ## Defining a Custom Cache Store
86
+ The current total size, in bytes, of all stored response bodies.
52
87
 
53
- The store must implement the following functions:
88
+ ### `memoryCacheStore.isFull()`
54
89
 
55
- ### Getter: `isFull`
90
+ <!-- YAML
91
+ added: v7.0.0
92
+ -->
56
93
 
57
- Optional. This tells the cache interceptor if the store is full or not. If this is true,
58
- the cache interceptor will not attempt to cache the response.
94
+ * Returns: {boolean} `true` when the store has reached its `maxSize` or
95
+ `maxCount` limit, `false` otherwise.
59
96
 
60
- ### Function: `get`
97
+ ### `memoryCacheStore.get(key)`
61
98
 
62
- Parameters:
99
+ <!-- YAML
100
+ added: v7.0.0
101
+ -->
63
102
 
64
- * **req** `Dispatcher.RequestOptions` - Incoming request
103
+ * `key` {CacheKey} The request to look up. See [`CacheKey`](#cachekey).
104
+ * Returns: {GetResult|undefined} The matching cached response, or `undefined`
105
+ when there is no fresh entry for `key`. See [`GetResult`](#getresult).
65
106
 
66
- Returns: `GetResult | Promise<GetResult | undefined> | undefined` - If the request is cached, the cached response is returned. If the request's method is anything other than HEAD, the response is also returned.
67
- If the request isn't cached, `undefined` is returned.
107
+ Looks up a cached response for `key`. A stored entry matches only when its
108
+ `method` equals `key.method`, its `deleteAt` time is in the future, and every
109
+ header listed in its `vary` map matches the corresponding header in
110
+ `key.headers`.
68
111
 
69
- The `get` method may return a `Promise` for async cache stores (e.g. Redis-backed or remote stores). The cache interceptor handles both synchronous and asynchronous return values, including in revalidation paths (304 Not Modified handling and stale-while-revalidate background revalidation).
112
+ ### `memoryCacheStore.createWriteStream(key, value)`
70
113
 
71
- Response properties:
114
+ <!-- YAML
115
+ added: v7.0.0
116
+ -->
72
117
 
73
- * **response** `CacheValue` - The cached response data.
74
- * **body** `Readable | Iterable<Buffer> | undefined` - The response's body. This can be an array of `Buffer` chunks (with a `.values()` method) or a `Readable` stream. Both formats are supported in all code paths, including 304 revalidation.
118
+ * `key` {CacheKey} The request the response is being cached for. See
119
+ [`CacheKey`](#cachekey).
120
+ * `value` {CacheValue} The response metadata to store. See
121
+ [`CacheValue`](#cachevalue).
122
+ * Returns: {Writable|undefined} A writable stream that the response body is
123
+ written to, or `undefined` when the response cannot be cached.
75
124
 
76
- ### Function: `createWriteStream`
125
+ Returns a {Writable} stream used to write the response body into the store. When
126
+ the stream finishes, the entry is committed; if its accumulated size exceeds
127
+ `maxEntrySize`, the stream is destroyed and nothing is stored. Writing a new
128
+ entry whose `key` matches an existing one replaces that entry.
77
129
 
78
- Parameters:
130
+ ### `memoryCacheStore.delete(key)`
79
131
 
80
- * **req** `Dispatcher.RequestOptions` - Incoming request
81
- * **value** `CacheValue` - Response to store
132
+ <!-- YAML
133
+ added: v7.0.0
134
+ -->
82
135
 
83
- Returns: `Writable | undefined` - If the store is full, return `undefined`. Otherwise, return a writable so that the cache interceptor can stream the body and trailers to the store.
136
+ * `key` {CacheKey} The request whose cached responses should be removed. See
137
+ [`CacheKey`](#cachekey).
138
+ * Returns: {undefined}
84
139
 
85
- ## `CacheValue`
140
+ Removes every cached response stored for `key.origin` and `key.path`. Throws a
141
+ `TypeError` if `key` is not an object.
86
142
 
87
- This is an interface containing the majority of a response's data (minus the body).
143
+ ### Event: `'maxSizeExceeded'`
88
144
 
89
- ### Property `statusCode`
145
+ <!-- YAML
146
+ added: v7.10.0
147
+ -->
90
148
 
91
- `number` - The response's HTTP status code.
149
+ * `data` {Object}
150
+ * `size` {number} The current total size, in bytes, of all stored responses.
151
+ * `maxSize` {number} The configured `maxSize` limit.
152
+ * `count` {number} The current number of stored responses.
153
+ * `maxCount` {number} The configured `maxCount` limit.
92
154
 
93
- ### Property `statusMessage`
155
+ Emitted when the store exceeds its `maxSize` or `maxCount` limit, immediately
156
+ before entries are evicted. The event fires only once per overflow; it is not
157
+ emitted again until the store drops back below both limits.
94
158
 
95
- `string` - The response's HTTP status message.
159
+ ## Class: `SqliteCacheStore`
96
160
 
97
- ### Property `rawHeaders`
161
+ <!-- YAML
162
+ added: v7.0.0
163
+ -->
98
164
 
99
- `Buffer[]` - The response's headers.
165
+ Stores cached responses in a SQLite database using the [`node:sqlite`][] API.
166
+ The constructor throws when [`node:sqlite`][] is not available.
100
167
 
101
- ### Property `vary`
168
+ ```mjs
169
+ import { interceptors, cacheStores, Agent, setGlobalDispatcher } from 'undici'
102
170
 
103
- `Record<string, string | string[] | null> | undefined` - The headers defined by the response's `Vary` header
104
- and their respective values for later comparison. Values are `null` when the
105
- header specified in `Vary` was not present in the original request. These `null`
106
- values are automatically filtered out during revalidation so they are not sent
107
- as request headers.
171
+ const store = new cacheStores.SqliteCacheStore({ location: './cache.db' })
108
172
 
109
- For example, for a response like
173
+ setGlobalDispatcher(
174
+ new Agent().compose(interceptors.cache({ store }))
175
+ )
110
176
  ```
111
- Vary: content-encoding, accepts
177
+
178
+ ### `new SqliteCacheStore([options])`
179
+
180
+ <!-- YAML
181
+ added: v7.0.0
182
+ -->
183
+
184
+ * `options` {Object} (optional)
185
+ * `location` {string} The location of the SQLite database. Use `':memory:'`
186
+ for an in-memory database. **Default:** `':memory:'`.
187
+ * `maxCount` {number} The maximum number of responses to store. **Default:**
188
+ `Infinity`.
189
+ * `maxEntrySize` {number} The maximum size, in bytes, of a single response
190
+ body. Responses whose body exceeds this value are not cached. Must not
191
+ exceed `2000000000` (2 GB). **Default:** `2000000000` (2 GB).
192
+
193
+ `maxCount` and `maxEntrySize` must be non-negative integers; a `TypeError` is
194
+ thrown otherwise, or if `maxEntrySize` is greater than 2 GB.
195
+
196
+ ### `sqliteCacheStore.close()`
197
+
198
+ <!-- YAML
199
+ added: v7.0.0
200
+ -->
201
+
202
+ * Returns: {undefined}
203
+
204
+ Closes the connection to the underlying SQLite database.
205
+
206
+ ### `sqliteCacheStore.size`
207
+
208
+ <!-- YAML
209
+ added: v7.0.0
210
+ -->
211
+
212
+ * Type: {number}
213
+
214
+ The number of responses currently stored in the database.
215
+
216
+ ### `sqliteCacheStore.get(key)`
217
+
218
+ <!-- YAML
219
+ added: v7.0.0
220
+ -->
221
+
222
+ * `key` {CacheKey} The request to look up. See [`CacheKey`](#cachekey).
223
+ * Returns: {GetResult|undefined} The matching cached response, or `undefined`
224
+ when there is no fresh entry for `key`. The returned `body` is a {Buffer}.
225
+ See [`GetResult`](#getresult).
226
+
227
+ Looks up a cached response for `key`, comparing the request method and every
228
+ header named in the stored `vary` map.
229
+
230
+ ### `sqliteCacheStore.set(key, value)`
231
+
232
+ <!-- YAML
233
+ added: v7.0.0
234
+ -->
235
+
236
+ * `key` {CacheKey} The request the response is being cached for. See
237
+ [`CacheKey`](#cachekey).
238
+ * `value` {CacheValue} The response to store, with its `body` set to a {Buffer},
239
+ an {Array} of {Buffer}, or `null`. See [`CacheValue`](#cachevalue).
240
+ * Returns: {undefined}
241
+
242
+ Writes a response into the database directly, without going through a stream. If
243
+ the body exceeds `maxEntrySize`, nothing is stored. When an entry already exists
244
+ for `key` it is overwritten; otherwise a new row is inserted and old entries are
245
+ pruned to honour `maxCount`. This method is used internally by
246
+ [`sqliteCacheStore.createWriteStream()`](#sqlitecachestorecreatewritestreamkey-value).
247
+
248
+ ### `sqliteCacheStore.createWriteStream(key, value)`
249
+
250
+ <!-- YAML
251
+ added: v7.0.0
252
+ -->
253
+
254
+ * `key` {CacheKey} The request the response is being cached for. See
255
+ [`CacheKey`](#cachekey).
256
+ * `value` {CacheValue} The response metadata to store. See
257
+ [`CacheValue`](#cachevalue).
258
+ * Returns: {Writable|undefined} A writable stream that the response body is
259
+ written to, or `undefined` when the response cannot be cached.
260
+
261
+ Returns a {Writable} stream used to write the response body into the store. When
262
+ the stream finishes, the buffered body is committed via
263
+ [`sqliteCacheStore.set()`](#sqlitecachestoresetkey-value). If the body exceeds
264
+ `maxEntrySize`, the stream is destroyed and nothing is stored.
265
+
266
+ ### `sqliteCacheStore.delete(key)`
267
+
268
+ <!-- YAML
269
+ added: v7.0.0
270
+ -->
271
+
272
+ * `key` {CacheKey} The request whose cached responses should be removed. See
273
+ [`CacheKey`](#cachekey).
274
+ * Returns: {undefined}
275
+
276
+ Removes every cached response stored for the URL derived from `key.origin` and
277
+ `key.path`. Throws a `TypeError` if `key` is not an object.
278
+
279
+ ## Implementing a custom cache store
280
+
281
+ A cache store is any object that implements the `CacheStore` interface:
282
+
283
+ * `get(key)` — Look up a response. Returns a [`GetResult`](#getresult),
284
+ `undefined`, or a {Promise} resolving to either.
285
+ * `createWriteStream(key, value)` — Return a {Writable} to receive the response
286
+ body, or `undefined` if the response cannot be stored.
287
+ * `delete(key)` — Remove all responses for `key`. May return a {Promise}.
288
+
289
+ Returning a {Promise} from `get` or `delete` lets a store be backed by an
290
+ asynchronous resource; the cache interceptor awaits these values, including on
291
+ the revalidation and stale-while-revalidate paths.
292
+
293
+ ### `CacheKey`
294
+
295
+ The request a response is being looked up or stored for.
296
+
297
+ * `origin` {string} The request origin.
298
+ * `method` {string} The request method.
299
+ * `path` {string} The request path.
300
+ * `headers` {Record<string, string|string[]>} The request headers, used to
301
+ satisfy `Vary`. (optional)
302
+
303
+ ### `CacheValue`
304
+
305
+ The metadata of a cached response, excluding its body.
306
+
307
+ * `statusCode` {number} The response's HTTP status code.
308
+ * `statusMessage` {string} The response's HTTP status message.
309
+ * `headers` {Record<string, string|string[]>} The response headers.
310
+ * `vary` {Record<string, string|string[]|null>} The header names listed in the
311
+ response's `Vary` header mapped to the values they had in the original
312
+ request. A value is `null` when that header was absent from the original
313
+ request. (optional)
314
+ * `etag` {string} The response's entity tag. (optional)
315
+ * `cacheControlDirectives` {Object} The parsed `Cache-Control` directives of the
316
+ response. (optional)
317
+ * `cachedAt` {number} The time, in milliseconds, at which the response was
318
+ cached.
319
+ * `staleAt` {number} The time, in milliseconds, at which the response becomes
320
+ stale.
321
+ * `deleteAt` {number} The time, in milliseconds, at which the response must be
322
+ evicted. A store must not return a response once this time has passed.
323
+
324
+ The `vary` map drives response selection. For a response such as:
325
+
326
+ ```http
327
+ Vary: content-encoding, accept
112
328
  content-encoding: utf8
113
- accepts: application/json
329
+ accept: application/json
114
330
  ```
115
331
 
116
- This would be
332
+ the recorded map is:
333
+
117
334
  ```js
118
335
  {
119
336
  'content-encoding': 'utf8',
120
- accepts: 'application/json'
337
+ accept: 'application/json'
121
338
  }
122
339
  ```
123
340
 
124
- If the original request did not include the `accepts` header:
341
+ If the original request did not include the `accept` header, its value is
342
+ recorded as `null`:
343
+
125
344
  ```js
126
345
  {
127
346
  'content-encoding': 'utf8',
128
- accepts: null
347
+ accept: null
129
348
  }
130
349
  ```
131
350
 
132
- ### Property `cachedAt`
133
-
134
- `number` - Time in millis that this value was cached.
135
-
136
- ### Property `staleAt`
137
-
138
- `number` - Time in millis that this value is considered stale.
139
-
140
- ### Property `deleteAt`
141
-
142
- `number` - Time in millis that this value is to be deleted from the cache. This
143
- is either the same sa staleAt or the `max-stale` caching directive.
144
-
145
- The store must not return a response after the time defined in this property.
146
-
147
- ## `CacheStoreReadable`
148
-
149
- This extends Node's [`Readable`](https://nodejs.org/api/stream.html#class-streamreadable)
150
- and defines extra properties relevant to the cache interceptor.
151
-
152
- ### Getter: `value`
153
-
154
- The response's [`CacheStoreValue`](/docs/docs/api/CacheStore.md#cachestorevalue)
155
-
156
- ## `CacheStoreWriteable`
351
+ ### `GetResult`
157
352
 
158
- This extends Node's [`Writable`](https://nodejs.org/api/stream.html#class-streamwritable)
159
- and defines extra properties relevant to the cache interceptor.
353
+ The value returned by `get`. It contains every field of
354
+ [`CacheValue`](#cachevalue) plus the response body.
160
355
 
161
- ### Setter: `rawTrailers`
356
+ * `body` {Readable|Iterable|AsyncIterable|Buffer|string} The cached response
357
+ body. (optional)
162
358
 
163
- If the response has trailers, the cache interceptor will pass them to the cache
164
- interceptor through this method.
359
+ [RFC&nbsp;9111]: https://www.rfc-editor.org/rfc/rfc9111.html
360
+ [`node:sqlite`]: https://nodejs.org/api/sqlite.html