maka-agent 0.2.2-dev.92.20261019 → 0.2.2-dev.98.20261024

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 (364) hide show
  1. package/LICENSE +7 -7
  2. package/README.md +78 -18
  3. package/README.zh-CN.md +73 -15
  4. package/THIRD_PARTY_NOTICES.txt +12 -12
  5. package/dist/pi-goal.js +13 -0
  6. package/dist/pi-tui-runner.js +44 -1
  7. package/dist/run-command-core.js +111 -70
  8. package/dist/run-session-command.js +91 -15
  9. package/dist/run-turn-outcome.js +2 -33
  10. package/dist/runtime-host-session-channel.js +3 -1
  11. package/dist/runtime-host-session-driver.js +5 -0
  12. package/dist/tui-copy-catalog.js +24 -0
  13. package/native/runtime-host-windows-task-launcher/prebuilds/win32-x64/maka-runtime-host-task-launcher.exe +0 -0
  14. package/node_modules/@ai-sdk/provider-utils/node_modules/undici/docs/docs/api/Client.md +2 -0
  15. package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/core/connect.js +10 -4
  16. package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/core/symbols.js +1 -0
  17. package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/dispatcher/agent.js +6 -2
  18. package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/dispatcher/client-h1.js +0 -2
  19. package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/dispatcher/client-h2.js +0 -4
  20. package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/dispatcher/client.js +3 -2
  21. package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/dispatcher/dispatcher-base.js +12 -0
  22. package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/handler/cache-handler.js +48 -0
  23. package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/handler/deduplication-handler.js +57 -13
  24. package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/handler/redirect-handler.js +8 -1
  25. package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/interceptor/decompress.js +15 -5
  26. package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/web/cookies/index.js +3 -1
  27. package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/web/cookies/parse.js +138 -137
  28. package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/web/cookies/util.js +21 -2
  29. package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/web/eventsource/eventsource-stream.js +90 -9
  30. package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/web/eventsource/eventsource.js +4 -1
  31. package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/web/fetch/index.js +3 -3
  32. package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/web/infra/index.js +14 -0
  33. package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +5 -5
  34. package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/web/websocket/receiver.js +13 -0
  35. package/node_modules/@ai-sdk/provider-utils/node_modules/undici/package.json +1 -1
  36. package/node_modules/@maka/acp-executor-plugin/dist/acp-catalog-store.js +87 -0
  37. package/node_modules/@maka/acp-executor-plugin/dist/acp-catalog.js +98 -21
  38. package/node_modules/@maka/acp-executor-plugin/dist/index.js +90 -14
  39. package/node_modules/@maka/acp-executor-plugin/dist/plugin.mjs +3997 -56
  40. package/node_modules/@maka/core/dist/assistant-turn-ids.js +34 -0
  41. package/node_modules/@maka/core/dist/event-wait.js +28 -10
  42. package/node_modules/@maka/core/dist/executor-catalog.js +3 -1
  43. package/node_modules/@maka/core/dist/model-catalog.js +19 -1
  44. package/node_modules/@maka/core/dist/model-metadata.generated.js +4 -14
  45. package/node_modules/@maka/core/dist/model-metadata.js +42 -1
  46. package/node_modules/@maka/core/dist/models-dev-projection.js +32 -1
  47. package/node_modules/@maka/core/dist/provider-registry.js +16 -2
  48. package/node_modules/@maka/core/dist/runtime-event.js +8 -0
  49. package/node_modules/@maka/core/dist/session-checkin.js +31 -0
  50. package/node_modules/@maka/core/dist/usage-stats/types.js +1 -0
  51. package/node_modules/@maka/core/package.json +2 -0
  52. package/node_modules/@maka/eval/node_modules/undici/README.md +25 -3
  53. package/node_modules/@maka/eval/node_modules/undici/docs/docs/api/CacheStore.md +24 -9
  54. package/node_modules/@maka/eval/node_modules/undici/docs/docs/api/Client.md +11 -6
  55. package/node_modules/@maka/eval/node_modules/undici/docs/docs/api/Dispatcher.md +3 -0
  56. package/node_modules/@maka/eval/node_modules/undici/docs/docs/api/Errors.md +76 -1
  57. package/node_modules/@maka/eval/node_modules/undici/docs/docs/api/H2CClient.md +3 -2
  58. package/node_modules/@maka/eval/node_modules/undici/docs/docs/api/Interceptors.md +28 -8
  59. package/node_modules/@maka/eval/node_modules/undici/docs/docs/api/RedirectHandler.md +13 -10
  60. package/node_modules/@maka/eval/node_modules/undici/docs/docs/index.md +12 -12
  61. package/node_modules/@maka/eval/node_modules/undici/docs/docs/type-map.json +66 -66
  62. package/node_modules/@maka/eval/node_modules/undici/lib/cache/memory-cache-store.js +48 -13
  63. package/node_modules/@maka/eval/node_modules/undici/lib/cache/sqlite-cache-store.js +83 -5
  64. package/node_modules/@maka/eval/node_modules/undici/lib/core/connect.js +10 -4
  65. package/node_modules/@maka/eval/node_modules/undici/lib/core/constants.js +12 -1
  66. package/node_modules/@maka/eval/node_modules/undici/lib/core/errors.js +38 -1
  67. package/node_modules/@maka/eval/node_modules/undici/lib/core/request.js +16 -1
  68. package/node_modules/@maka/eval/node_modules/undici/lib/core/symbols.js +2 -0
  69. package/node_modules/@maka/eval/node_modules/undici/lib/core/util.js +26 -1
  70. package/node_modules/@maka/eval/node_modules/undici/lib/dispatcher/agent.js +6 -2
  71. package/node_modules/@maka/eval/node_modules/undici/lib/dispatcher/client-h1.js +116 -80
  72. package/node_modules/@maka/eval/node_modules/undici/lib/dispatcher/client-h2.js +124 -17
  73. package/node_modules/@maka/eval/node_modules/undici/lib/dispatcher/client.js +4 -1
  74. package/node_modules/@maka/eval/node_modules/undici/lib/dispatcher/dispatcher-base.js +3 -2
  75. package/node_modules/@maka/eval/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +20 -3
  76. package/node_modules/@maka/eval/node_modules/undici/lib/dispatcher/parser-h1.js +1064 -0
  77. package/node_modules/@maka/eval/node_modules/undici/lib/dispatcher/pool-base.js +85 -31
  78. package/node_modules/@maka/eval/node_modules/undici/lib/dispatcher/pool.js +11 -8
  79. package/node_modules/@maka/eval/node_modules/undici/lib/dispatcher/proxy-agent.js +18 -8
  80. package/node_modules/@maka/eval/node_modules/undici/lib/dispatcher/retry-agent.js +10 -0
  81. package/node_modules/@maka/eval/node_modules/undici/lib/dispatcher/round-robin-pool.js +15 -5
  82. package/node_modules/@maka/eval/node_modules/undici/lib/handler/cache-handler.js +153 -15
  83. package/node_modules/@maka/eval/node_modules/undici/lib/handler/deduplication-handler.js +112 -51
  84. package/node_modules/@maka/eval/node_modules/undici/lib/handler/redirect-handler.js +28 -8
  85. package/node_modules/@maka/eval/node_modules/undici/lib/handler/retry-handler.js +44 -11
  86. package/node_modules/@maka/eval/node_modules/undici/lib/interceptor/cache.js +11 -3
  87. package/node_modules/@maka/eval/node_modules/undici/lib/interceptor/decompress.js +22 -9
  88. package/node_modules/@maka/eval/node_modules/undici/lib/interceptor/dns.js +11 -0
  89. package/node_modules/@maka/eval/node_modules/undici/lib/interceptor/response-error.js +72 -28
  90. package/node_modules/@maka/eval/node_modules/undici/lib/milo/LICENSE.md +7 -0
  91. package/node_modules/@maka/eval/node_modules/undici/lib/milo/no-simd.js +1002 -0
  92. package/node_modules/@maka/eval/node_modules/undici/lib/milo/simd.js +1002 -0
  93. package/node_modules/@maka/eval/node_modules/undici/lib/mock/mock-agent.js +11 -0
  94. package/node_modules/@maka/eval/node_modules/undici/lib/mock/snapshot-recorder.js +3 -2
  95. package/node_modules/@maka/eval/node_modules/undici/lib/mock/snapshot-utils.js +3 -2
  96. package/node_modules/@maka/eval/node_modules/undici/lib/util/cache.js +11 -5
  97. package/node_modules/@maka/eval/node_modules/undici/lib/web/cookies/util.js +19 -2
  98. package/node_modules/@maka/eval/node_modules/undici/lib/web/eventsource/eventsource-stream.js +69 -15
  99. package/node_modules/@maka/eval/node_modules/undici/lib/web/eventsource/eventsource.js +25 -2
  100. package/node_modules/@maka/eval/node_modules/undici/lib/web/fetch/body.js +47 -38
  101. package/node_modules/@maka/eval/node_modules/undici/lib/web/fetch/formdata-parser.js +12 -4
  102. package/node_modules/@maka/eval/node_modules/undici/lib/web/fetch/headers.js +2 -2
  103. package/node_modules/@maka/eval/node_modules/undici/lib/web/fetch/index.js +8 -4
  104. package/node_modules/@maka/eval/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +5 -5
  105. package/node_modules/@maka/eval/node_modules/undici/lib/web/websocket/receiver.js +25 -4
  106. package/node_modules/@maka/eval/node_modules/undici/package.json +9 -7
  107. package/node_modules/@maka/mcp/package.json +1 -1
  108. package/node_modules/@maka/runtime/dist/ai-sdk-compaction.js +22 -9
  109. package/node_modules/@maka/runtime/dist/ai-sdk-message-projection.js +10 -1
  110. package/node_modules/@maka/runtime/dist/ai-sdk-turn.js +101 -127
  111. package/node_modules/@maka/runtime/dist/event-wait-tool.js +2 -2
  112. package/node_modules/@maka/runtime/dist/history-compact-checkpoint.js +32 -1
  113. package/node_modules/@maka/runtime/dist/history-compaction.js +7 -0
  114. package/node_modules/@maka/runtime/dist/model-factory.js +26 -6
  115. package/node_modules/@maka/runtime/dist/model-fetcher.js +8 -1
  116. package/node_modules/@maka/runtime/dist/model-history.js +16 -3
  117. package/node_modules/@maka/runtime/dist/openai-codex-history-compactor.js +7 -2
  118. package/node_modules/@maka/runtime/dist/plugin-executor-backend.js +49 -2
  119. package/node_modules/@maka/runtime/dist/plugin-executor-service.js +12 -3
  120. package/node_modules/@maka/runtime/dist/runtime-context.js +53 -0
  121. package/node_modules/@maka/runtime/dist/runtime-event-read-model.js +3 -0
  122. package/node_modules/@maka/runtime/dist/session-checkin.js +331 -0
  123. package/node_modules/@maka/runtime/dist/session-event-runtime-mapper.js +7 -0
  124. package/node_modules/@maka/runtime/dist/shell-run-manager.js +34 -0
  125. package/node_modules/@maka/runtime/dist/telemetry/builtin-pricing.js +21 -2
  126. package/node_modules/@maka/runtime/dist/tool-runtime.js +8 -0
  127. package/node_modules/@maka/runtime/dist/workers/filesystem-worker.mjs +50 -1
  128. package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/docs/docs/api/Client.md +2 -0
  129. package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/core/connect.js +10 -4
  130. package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/core/symbols.js +1 -0
  131. package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/dispatcher/agent.js +6 -2
  132. package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/dispatcher/client-h1.js +0 -2
  133. package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/dispatcher/client-h2.js +0 -4
  134. package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/dispatcher/client.js +3 -2
  135. package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/dispatcher/dispatcher-base.js +12 -0
  136. package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/handler/cache-handler.js +48 -0
  137. package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/handler/deduplication-handler.js +57 -13
  138. package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/handler/redirect-handler.js +8 -1
  139. package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/interceptor/decompress.js +15 -5
  140. package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/web/cookies/index.js +3 -1
  141. package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/web/cookies/parse.js +138 -137
  142. package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/web/cookies/util.js +21 -2
  143. package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/web/eventsource/eventsource-stream.js +90 -9
  144. package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/web/eventsource/eventsource.js +4 -1
  145. package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/web/fetch/index.js +3 -3
  146. package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/web/infra/index.js +14 -0
  147. package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +5 -5
  148. package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/web/websocket/receiver.js +13 -0
  149. package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/package.json +1 -1
  150. package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/package.json +1 -1
  151. package/node_modules/@maka/runtime/node_modules/undici/README.md +25 -3
  152. package/node_modules/@maka/runtime/node_modules/undici/docs/docs/api/CacheStore.md +24 -9
  153. package/node_modules/@maka/runtime/node_modules/undici/docs/docs/api/Client.md +11 -6
  154. package/node_modules/@maka/runtime/node_modules/undici/docs/docs/api/Dispatcher.md +3 -0
  155. package/node_modules/@maka/runtime/node_modules/undici/docs/docs/api/Errors.md +76 -1
  156. package/node_modules/@maka/runtime/node_modules/undici/docs/docs/api/H2CClient.md +3 -2
  157. package/node_modules/@maka/runtime/node_modules/undici/docs/docs/api/Interceptors.md +28 -8
  158. package/node_modules/@maka/runtime/node_modules/undici/docs/docs/api/RedirectHandler.md +13 -10
  159. package/node_modules/@maka/runtime/node_modules/undici/docs/docs/index.md +12 -12
  160. package/node_modules/@maka/runtime/node_modules/undici/docs/docs/type-map.json +66 -66
  161. package/node_modules/@maka/runtime/node_modules/undici/lib/cache/memory-cache-store.js +48 -13
  162. package/node_modules/@maka/runtime/node_modules/undici/lib/cache/sqlite-cache-store.js +83 -5
  163. package/node_modules/@maka/runtime/node_modules/undici/lib/core/connect.js +10 -4
  164. package/node_modules/@maka/runtime/node_modules/undici/lib/core/constants.js +12 -1
  165. package/node_modules/@maka/runtime/node_modules/undici/lib/core/errors.js +38 -1
  166. package/node_modules/@maka/runtime/node_modules/undici/lib/core/request.js +16 -1
  167. package/node_modules/@maka/runtime/node_modules/undici/lib/core/symbols.js +2 -0
  168. package/node_modules/@maka/runtime/node_modules/undici/lib/core/util.js +26 -1
  169. package/node_modules/@maka/runtime/node_modules/undici/lib/dispatcher/agent.js +6 -2
  170. package/node_modules/@maka/runtime/node_modules/undici/lib/dispatcher/client-h1.js +116 -80
  171. package/node_modules/@maka/runtime/node_modules/undici/lib/dispatcher/client-h2.js +124 -17
  172. package/node_modules/@maka/runtime/node_modules/undici/lib/dispatcher/client.js +4 -1
  173. package/node_modules/@maka/runtime/node_modules/undici/lib/dispatcher/dispatcher-base.js +3 -2
  174. package/node_modules/@maka/runtime/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +20 -3
  175. package/node_modules/@maka/runtime/node_modules/undici/lib/dispatcher/parser-h1.js +1064 -0
  176. package/node_modules/@maka/runtime/node_modules/undici/lib/dispatcher/pool-base.js +85 -31
  177. package/node_modules/@maka/runtime/node_modules/undici/lib/dispatcher/pool.js +11 -8
  178. package/node_modules/@maka/runtime/node_modules/undici/lib/dispatcher/proxy-agent.js +18 -8
  179. package/node_modules/@maka/runtime/node_modules/undici/lib/dispatcher/retry-agent.js +10 -0
  180. package/node_modules/@maka/runtime/node_modules/undici/lib/dispatcher/round-robin-pool.js +15 -5
  181. package/node_modules/@maka/runtime/node_modules/undici/lib/handler/cache-handler.js +153 -15
  182. package/node_modules/@maka/runtime/node_modules/undici/lib/handler/deduplication-handler.js +112 -51
  183. package/node_modules/@maka/runtime/node_modules/undici/lib/handler/redirect-handler.js +28 -8
  184. package/node_modules/@maka/runtime/node_modules/undici/lib/handler/retry-handler.js +44 -11
  185. package/node_modules/@maka/runtime/node_modules/undici/lib/interceptor/cache.js +11 -3
  186. package/node_modules/@maka/runtime/node_modules/undici/lib/interceptor/decompress.js +22 -9
  187. package/node_modules/@maka/runtime/node_modules/undici/lib/interceptor/dns.js +11 -0
  188. package/node_modules/@maka/runtime/node_modules/undici/lib/interceptor/response-error.js +72 -28
  189. package/node_modules/@maka/runtime/node_modules/undici/lib/milo/LICENSE.md +7 -0
  190. package/node_modules/@maka/runtime/node_modules/undici/lib/milo/no-simd.js +1002 -0
  191. package/node_modules/@maka/runtime/node_modules/undici/lib/milo/simd.js +1002 -0
  192. package/node_modules/@maka/runtime/node_modules/undici/lib/mock/mock-agent.js +11 -0
  193. package/node_modules/@maka/runtime/node_modules/undici/lib/mock/snapshot-recorder.js +3 -2
  194. package/node_modules/@maka/runtime/node_modules/undici/lib/mock/snapshot-utils.js +3 -2
  195. package/node_modules/@maka/runtime/node_modules/undici/lib/util/cache.js +11 -5
  196. package/node_modules/@maka/runtime/node_modules/undici/lib/web/cookies/util.js +19 -2
  197. package/node_modules/@maka/runtime/node_modules/undici/lib/web/eventsource/eventsource-stream.js +69 -15
  198. package/node_modules/@maka/runtime/node_modules/undici/lib/web/eventsource/eventsource.js +25 -2
  199. package/node_modules/@maka/runtime/node_modules/undici/lib/web/fetch/body.js +47 -38
  200. package/node_modules/@maka/runtime/node_modules/undici/lib/web/fetch/formdata-parser.js +12 -4
  201. package/node_modules/@maka/runtime/node_modules/undici/lib/web/fetch/headers.js +2 -2
  202. package/node_modules/@maka/runtime/node_modules/undici/lib/web/fetch/index.js +8 -4
  203. package/node_modules/@maka/runtime/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +5 -5
  204. package/node_modules/@maka/runtime/node_modules/undici/lib/web/websocket/receiver.js +25 -4
  205. package/node_modules/@maka/runtime/node_modules/undici/package.json +9 -7
  206. package/node_modules/@maka/runtime/package.json +2 -0
  207. package/node_modules/@maka/runtime-host/dist/assistant/bot/bridge.js +8 -0
  208. package/node_modules/@maka/runtime-host/dist/assistant/bot/capabilities.js +1 -0
  209. package/node_modules/@maka/runtime-host/dist/assistant/bot/controller.js +64 -13
  210. package/node_modules/@maka/runtime-host/dist/assistant/bot/host.js +11 -2
  211. package/node_modules/@maka/runtime-host/dist/assistant/bot/store.js +71 -2
  212. package/node_modules/@maka/runtime-host/dist/assistant/bot/turn-ids.js +38 -0
  213. package/node_modules/@maka/runtime-host/dist/assistant/index-initiative/assistant.js +7 -0
  214. package/node_modules/@maka/runtime-host/dist/assistant/index-initiative/controller.js +193 -32
  215. package/node_modules/@maka/runtime-host/dist/assistant/index-initiative/discovery-capabilities.js +69 -0
  216. package/node_modules/@maka/runtime-host/dist/assistant/index-initiative/host.js +15 -28
  217. package/node_modules/@maka/runtime-host/dist/assistant/index-initiative/notebook.js +286 -0
  218. package/node_modules/@maka/runtime-host/dist/assistant/index-initiative/prompt.js +31 -6
  219. package/node_modules/@maka/runtime-host/dist/assistant/index-initiative/store.js +18 -1
  220. package/node_modules/@maka/runtime-host/dist/assistant/memory-network/controller.js +1 -1
  221. package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/condition-observer.js +94 -0
  222. package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/condition-store.js +253 -0
  223. package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/condition.js +133 -0
  224. package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/controller.js +27 -14
  225. package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/delegation.js +35 -5
  226. package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/delivery.js +1 -1
  227. package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/host.js +16 -2
  228. package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/matter.js +13 -0
  229. package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/prompt.js +7 -5
  230. package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/review.js +1 -1
  231. package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/settlement-context.js +126 -0
  232. package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/store.js +92 -6
  233. package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/tools.js +87 -23
  234. package/node_modules/@maka/runtime-host/dist/assistant/service.js +49 -5
  235. package/node_modules/@maka/runtime-host/dist/protocol/goal.js +119 -1
  236. package/node_modules/@maka/runtime-host/dist/protocol/index.js +7 -1
  237. package/node_modules/@maka/runtime-host/dist/protocol/operations.js +8 -1
  238. package/node_modules/@maka/runtime-host/dist/protocol/personal-assistant.js +1 -0
  239. package/node_modules/@maka/runtime-host/dist/protocol/plugin-platform.js +7 -1
  240. package/node_modules/@maka/runtime-host/dist/protocol/session-checkin.js +133 -0
  241. package/node_modules/@maka/runtime-host/dist/server/canonical-session-projection.js +3 -2
  242. package/node_modules/@maka/runtime-host/dist/server/event-wait-manager.js +63 -12
  243. package/node_modules/@maka/runtime-host/dist/server/event-wait-observation-store.js +19 -0
  244. package/node_modules/@maka/runtime-host/dist/server/execution-composition.js +123 -11
  245. package/node_modules/@maka/runtime-host/dist/server/execution-model-authority.js +47 -3
  246. package/node_modules/@maka/runtime-host/dist/server/goal-coordinator.js +126 -4
  247. package/node_modules/@maka/runtime-host/dist/server/goal-event-waits.js +58 -19
  248. package/node_modules/@maka/runtime-host/dist/server/goal-projection.js +24 -3
  249. package/node_modules/@maka/runtime-host/dist/server/index.js +2 -0
  250. package/node_modules/@maka/runtime-host/dist/server/interactive-run-composer.js +44 -2
  251. package/node_modules/@maka/runtime-host/dist/server/personal-assistant-workspace.js +78 -0
  252. package/node_modules/@maka/runtime-host/dist/server/session-catalog-coordinator.js +73 -3
  253. package/node_modules/@maka/runtime-host/dist/server/session-checkin.js +257 -0
  254. package/node_modules/@maka/runtime-host/dist/server/session-checkpoint-coordinator.js +282 -0
  255. package/node_modules/@maka/runtime-host/dist/server/session-checkpoint-publication.js +250 -0
  256. package/node_modules/@maka/runtime-host/dist/server/shell-run-event-wait-access.js +166 -0
  257. package/node_modules/@maka/runtime-host/dist/server/shell-run-event-wait-adapter.js +59 -0
  258. package/node_modules/@maka/runtime-host/dist/server/skill-catalog-repository.js +4 -2
  259. package/node_modules/@maka/storage/dist/context-offload-snapshot.js +2 -1
  260. package/node_modules/@maka/storage/dist/execution-stores.js +36 -1
  261. package/node_modules/@maka/storage/dist/local-execution-persistence.js +26 -0
  262. package/node_modules/@maka/storage/dist/production-session-snapshot.js +14 -6
  263. package/node_modules/@maka/storage/dist/runtime-event-persistence.js +1 -0
  264. package/node_modules/@maka/storage/dist/session-bundle-policy.js +86 -16
  265. package/node_modules/@maka/storage/dist/session-checkpoint-publication-store.js +204 -0
  266. package/node_modules/@maka/storage/dist/snapshot-operation-gate.js +65 -0
  267. package/node_modules/@maka/storage/dist/sqlite-context-offload-schema.js +3 -3
  268. package/node_modules/@maka/storage/dist/sqlite-context-offload-store.js +4 -2
  269. package/node_modules/@maka/storage/dist/sqlite-reclamation-checkpoint.js +37 -0
  270. package/node_modules/@maka/storage/dist/sqlite-runtime-store.js +31 -0
  271. package/node_modules/@maka/storage/package.json +3 -0
  272. package/node_modules/@modelcontextprotocol/client/dist/index-B-4n9P0J.d.mts.map +1 -0
  273. package/node_modules/@modelcontextprotocol/client/dist/index-J2FaQ-KY.d.cts.map +1 -0
  274. package/node_modules/@modelcontextprotocol/client/dist/index.cjs +76 -22
  275. package/node_modules/@modelcontextprotocol/client/dist/index.d.cts.map +1 -1
  276. package/node_modules/@modelcontextprotocol/client/dist/index.d.mts.map +1 -1
  277. package/node_modules/@modelcontextprotocol/client/dist/index.mjs +76 -22
  278. package/node_modules/@modelcontextprotocol/client/dist/shimsWorkerd.cjs +1 -1
  279. package/node_modules/@modelcontextprotocol/client/dist/shimsWorkerd.mjs +1 -1
  280. package/node_modules/@modelcontextprotocol/client/dist/{src-oZBjf3U1.cjs → src-DpAS0jfg.cjs} +105 -8
  281. package/node_modules/@modelcontextprotocol/client/dist/{src-xKF0PJN-.mjs → src-WCy6ifGf.mjs} +88 -9
  282. package/node_modules/@modelcontextprotocol/client/dist/stdio.cjs +1 -1
  283. package/node_modules/@modelcontextprotocol/client/dist/stdio.mjs +1 -1
  284. package/node_modules/@modelcontextprotocol/client/node_modules/@modelcontextprotocol/core/package.json +2 -2
  285. package/node_modules/@modelcontextprotocol/client/package.json +5 -5
  286. package/node_modules/fast-uri/.github/workflows/release.yml +35 -0
  287. package/node_modules/fast-uri/README.md +8 -0
  288. package/node_modules/fast-uri/index.js +98 -18
  289. package/node_modules/fast-uri/lib/utils.js +52 -0
  290. package/node_modules/fast-uri/package.json +1 -1
  291. package/node_modules/follow-redirects/index.js +10 -1
  292. package/node_modules/follow-redirects/package.json +1 -1
  293. package/node_modules/ip-address/README.md +104 -104
  294. package/node_modules/ip-address/dist/ipv4.js +7 -0
  295. package/node_modules/ip-address/dist/ipv6.js +7 -4
  296. package/node_modules/ip-address/dist/v6/constants.js +3 -0
  297. package/node_modules/ip-address/package.json +2 -1
  298. package/node_modules/undici/README.md +25 -3
  299. package/node_modules/undici/docs/docs/api/CacheStore.md +24 -9
  300. package/node_modules/undici/docs/docs/api/Client.md +11 -6
  301. package/node_modules/undici/docs/docs/api/Dispatcher.md +3 -0
  302. package/node_modules/undici/docs/docs/api/Errors.md +76 -1
  303. package/node_modules/undici/docs/docs/api/H2CClient.md +3 -2
  304. package/node_modules/undici/docs/docs/api/Interceptors.md +28 -8
  305. package/node_modules/undici/docs/docs/api/RedirectHandler.md +13 -10
  306. package/node_modules/undici/docs/docs/index.md +12 -12
  307. package/node_modules/undici/docs/docs/type-map.json +66 -66
  308. package/node_modules/undici/lib/cache/memory-cache-store.js +48 -13
  309. package/node_modules/undici/lib/cache/sqlite-cache-store.js +83 -5
  310. package/node_modules/undici/lib/core/connect.js +10 -4
  311. package/node_modules/undici/lib/core/constants.js +12 -1
  312. package/node_modules/undici/lib/core/errors.js +38 -1
  313. package/node_modules/undici/lib/core/request.js +16 -1
  314. package/node_modules/undici/lib/core/symbols.js +2 -0
  315. package/node_modules/undici/lib/core/util.js +26 -1
  316. package/node_modules/undici/lib/dispatcher/agent.js +6 -2
  317. package/node_modules/undici/lib/dispatcher/client-h1.js +116 -80
  318. package/node_modules/undici/lib/dispatcher/client-h2.js +124 -17
  319. package/node_modules/undici/lib/dispatcher/client.js +4 -1
  320. package/node_modules/undici/lib/dispatcher/dispatcher-base.js +3 -2
  321. package/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +20 -3
  322. package/node_modules/undici/lib/dispatcher/parser-h1.js +1064 -0
  323. package/node_modules/undici/lib/dispatcher/pool-base.js +85 -31
  324. package/node_modules/undici/lib/dispatcher/pool.js +11 -8
  325. package/node_modules/undici/lib/dispatcher/proxy-agent.js +18 -8
  326. package/node_modules/undici/lib/dispatcher/retry-agent.js +10 -0
  327. package/node_modules/undici/lib/dispatcher/round-robin-pool.js +15 -5
  328. package/node_modules/undici/lib/handler/cache-handler.js +153 -15
  329. package/node_modules/undici/lib/handler/deduplication-handler.js +112 -51
  330. package/node_modules/undici/lib/handler/redirect-handler.js +28 -8
  331. package/node_modules/undici/lib/handler/retry-handler.js +44 -11
  332. package/node_modules/undici/lib/interceptor/cache.js +11 -3
  333. package/node_modules/undici/lib/interceptor/decompress.js +22 -9
  334. package/node_modules/undici/lib/interceptor/dns.js +11 -0
  335. package/node_modules/undici/lib/interceptor/response-error.js +72 -28
  336. package/node_modules/undici/lib/milo/LICENSE.md +7 -0
  337. package/node_modules/undici/lib/milo/no-simd.js +1002 -0
  338. package/node_modules/undici/lib/milo/simd.js +1002 -0
  339. package/node_modules/undici/lib/mock/mock-agent.js +11 -0
  340. package/node_modules/undici/lib/mock/snapshot-recorder.js +3 -2
  341. package/node_modules/undici/lib/mock/snapshot-utils.js +3 -2
  342. package/node_modules/undici/lib/util/cache.js +11 -5
  343. package/node_modules/undici/lib/web/cookies/util.js +19 -2
  344. package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +69 -15
  345. package/node_modules/undici/lib/web/eventsource/eventsource.js +25 -2
  346. package/node_modules/undici/lib/web/fetch/body.js +47 -38
  347. package/node_modules/undici/lib/web/fetch/formdata-parser.js +12 -4
  348. package/node_modules/undici/lib/web/fetch/headers.js +2 -2
  349. package/node_modules/undici/lib/web/fetch/index.js +8 -4
  350. package/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +5 -5
  351. package/node_modules/undici/lib/web/websocket/receiver.js +25 -4
  352. package/node_modules/undici/package.json +9 -7
  353. package/node_modules/zod/package.json +1 -1
  354. package/node_modules/zod/v4/core/compile.cjs +8 -0
  355. package/node_modules/zod/v4/core/compile.js +8 -0
  356. package/node_modules/zod/v4/core/schemas.cjs +30 -0
  357. package/node_modules/zod/v4/core/schemas.js +30 -0
  358. package/node_modules/zod/v4/core/util.cjs +15 -0
  359. package/node_modules/zod/v4/core/util.js +14 -0
  360. package/node_modules/zod/v4/core/versions.cjs +1 -1
  361. package/node_modules/zod/v4/core/versions.js +1 -1
  362. package/package.json +2 -2
  363. package/node_modules/@modelcontextprotocol/client/dist/index-D_CiY-T3.d.cts.map +0 -1
  364. package/node_modules/@modelcontextprotocol/client/dist/index-D_QDtbiv.d.mts.map +0 -1
@@ -0,0 +1,34 @@
1
+ /*
2
+ * Licensed to the Apache Software Foundation (ASF) under one
3
+ * or more contributor license agreements. See the NOTICE file
4
+ * distributed with this work for additional information
5
+ * regarding copyright ownership. The ASF licenses this file
6
+ * to you under the Apache License, Version 2.0 (the
7
+ * "License"); you may not use this file except in compliance
8
+ * with the License. You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing,
13
+ * software distributed under the License is distributed on an
14
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ * KIND, either express or implied. See the License for the
16
+ * specific language governing permissions and limitations
17
+ * under the License.
18
+ */
19
+ /**
20
+ * Classifiers for the assistant conversation's bot-delivered turns.
21
+ *
22
+ * The Runtime Host mints these ids (runtime-host `assistant/bot/turn-ids.ts`)
23
+ * and the UI classifies the turns by them, so both sides share these
24
+ * predicates. Current ids use dashes; transcripts written before the dash form
25
+ * use colons, and both are recognized.
26
+ *
27
+ * Keep this module free of Node-only imports: the UI bundles it.
28
+ */
29
+ export function isAssistantInputTurnId(turnId) {
30
+ return turnId.startsWith('assistant-input-') || turnId.startsWith('assistant-input:');
31
+ }
32
+ export function isAssistantOutputTurnId(turnId) {
33
+ return turnId.startsWith('assistant-output-') || turnId.startsWith('assistant-output:');
34
+ }
@@ -167,6 +167,13 @@ export function eventWaitDeliveryKey(waitId) {
167
167
  }
168
168
  /** Correlation only: decoding does not authenticate Goal ownership or external truth. */
169
169
  export function decodeEventWaitRecord(value) {
170
+ return decodeWaitRecord(value, true);
171
+ }
172
+ /** Owner-free observation record. Ownership is checked by the supplied store and authorizer. */
173
+ export function decodeObservedEventWaitRecord(value) {
174
+ return decodeWaitRecord(value, false);
175
+ }
176
+ function decodeWaitRecord(value, goal) {
170
177
  const root = object(json(value, EVENT_WAIT_LIMITS.recordBytes, 16, 2048), 'record');
171
178
  const lifecycleKeys = root.status === 'waiting'
172
179
  ? []
@@ -181,7 +188,7 @@ export function decodeEventWaitRecord(value) {
181
188
  'schemaVersion',
182
189
  'waitId',
183
190
  'sessionId',
184
- 'goalControlLease',
191
+ ...(goal ? ['goalControlLease'] : []),
185
192
  'sourceTurnId',
186
193
  'sourceToolCallId',
187
194
  'resource',
@@ -197,7 +204,7 @@ export function decodeEventWaitRecord(value) {
197
204
  : ['observation', 'delivery']);
198
205
  if (r.schemaVersion !== EVENT_WAIT_SCHEMA_VERSION)
199
206
  invalid('schemaVersion');
200
- const lease = shape(r.goalControlLease, ['goalId', 'generation']);
207
+ const lease = goal ? shape(r.goalControlLease, ['goalId', 'generation']) : undefined;
201
208
  const resource = shape(r.resource, ['providerId', 'connectionId', 'resourceType', 'resourceId']);
202
209
  const condition = shape(r.condition, ['typeId', 'version', 'parameters']);
203
210
  const parameters = object(json(condition.parameters, EVENT_WAIT_LIMITS.parameterBytes, EVENT_WAIT_LIMITS.parameterDepth, EVENT_WAIT_LIMITS.parameterNodes), 'parameters');
@@ -205,10 +212,14 @@ export function decodeEventWaitRecord(value) {
205
212
  schemaVersion: EVENT_WAIT_SCHEMA_VERSION,
206
213
  waitId: id(r.waitId, 'waitId'),
207
214
  sessionId: id(r.sessionId, 'sessionId'),
208
- goalControlLease: {
209
- goalId: id(lease.goalId, 'goalId'),
210
- generation: integer(lease.generation, 'generation'),
211
- },
215
+ ...(lease
216
+ ? {
217
+ goalControlLease: {
218
+ goalId: id(lease.goalId, 'goalId'),
219
+ generation: integer(lease.generation, 'generation'),
220
+ },
221
+ }
222
+ : {}),
212
223
  sourceTurnId: id(r.sourceTurnId, 'sourceTurnId'),
213
224
  sourceToolCallId: text(r.sourceToolCallId, 'sourceToolCallId', EVENT_WAIT_LIMITS.toolCallIdBytes),
214
225
  resource: {
@@ -380,8 +391,16 @@ export function decodeEventWaitRecord(value) {
380
391
  }
381
392
  }
382
393
  export function assertEventWaitTransition(previous, next) {
383
- const a = decodeEventWaitRecord(previous);
384
- const b = decodeEventWaitRecord(next);
394
+ const a = decodeEventWaitRecord(previous), b = decodeEventWaitRecord(next);
395
+ if (JSON.stringify(a.goalControlLease) !== JSON.stringify(b.goalControlLease))
396
+ invalid('immutable goalControlLease');
397
+ const { goalControlLease: _a, ...before } = a;
398
+ const { goalControlLease: _b, ...after } = b;
399
+ assertObservedEventWaitTransition(before, after);
400
+ }
401
+ export function assertObservedEventWaitTransition(previous, next) {
402
+ const a = decodeObservedEventWaitRecord(previous);
403
+ const b = decodeObservedEventWaitRecord(next);
385
404
  const same = (x, y) => JSON.stringify(x) === JSON.stringify(y);
386
405
  if (same(a, b))
387
406
  return;
@@ -393,14 +412,13 @@ export function assertEventWaitTransition(previous, next) {
393
412
  if (same(rest, prior) && b.updatedAt >= a.updatedAt)
394
413
  return;
395
414
  const { delivery: _acknowledgement, ...observation } = b;
396
- assertEventWaitTransition(a, observation);
415
+ assertObservedEventWaitTransition(a, observation);
397
416
  return;
398
417
  }
399
418
  for (const field of [
400
419
  'schemaVersion',
401
420
  'waitId',
402
421
  'sessionId',
403
- 'goalControlLease',
404
422
  'sourceTurnId',
405
423
  'sourceToolCallId',
406
424
  'resource',
@@ -70,7 +70,8 @@ export function normalizeCatalogEntry(value, id) {
70
70
  !isExecutorConfiguration({ mode: value.currentMode }) ||
71
71
  typeof value.supportsAttachments !== 'boolean' ||
72
72
  typeof value.supportsModelChange !== 'boolean' ||
73
- (value.supportsModeChange !== undefined && typeof value.supportsModeChange !== 'boolean'))
73
+ (value.supportsModeChange !== undefined && typeof value.supportsModeChange !== 'boolean') ||
74
+ (value.refreshFailed !== undefined && typeof value.refreshFailed !== 'boolean'))
74
75
  throw new TypeError('Executor catalog is invalid');
75
76
  const usedModels = new Set();
76
77
  const groupIds = new Set();
@@ -127,6 +128,7 @@ export function normalizeCatalogEntry(value, id) {
127
128
  ...(value.currentMode !== undefined ? { currentMode: value.currentMode } : {}),
128
129
  supportsAttachments: value.supportsAttachments,
129
130
  supportsModelChange: value.supportsModelChange,
131
+ ...(value.refreshFailed !== undefined ? { refreshFailed: value.refreshFailed } : {}),
130
132
  ...(value.supportsModeChange !== undefined
131
133
  ? { supportsModeChange: value.supportsModeChange }
132
134
  : {}),
@@ -19,6 +19,7 @@
19
19
  import { applyModelOverride, defaultThinkingLevelForConnection, resolveModelLimits, } from './model-thinking.js';
20
20
  import { CODEX_SUBSCRIPTION_UNSUPPORTED_CHATGPT_MODELS, PROVIDER_REGISTRY, providerDefaultsOf, providerFallbackModelIds, providerSupportsModelDiscovery, } from './llm-connections.js';
21
21
  import { isRetiredProvider } from './provider-retirement.js';
22
+ import { MINIMAX_TEXT_MODEL_IDS } from './models-dev-projection.js';
22
23
  import { lookupModelMetadata, resolveModelVisionSupport } from './model-metadata.js';
23
24
  import { thinkingVariantsForConnection, } from './model-thinking.js';
24
25
  export function buildModelCatalogEntries(input) {
@@ -30,13 +31,30 @@ export function buildModelCatalogEntries(input) {
30
31
  // shape of a failed or not-yet-run discovery. It must not hide the static
31
32
  // fallback catalog from the picker. An empty fetched array is different: it
32
33
  // is an authoritative provider response and should remain empty.
33
- const rawModels = liveModels !== undefined && (liveModels.length > 0 || modelSource === 'fetched')
34
+ let rawModels = liveModels !== undefined && (liveModels.length > 0 || modelSource === 'fetched')
34
35
  ? liveModels
35
36
  : (input.fallbackModels ?? []).map((id) => ({
36
37
  id,
37
38
  ...displayNameForKnownModel(input.providerType, id),
38
39
  }));
39
40
  const savedModelIds = normalizedIdSet(input.savedModelIds);
41
+ if (input.providerType === 'MiniMax' || input.providerType === 'MiniMax-cn') {
42
+ // Discovery can lag a release. Keep the current direct text pair first,
43
+ // preserving custom/non-text entries and restoring saved legacy IDs below.
44
+ const discovered = new Map(rawModels.map((model) => [model.id, model]));
45
+ rawModels = [
46
+ ...MINIMAX_TEXT_MODEL_IDS.map((id) => ({
47
+ ...discovered.get(id),
48
+ id,
49
+ ...lookupModelMetadata(input.providerType, id),
50
+ })),
51
+ ...rawModels.filter((model) => !MINIMAX_TEXT_MODEL_IDS.some((id) => id === model.id) &&
52
+ (!/^MiniMax-(?:M1|M2|Text)(?:[.-]|$)/i.test(model.id) ||
53
+ model.id === normalizedDefaultModel ||
54
+ savedModelIds.has(model.id) ||
55
+ (model.modalities?.output && !model.modalities.output.includes('text')))),
56
+ ];
57
+ }
40
58
  const ctx = { input, normalizedDefaultModel };
41
59
  const seen = new Set();
42
60
  const entries = rawModels
@@ -597,22 +597,12 @@ export const GENERATED_MODELS_DEV_METADATA = {
597
597
  "kimi-for-coding-highspeed": { "displayName": "Kimi For Coding HighSpeed", "description": "Lower-latency Kimi Code variant for interactive edits and coding-agent loops", "lifecycle": "active", "contextWindow": 262144, "maxOutputTokens": 32768, "knowledgeCutoff": "2025-01", "structuredOutput": true, "lastUpdated": "2026-06-12", "capabilities": { "vision": true, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text", "image", "video"], "output": ["text"] } },
598
598
  },
599
599
  "MiniMax": {
600
- "MiniMax-M2": { "displayName": "MiniMax-M2", "description": "Efficient open MiniMax model built for coding agents and tool-heavy workflows", "lifecycle": "active", "contextWindow": 204800, "maxOutputTokens": 131072, "lastUpdated": "2025-10-27", "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text"], "output": ["text"] } },
601
- "MiniMax-M2.1": { "displayName": "MiniMax-M2.1", "description": "Earlier MiniMax agent model for practical coding and productivity tasks", "lifecycle": "active", "contextWindow": 204800, "maxOutputTokens": 131072, "lastUpdated": "2025-12-23", "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text"], "output": ["text"] } },
602
- "MiniMax-M2.5": { "displayName": "MiniMax-M2.5", "description": "Prior MiniMax coding model for agent workflows, office edits, and automation", "lifecycle": "active", "contextWindow": 204800, "maxOutputTokens": 131072, "lastUpdated": "2026-02-12", "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text"], "output": ["text"] } },
603
- "MiniMax-M2.5-highspeed": { "displayName": "MiniMax-M2.5-highspeed", "description": "High-speed MiniMax model for low-latency coding and agent workflows", "lifecycle": "active", "contextWindow": 204800, "maxOutputTokens": 131072, "lastUpdated": "2026-02-13", "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text"], "output": ["text"] } },
604
- "MiniMax-M2.7": { "displayName": "MiniMax-M2.7", "description": "Open MiniMax flagship for coding agents, office automation, and complex environments", "lifecycle": "active", "contextWindow": 204800, "maxOutputTokens": 131072, "lastUpdated": "2026-03-18", "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text"], "output": ["text"] } },
605
- "MiniMax-M2.7-highspeed": { "displayName": "MiniMax-M2.7-highspeed", "description": "Low-latency M2.7 variant for interactive coding plans and agent loops", "lifecycle": "active", "contextWindow": 204800, "maxOutputTokens": 131072, "lastUpdated": "2026-03-18", "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text"], "output": ["text"] } },
606
- "MiniMax-M3": { "displayName": "MiniMax-M3", "description": "MiniMax multimodal model for long-context coding, perception, and agent planning", "lifecycle": "active", "contextWindow": 1000000, "maxOutputTokens": 512000, "lastUpdated": "2026-06-25", "capabilities": { "vision": true, "reasoning": true, "functionCalling": true }, "thinkingOptions": { "toggle": true }, "modalities": { "input": ["text", "image", "video"], "output": ["text"] } },
600
+ "MiniMax-M3.1-Flash": { "displayName": "MiniMax-M3.1-Flash", "lifecycle": "active", "contextWindow": 1000000, "maxOutputTokens": 524288, "capabilities": { "vision": true, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, "thinkingOptions": { "efforts": ["low", "medium", "high", "xhigh", "max"] } },
601
+ "MiniMax-M3": { "displayName": "MiniMax-M3", "lifecycle": "active", "contextWindow": 1000000, "maxOutputTokens": 524288, "capabilities": { "vision": true, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, "thinkingOptions": { "toggle": true } },
607
602
  },
608
603
  "MiniMax-cn": {
609
- "MiniMax-M2": { "displayName": "MiniMax-M2", "description": "MiniMax model for chat, coding, office work, and agentic tasks", "lifecycle": "active", "contextWindow": 204800, "maxOutputTokens": 131072, "lastUpdated": "2025-10-27", "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text"], "output": ["text"] } },
610
- "MiniMax-M2.1": { "displayName": "MiniMax-M2.1", "description": "MiniMax model for chat, coding, office work, and agentic tasks", "lifecycle": "active", "contextWindow": 204800, "maxOutputTokens": 131072, "lastUpdated": "2025-12-23", "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text"], "output": ["text"] } },
611
- "MiniMax-M2.5": { "displayName": "MiniMax-M2.5", "description": "MiniMax model for chat, coding, office work, and agentic tasks", "lifecycle": "active", "contextWindow": 204800, "maxOutputTokens": 131072, "lastUpdated": "2026-02-12", "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text"], "output": ["text"] } },
612
- "MiniMax-M2.5-highspeed": { "displayName": "MiniMax-M2.5-highspeed", "description": "High-speed MiniMax model for low-latency coding and agent workflows", "lifecycle": "active", "contextWindow": 204800, "maxOutputTokens": 131072, "lastUpdated": "2026-02-13", "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text"], "output": ["text"] } },
613
- "MiniMax-M2.7": { "displayName": "MiniMax-M2.7", "description": "MiniMax model for chat, coding, office work, and agentic tasks", "lifecycle": "active", "contextWindow": 204800, "maxOutputTokens": 131072, "lastUpdated": "2026-03-18", "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text"], "output": ["text"] } },
614
- "MiniMax-M2.7-highspeed": { "displayName": "MiniMax-M2.7-highspeed", "description": "High-speed MiniMax model for low-latency coding and agent workflows", "lifecycle": "active", "contextWindow": 204800, "maxOutputTokens": 131072, "lastUpdated": "2026-03-18", "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text"], "output": ["text"] } },
615
- "MiniMax-M3": { "displayName": "MiniMax-M3", "description": "MiniMax multimodal coding model for long-context reasoning and agent tasks", "lifecycle": "active", "contextWindow": 1000000, "maxOutputTokens": 512000, "lastUpdated": "2026-06-25", "capabilities": { "vision": true, "reasoning": true, "functionCalling": true }, "thinkingOptions": { "toggle": true }, "modalities": { "input": ["text", "image", "video"], "output": ["text"] } },
604
+ "MiniMax-M3.1-Flash": { "displayName": "MiniMax-M3.1-Flash", "lifecycle": "active", "contextWindow": 1000000, "maxOutputTokens": 524288, "capabilities": { "vision": true, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, "thinkingOptions": { "efforts": ["low", "medium", "high", "xhigh", "max"] } },
605
+ "MiniMax-M3": { "displayName": "MiniMax-M3", "lifecycle": "active", "contextWindow": 1000000, "maxOutputTokens": 524288, "capabilities": { "vision": true, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, "thinkingOptions": { "toggle": true } },
616
606
  },
617
607
  "minimax-coding-plan": {
618
608
  "MiniMax-M2": { "displayName": "MiniMax-M2", "description": "MiniMax model for chat, coding, office work, and agentic tasks", "lifecycle": "active", "contextWindow": 204800, "maxOutputTokens": 131072, "lastUpdated": "2025-10-27", "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text"], "output": ["text"] } },
@@ -16,6 +16,7 @@
16
16
  * specific language governing permissions and limitations
17
17
  * under the License.
18
18
  */
19
+ import { withMiniMaxTextCatalog } from './models-dev-projection.js';
19
20
  import { GENERATED_MODELS_DEV_METADATA, GENERATED_MODELS_DEV_MODEL_PROVIDER_OVERRIDES, } from './model-metadata.generated.js';
20
21
  /**
21
22
  * What this build shipped, before any refresh. Read it to compare a refresh
@@ -36,7 +37,7 @@ let refreshedMetadata;
36
37
  export function installRefreshedModelMetadata(metadata) {
37
38
  if (metadata !== undefined)
38
39
  assertWireTokenLimits(metadata);
39
- refreshedMetadata = metadata;
40
+ refreshedMetadata = metadata === undefined ? undefined : withMiniMaxTextCatalog(metadata);
40
41
  }
41
42
  /**
42
43
  * The wire carries a token limit only as a positive integer
@@ -431,6 +432,11 @@ const COMMAND_CODE_MODEL_METADATA = {
431
432
  // 1.51.1–1.51.3 changelog had not been published at extraction time).
432
433
  'MiniMaxAI/MiniMax-M3': { thinkingOptions: { efforts: ['low', 'medium', 'high'] } },
433
434
  };
435
+ const MINIMAX_MODEL_OVERRIDES = {
436
+ 'MiniMax-M3': {
437
+ thinkingOptions: { toggle: true, offBehavior: 'anthropic-thinking-disabled' },
438
+ },
439
+ };
434
440
  // Facts that models.dev cannot express: provider wire controls and
435
441
  // access-path-specific aliases/limits. Standard model facts stay generated.
436
442
  //
@@ -438,6 +444,8 @@ const COMMAND_CODE_MODEL_METADATA = {
438
444
  // derived from a provider's catalog cover models a refresh introduced.
439
445
  function buildStaticModelMetadata(active) {
440
446
  return {
447
+ MiniMax: MINIMAX_MODEL_OVERRIDES,
448
+ 'MiniMax-cn': MINIMAX_MODEL_OVERRIDES,
441
449
  anthropic: ANTHROPIC_MODEL_OVERRIDES,
442
450
  opencode: {
443
451
  'claude-sonnet-4-5': {
@@ -448,6 +456,39 @@ function buildStaticModelMetadata(active) {
448
456
  },
449
457
  },
450
458
  openai: OPENAI_GPT6_MODEL_OVERRIDES,
459
+ // Inception is absent from the models.dev snapshot. Bootstrap chat facts
460
+ // from https://docs.inceptionlabs.ai/get-started/models and
461
+ // https://docs.inceptionlabs.ai/capabilities/reasoning-efforts.
462
+ // `instant` has no Maka thinking level; expose only the shared effort tiers.
463
+ inception: {
464
+ 'mercury-3': {
465
+ displayName: 'Mercury 3',
466
+ contextWindow: 1_000_000,
467
+ maxOutputTokens: 131_072,
468
+ structuredOutput: true,
469
+ modalities: { input: ['text'], output: ['text'] },
470
+ capabilities: { vision: false, reasoning: true, functionCalling: true },
471
+ thinkingOptions: { efforts: ['low', 'medium', 'high'] },
472
+ },
473
+ 'mercury-2.5': {
474
+ displayName: 'Mercury 2.5',
475
+ contextWindow: 260_000,
476
+ maxOutputTokens: 65_536,
477
+ structuredOutput: true,
478
+ modalities: { input: ['text'], output: ['text'] },
479
+ capabilities: { vision: false, reasoning: true, functionCalling: true },
480
+ thinkingOptions: { efforts: ['low', 'medium', 'high'] },
481
+ },
482
+ 'mercury-2': {
483
+ displayName: 'Mercury 2',
484
+ contextWindow: 128_000,
485
+ maxOutputTokens: 50_000,
486
+ structuredOutput: true,
487
+ modalities: { input: ['text'], output: ['text'] },
488
+ capabilities: { vision: false, reasoning: true, functionCalling: true },
489
+ thinkingOptions: { efforts: ['low', 'medium', 'high'] },
490
+ },
491
+ },
451
492
  'claude-subscription': claudeSubscriptionModelMetadata(active),
452
493
  // The Command Code Provider-API plan rides the same effort table.
453
494
  commandcode: COMMAND_CODE_MODEL_METADATA,
@@ -17,6 +17,37 @@
17
17
  * under the License.
18
18
  */
19
19
  export const MODELS_DEV_SOURCE_URL = 'https://models.dev/api.json';
20
+ // Direct API release facts take precedence over the lagging models.dev catalog.
21
+ // https://platform.minimax.io/docs/guides/models-intro.md
22
+ // https://platform.minimax.io/docs/api-reference/text-chat-anthropic.md
23
+ export const MINIMAX_TEXT_MODEL_IDS = ['MiniMax-M3.1-Flash', 'MiniMax-M3'];
24
+ const MINIMAX_TEXT_METADATA = Object.fromEntries(MINIMAX_TEXT_MODEL_IDS.map((id) => [
25
+ id,
26
+ {
27
+ displayName: id,
28
+ lifecycle: 'active',
29
+ contextWindow: 1_000_000,
30
+ maxOutputTokens: 524_288,
31
+ capabilities: { vision: true, reasoning: true, functionCalling: true },
32
+ modalities: { input: ['text', 'image', 'video'], output: ['text'] },
33
+ thinkingOptions: id === 'MiniMax-M3.1-Flash'
34
+ ? { efforts: ['low', 'medium', 'high', 'xhigh', 'max'] }
35
+ : { toggle: true },
36
+ },
37
+ ]));
38
+ /** Preserve non-text catalogs; this policy never touches saved connection models. */
39
+ export function withMiniMaxTextCatalog(metadata) {
40
+ const result = { ...metadata };
41
+ for (const providerType of ['MiniMax', 'MiniMax-cn']) {
42
+ if (!metadata[providerType])
43
+ continue;
44
+ result[providerType] = {
45
+ ...MINIMAX_TEXT_METADATA,
46
+ ...Object.fromEntries(Object.entries(metadata[providerType]).filter(([, model]) => model.modalities?.output && !model.modalities.output.includes('text'))),
47
+ };
48
+ }
49
+ return result;
50
+ }
20
51
  /** Every provider access path Maka serves, and the models.dev provider it reads. */
21
52
  export const MODELS_DEV_PROVIDERS = {
22
53
  anthropic: 'anthropic',
@@ -138,7 +169,7 @@ export function projectModelsDevMetadata(catalog) {
138
169
  .sort(([left], [right]) => left.localeCompare(right))
139
170
  .map(([id, model]) => [id, projectModelsDevModel(sourceId, id, provider, model)]));
140
171
  }
141
- return metadata;
172
+ return withMiniMaxTextCatalog(metadata);
142
173
  }
143
174
  export function projectModelsDevModel(providerId, modelId, provider, model) {
144
175
  if (typeof provider.doc !== 'string' ||
@@ -588,6 +588,20 @@ const providerRegistry = {
588
588
  signupUrl: 'https://platform.openai.com/api-keys',
589
589
  catalogOrder: 10,
590
590
  },
591
+ inception: {
592
+ label: 'Inception',
593
+ baseUrl: 'https://api.inceptionlabs.ai/v1',
594
+ authKind: 'api_key',
595
+ fallbackModels: ['mercury-3', 'mercury-2.5', 'mercury-2'],
596
+ status: 'ready',
597
+ runtimeAdapter: { kind: 'openai-compatible' },
598
+ // The general /models list also includes non-chat Edit and Decide models.
599
+ modelDiscovery: { kind: 'protocol', path: 'chat/completions/models' },
600
+ category: 'overseas',
601
+ catalogGroup: 'api',
602
+ signupUrl: 'https://platform.inceptionlabs.ai',
603
+ catalogOrder: 10.5,
604
+ },
591
605
  google: {
592
606
  label: 'Google Gemini',
593
607
  menuLabel: 'Google',
@@ -671,7 +685,7 @@ const providerRegistry = {
671
685
  label: 'MiniMax',
672
686
  baseUrl: 'https://api.minimax.io/anthropic/v1',
673
687
  authKind: 'api_key',
674
- fallbackModels: ['MiniMax-M3', 'MiniMax-M2.7'],
688
+ fallbackModels: ['MiniMax-M3.1-Flash', 'MiniMax-M3'],
675
689
  status: 'ready',
676
690
  runtimeAdapter: { kind: 'anthropic', auth: 'bearer', normalizeBaseUrl: false },
677
691
  modelDiscovery: { kind: 'protocol' },
@@ -684,7 +698,7 @@ const providerRegistry = {
684
698
  label: 'MiniMax 中国站',
685
699
  baseUrl: 'https://api.minimaxi.com/anthropic/v1',
686
700
  authKind: 'api_key',
687
- fallbackModels: ['MiniMax-M3', 'MiniMax-M2.7'],
701
+ fallbackModels: ['MiniMax-M3.1-Flash', 'MiniMax-M3'],
688
702
  status: 'ready',
689
703
  runtimeAdapter: { kind: 'anthropic', auth: 'bearer', normalizeBaseUrl: false },
690
704
  modelDiscovery: { kind: 'protocol' },
@@ -183,6 +183,7 @@ const TEXT_CONTENT_SHAPE = defineObjectShape()(['kind', 'text'], [
183
183
  'quotes',
184
184
  'inlineReferences',
185
185
  'steering',
186
+ 'runtimeContextName',
186
187
  'providerOptions',
187
188
  ]);
188
189
  const THINKING_CONTENT_SHAPE = defineObjectShape()(['kind', 'text'], ['signature', 'providerOptions']);
@@ -379,11 +380,15 @@ export function decodeRuntimeEvent(value) {
379
380
  content: {
380
381
  kind: 'text',
381
382
  ...normalizeMessageContent(value.content),
383
+ ...(value.content.interrupted === true ? { interrupted: true } : {}),
382
384
  ...(value.content.summary !== undefined ? { summary: value.content.summary } : {}),
383
385
  ...(value.content.origin !== undefined
384
386
  ? { origin: decodeTurnOrigin(value.content.origin) }
385
387
  : {}),
386
388
  ...(value.content.steering === true ? { steering: true } : {}),
389
+ ...(value.content.runtimeContextName !== undefined
390
+ ? { runtimeContextName: value.content.runtimeContextName }
391
+ : {}),
387
392
  },
388
393
  };
389
394
  }
@@ -409,6 +414,9 @@ function isRuntimeEventContent(value) {
409
414
  (value.summary !== undefined && typeof value.summary !== 'string') ||
410
415
  (value.origin !== undefined && !isTurnOrigin(value.origin)) ||
411
416
  (value.steering !== undefined && value.steering !== true) ||
417
+ (value.runtimeContextName !== undefined &&
418
+ (typeof value.runtimeContextName !== 'string' ||
419
+ value.runtimeContextName.length === 0)) ||
412
420
  (value.interrupted !== undefined && value.interrupted !== true) ||
413
421
  (value.providerOptions !== undefined && !isRecord(value.providerOptions))) {
414
422
  return false;
@@ -0,0 +1,31 @@
1
+ /*
2
+ * Licensed to the Apache Software Foundation (ASF) under one
3
+ * or more contributor license agreements. See the NOTICE file
4
+ * distributed with this work for additional information
5
+ * regarding copyright ownership. The ASF licenses this file
6
+ * to you under the Apache License, Version 2.0 (the
7
+ * "License"); you may not use this file except in compliance
8
+ * with the License. You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing,
13
+ * software distributed under the License is distributed on an
14
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ * KIND, either express or implied. See the License for the
16
+ * specific language governing permissions and limitations
17
+ * under the License.
18
+ */
19
+ /** Check-in card vocabulary shared by the Runtime, the Host protocol and clients. */
20
+ export const CHECKIN_MAX_CARDS = 4;
21
+ export const CHECKIN_TITLE_MAX_CHARS = 80;
22
+ export const CHECKIN_QUOTE_MAX_CHARS = 300;
23
+ export const CHECKIN_INSTRUCTION_MAX_CHARS = 2_000;
24
+ export const CHECKIN_CARD_ACTIONS = ['resume', 'continue', 'new_session', 'answer'];
25
+ export const CHECKIN_EVIDENCE_SOURCES = ['signal', 'user_request', 'assistant_message'];
26
+ export function isCheckinCardAction(value) {
27
+ return typeof value === 'string' && CHECKIN_CARD_ACTIONS.includes(value);
28
+ }
29
+ export function isCheckinEvidenceSource(value) {
30
+ return (typeof value === 'string' && CHECKIN_EVIDENCE_SOURCES.includes(value));
31
+ }
@@ -27,6 +27,7 @@ export const MODEL_CALL_KINDS = [
27
27
  'goal_evaluation',
28
28
  'session_title',
29
29
  'session_recap',
30
+ 'session_checkin',
30
31
  'prompt_suggestion',
31
32
  'daily_review',
32
33
  'memory_extraction',
@@ -88,6 +88,7 @@
88
88
  "./agent-graph-client-projection": "./dist/agent-graph-client-projection.js",
89
89
  "./agent-graph-supervisor-wake": "./dist/agent-graph-supervisor-wake.js",
90
90
  "./session-todo": "./dist/session-todo.js",
91
+ "./session-checkin": "./dist/session-checkin.js",
91
92
  "./external-session": "./dist/external-session.js",
92
93
  "./daily-review": "./dist/daily-review.js",
93
94
  "./work-board": "./dist/work-board.js",
@@ -148,6 +149,7 @@
148
149
  "./project": "./dist/project.js",
149
150
  "./pty-output-view": "./dist/pty-output-view.js",
150
151
  "./relative-time": "./dist/relative-time.js",
152
+ "./assistant-turn-ids": "./dist/assistant-turn-ids.js",
151
153
  "./archive-retention": "./dist/archive-retention.js",
152
154
  "./run-composition": "./dist/run-composition.js",
153
155
  "./runtime-event-store": "./dist/runtime-event-store.js",
@@ -86,6 +86,24 @@ Using [benchmark-http2.js](https://github.com/nodejs/undici/blob/main/benchmarks
86
86
 
87
87
  Node.js includes a built-in `fetch()` implementation powered by undici starting from Node.js v18. However, there are important differences between using the built-in fetch and installing undici as a separate module.
88
88
 
89
+ ### WebAssembly requirement
90
+
91
+ Undici's HTTP/1 parser requires WebAssembly. There is no alternative parser when
92
+ WebAssembly is unavailable, for example in Node.js configurations where
93
+ `--jitless` disables it. The existence of `fetch` does not imply that it can make
94
+ HTTP/1 requests in that environment.
95
+
96
+ When the HTTP/1 parser is needed without WebAssembly, Client and dispatcher
97
+ requests fail with an `Error` whose code is `ERR_WEBASSEMBLY_NOT_SUPPORTED`.
98
+ `fetch` rejects with a `TypeError` carrying that error in `error.cause`. Importing
99
+ Undici, accessing `fetch`, and using `Headers`, `FormData`, `Request`, or `Response`
100
+ do not themselves require the HTTP/1 parser.
101
+
102
+ The error is defined locally in Undici and does not depend on Node.js providing
103
+ that error code. For built-in fetch, this behavior depends on the bundled Undici
104
+ version. Node.js receives upstream fixes through its normal vendored Undici
105
+ update, rather than changes to the generated bundle alone.
106
+
89
107
  ### Built-in Fetch (Node.js v18+)
90
108
 
91
109
  Node.js's built-in fetch is powered by a bundled version of undici:
@@ -773,14 +791,18 @@ and `undici.Agent`) which will enable the family autoselection algorithm when es
773
791
 
774
792
  ## Collaborators
775
793
 
776
- * [__Daniele Belardi__](https://github.com/dnlup), <https://www.npmjs.com/~dnlup>
777
- * [__Ethan Arrowood__](https://github.com/ethan-arrowood), <https://www.npmjs.com/~ethan_arrowood>
794
+ * [__Aras Abbasi__](https://github.com/Uzlopak)
795
+ * [__Carlos Fuentes__](https://github.com/metcoder95), <https://www.npmjs.com/~metcoder95>
796
+ * [__Ethan Arrowood__](https://github.com/Ethan-Arrowood), <https://www.npmjs.com/~ethan_arrowood>
778
797
  * [__Matteo Collina__](https://github.com/mcollina), <https://www.npmjs.com/~matteo.collina>
779
798
  * [__Matthew Aitken__](https://github.com/KhafraDev), <https://www.npmjs.com/~khaf>
799
+ * [__Mert Can Altin__](https://github.com/mertcanaltin), <https://www.npmjs.com/~mertcanaltin>
780
800
  * [__Robert Nagy__](https://github.com/ronag), <https://www.npmjs.com/~ronag>
781
- * [__Szymon Marczak__](https://github.com/szmarczak), <https://www.npmjs.com/~szmarczak>
801
+ * [__Trivikram Kamat__](https://github.com/trivikr), <https://www.npmjs.com/~trivikr>
802
+ * [__tsctx__](https://github.com/tsctx)
782
803
 
783
804
  ## Past Collaborators
805
+ * [__Szymon Marczak__](https://github.com/szmarczak), <https://www.npmjs.com/~szmarczak>
784
806
  * [__Tomas Della Vedova__](https://github.com/delvedor), <https://www.npmjs.com/~delvedor>
785
807
 
786
808
  ### Releasers
@@ -42,7 +42,8 @@ added: v7.0.0
42
42
  Stores cached responses in memory. The store enforces upper bounds on the total
43
43
  number of responses, the total size of all responses, and the size of any single
44
44
  response. When a limit is exceeded, the store evicts approximately half of its
45
- entries and emits a [`'maxSizeExceeded'`](#event-maxsizeexceeded) event.
45
+ entries, least recently used first, and emits a
46
+ [`'maxSizeExceeded'`](#event-maxsizeexceeded) event.
46
47
 
47
48
  ```mjs
48
49
  import { interceptors, cacheStores, Agent, setGlobalDispatcher } from 'undici'
@@ -163,7 +164,9 @@ added: v7.0.0
163
164
  -->
164
165
 
165
166
  Stores cached responses in a SQLite database using the [`node:sqlite`][] API.
166
- The constructor throws when [`node:sqlite`][] is not available.
167
+ The constructor throws when [`node:sqlite`][] is not available. Response bodies
168
+ larger than `compressThreshold` are stored compressed with zstd and
169
+ decompressed when read back, saving database space.
167
170
 
168
171
  ```mjs
169
172
  import { interceptors, cacheStores, Agent, setGlobalDispatcher } from 'undici'
@@ -189,9 +192,16 @@ added: v7.0.0
189
192
  * `maxEntrySize` {number} The maximum size, in bytes, of a single response
190
193
  body. Responses whose body exceeds this value are not cached. Must not
191
194
  exceed `2000000000` (2 GB). **Default:** `2000000000` (2 GB).
195
+ * `compressThreshold` {number} The size, in bytes, above which a response
196
+ body is stored compressed with zstd. Responses with an easily compressible
197
+ Content-Type (e.g. json, xml, plain text) are compressed regardless of
198
+ size. Requires a Node version with zstd
199
+ support (22.19+); when unavailable, bodies are stored uncompressed.
200
+ **Default:** `1048576` (1 MiB).
192
201
 
193
- `maxCount` and `maxEntrySize` must be non-negative integers; a `TypeError` is
194
- thrown otherwise, or if `maxEntrySize` is greater than 2 GB.
202
+ `maxCount`, `maxEntrySize`, and `compressThreshold` must be non-negative
203
+ integers; a `TypeError` is thrown otherwise, or if `maxEntrySize` is greater
204
+ than 2 GB.
195
205
 
196
206
  ### `sqliteCacheStore.close()`
197
207
 
@@ -225,7 +235,8 @@ added: v7.0.0
225
235
  See [`GetResult`](#getresult).
226
236
 
227
237
  Looks up a cached response for `key`, comparing the request method and every
228
- header named in the stored `vary` map.
238
+ header named in the stored `vary` map. A body that was stored compressed is
239
+ decompressed before being returned.
229
240
 
230
241
  ### `sqliteCacheStore.set(key, value)`
231
242
 
@@ -240,9 +251,11 @@ added: v7.0.0
240
251
  * Returns: {undefined}
241
252
 
242
253
  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
254
+ the body exceeds `maxEntrySize`, nothing is stored. A body larger than
255
+ `compressThreshold`, or with an easily compressible Content-Type (e.g. json,
256
+ xml, plain text), is compressed with zstd before being written. When an entry
257
+ already exists for `key` it is overwritten; otherwise a new row is inserted and
258
+ old entries are pruned to honour `maxCount`. This method is used internally by
246
259
  [`sqliteCacheStore.createWriteStream()`](#sqlitecachestorecreatewritestreamkey-value).
247
260
 
248
261
  ### `sqliteCacheStore.createWriteStream(key, value)`
@@ -260,7 +273,9 @@ added: v7.0.0
260
273
 
261
274
  Returns a {Writable} stream used to write the response body into the store. When
262
275
  the stream finishes, the buffered body is committed via
263
- [`sqliteCacheStore.set()`](#sqlitecachestoresetkey-value). If the body exceeds
276
+ [`sqliteCacheStore.set()`](#sqlitecachestoresetkey-value), where bodies larger
277
+ than `compressThreshold` or with an easily compressible Content-Type are
278
+ compressed with zstd. If the body exceeds
264
279
  `maxEntrySize`, the stream is destroyed and nothing is stored.
265
280
 
266
281
  ### `sqliteCacheStore.delete(key)`